mailserver.guru CentOS 7
http://repo.mailserver.guru ist ein Repository, welches von dem mir sehr geschätzten Michael Nausch betrieben wird und eine sichere und verlässliche Quelle für rpm
-Pakete darstellt.
Bevor ein externes Repository auf den Servern/Knoten eingebunden werden, sollte sichergestellt werden, dass keine Pakete aus dem externen Repository, die der eigentlichen CentOS-Repositorys überschreiben.
Dies kann durch die Installation des sogenannten
- Priorities-Plugin für den Paket-Manager
yum
erfolgen.
Die Installation des Priorities-Plugin für den Paket-Manager yum
wird durch nachfolgenden Befehl durchgeführt:
# yum install yum-plugin-priorities
Der Inhalt des Paketes yum-plugin-priorities
kann mit nachfolgendem Befehl angezeigt werden:
# rpm -qil yum-plugin-priorities Name : yum-plugin-priorities Version : 1.1.31 Release : 25.el7_0 Architecture: noarch Install Date: Fri 21 Nov 2014 07:14:20 AM CET Group : System Environment/Base Size : 29127 License : GPLv2+ Signature : RSA/SHA256, Tue 12 Aug 2014 09:05:21 PM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : yum-utils-1.1.31-25.el7_0.src.rpm Build Date : Tue 12 Aug 2014 08:39:15 PM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://yum.baseurl.org/download/yum-utils/ Summary : plugin to give priorities to packages from different repos Description : This plugin allows repositories to have different priorities. Packages in a repository with a lower priority can't be overridden by packages from a repository with a higher priority even if repo has a later version. /etc/yum/pluginconf.d/priorities.conf /usr/lib/yum-plugins/priorities.py /usr/lib/yum-plugins/priorities.pyc /usr/lib/yum-plugins/priorities.pyo /usr/share/doc/yum-plugin-priorities-1.1.31 /usr/share/doc/yum-plugin-priorities-1.1.31/COPYING
Entscheidend ist nun, im Verzeichnis
/etc/yum.repos.d/
den dort enthaltenen Repository Konfigurationsdateien, durch Ergänzung nachfolgender Zeile, eine Priorität zuzuweisen (nur relevanter Ausschnitt):
... priority=1 ...
Was im Beispiel der Konfigurationsdatei
/etc/yum.repos.d/Centos-Base-repo
dann wie folgt aussehen könnte:
# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 priority=1 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 priority=1 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 priority=1 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 priority=1
HINWEIS - Den eigenen Rpositories aus CentOS sollte eine höhere Priorität, durch Zuweisung einer kleineren Zahl gegeben werden!
Um http://repo.mailserver.guru auf den Servern/Knoten Nutzen zu können, muss nachfolgende Datei heruntergeladen werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# wget http://repo.mailserver.guru/7/os/x86_64/Packages/mailserver.guru-7-2.noarch.rpm --2015-05-08 13:29:14-- http://repo.mailserver.guru/7/os/x86_64/Packages/mailserver.guru-7-2.noarch.rpm Resolving repo.mailserver.guru (repo.mailserver.guru)... 217.91.103.190 Connecting to repo.mailserver.guru (repo.mailserver.guru)|217.91.103.190|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5712 (5.6K) [application/x-rpm] Saving to: ‘mailserver.guru-7-2.noarch.rpm’ 100%[======================================>] 5,712 --.-K/s in 0.003s 2015-05-08 13:29:14 (1.65 MB/s) - ‘mailserver.guru-7-2.noarch.rpm’ saved [5712/5712]
Anschließend sollte zur Prüfung der Echtheit des soeben heruntergeladenen rpm
-Pakets
mailserver.guru-7-2.noarch.rpm
dessen Schlüssel, mit dem das Paket signiert wurde, in die RPM-Paket-Verwaltung importiert werden:
# rpm --import http://repo.mailserver.guru/7/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7
Danach kann das so heruntergeladene Paket, mit nachfolgendem Befehl auf dessen Echtheit, überprüft werden:
# rpm -K mailserver.guru-7-2.noarch.rpm mailserver.guru-7-2.noarch.rpm: rsa sha1 (md5) pgp md5 OK
Abschließend kann dann, mit nachfolgendem Befehl, das Paket installiert werden:
# yum localinstall mailserver.guru-7-2.noarch.rpm Loaded plugins: changelog, priorities Examining mailserver.guru-7-2.noarch.rpm: mailserver.guru-7-2.noarch Marking mailserver.guru-7-2.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mailserver.guru.noarch 0:7-2 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mailserver.guru noarch 7-2 /mailserver.guru-7-2.noarch 2.1 k Transaction Summary ================================================================================ Install 1 Package Total size: 2.1 k Installed size: 2.1 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mailserver.guru-7-2.noarch 1/1 Verifying : mailserver.guru-7-2.noarch 1/1 Installed: mailserver.guru.noarch 0:7-2 Complete!
Der Inhalt des Pakets mailserver.guru-7-2.noarch
kann mit nachfolgendem Befehl angezeigt werden:
# rpm -qil mailserver.guru-7-2.noarch Name : mailserver.guru Version : 7 Release : 2 Architecture: noarch Install Date: Fri 08 May 2015 01:30:25 PM CEST Group : System Environment/Base Size : 2177 License : GPLv2 Signature : RSA/SHA1, Fri 20 Feb 2015 10:15:07 AM CET, Key ID 60ecfb9e8195aea0 Source RPM : mailserver.guru-7-2.src.rpm Build Date : Fri 20 Feb 2015 10:14:55 AM CET Build Host : vml000200.dmz.nausch.org Relocations : (not relocatable) Packager : Django <django@mailserver.guru> Vendor : django, http://dokuwiki.nausch.org/ URL : http://repository.nausch.org/public/mailserver.guru/ Summary : Extra (Mailserver-)Packages for CentOS 7 repository configuration Description : This package contains the Extra (Mailserver-)Packages for CentOS 7 repository GPG key as well as configuration for yum and up2date. /etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7 /etc/yum.repos.d/mailserver.guru.repo
HINWEIS - Abschließend sollte hier die Priorität des http://repo.mailserver.guru-Repositories, eine niedrigere Priorität, durch Zuweisung einer größeren Zahl, als die der eigenen Rpositories aus CentOS gegeben werden!
Was im Beispiel der Konfigurationsdatei
/etc/yum.repos.d/mailserver.guru.repo
dann wie folgt aussehen könnte (nur beispielhafter relevanter Ausschnitt):
[mailserver.guru-os] name=Extra (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/os/$basearch priority=50 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7 [mailserver.guru-testing] name=Testing (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/testing/$basearch/ priority=50 enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7