EPEL CentOS 7
EPEL ist ein Repository, welches „Extra Packages for Enterprise Linux“ darstellt. Es ist eine Interessensgruppe aus dem Fedora-Projekt entstanden ist.
Bevor externe Repositories auf den Servern/Knoten eingebunden werden, sollte sichergestellt werden, dass keine Pakete aus externen Repositories, 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 EPEL auf den Servern/Knoten Nutzen zu können, muss nachfolgende Datei heruntergeladen werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm --2014-11-30 08:15:59-- http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm Resolving dl.fedoraproject.org... 209.132.181.24, 209.132.181.25, 209.132.181.26, ... Connecting to dl.fedoraproject.org|209.132.181.24|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13104 (13K) [application/x-rpm] Saving to: 'epel-release-7-10.noarch.rpm' 100%[======================================>] 13,104 64.1K/s in 0.2s 2014-11-30 08:16:00 (64.1 KB/s) - 'epel-release-7-2.noarch.rpm'
Anschließend sollte zur Prüfung der Echtheit des soeben heruntergeladenen rpm
-Pakets
epel-release-7-10.noarch.rpm
dessen Schlüssel, mit dem das Paket signiert wurde, in die RPM-Paket-Verwaltung importiert werden:
# rpm --import https://fedoraproject.org/static/352C64E5.txt
Danach kann das so heruntergeladene Paket, mit nachfolgendem Befehl auf dessen Echtheit, überprüft werden:
# rpm -K epel-release-7-10.noarch.rpm epel-release-7-10.noarch.rpm: rsa sha1 (md5) pgp md5 OK
Abschließend kann dann, mit nachfolgendem Befehl, das Paket installiert werden:
# yum localinstall epel-release-7-10.noarch.rpm
Der Inhalt des Pakets epel-release-7-10.noarch
kann mit nachfolgendem Befehl angezeigt werden:
# rpm -qil epel-release Name : epel-release Version : 7 Release : 10 Architecture: noarch Install Date: Fri 21 Nov 2014 07:15:23 AM CET Group : System Environment/Base Size : 22060 License : GPLv2 Signature : RSA/SHA256, Tue 02 Sep 2014 10:01:07 PM CEST, Key ID 6a2faea2352c64e5 Source RPM : epel-release-7-10.src.rpm Build Date : Tue 02 Sep 2014 06:16:28 PM CEST Build Host : buildhw-04.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://download.fedoraproject.org/pub/epel Summary : Extra Packages for Enterprise Linux repository configuration Description : This package contains the Extra Packages for Enterprise Linux (EPEL) repository GPG key as well as configuration for yum. /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel.repo /usr/share/doc/epel-release-7 /usr/share/doc/epel-release-7/GPL
HINWEIS - Abschließend sollte hier die Priorität des EPEL-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/epel.repo
dann wie folgt aussehen könnte (nur beispielhafter relevanter Ausschnitt):
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 priority=10 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 priority=10 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 priority=10
Wichtig ist hier, im Verzeichnis
/etc/yum.repos.d/
den dort enthaltenen Repository Konfigurationsdateien
epel.repo
epel-testing.repo
durch Ergänzung nachfolgender Zeile, eine Priorität höher als die für die Standard-Repositories zuzuweisen
(nur relevanter Ausschnitt):
... priority=10 ...