EPEL CentOS 6
EPEL ist ein Repository, welches „Extra Packages for Enterprise Linux“ darstellt. Es ist eine Interessensgruppe aus dem Fedora-Projekt enstatnden ist.
Bevor externe Repository's auf den Servern/Knoten eingebunden werden, sollte sichergestellt werden, dass keine Pakete aus externen Repositorys, 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 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package yum-plugin-priorities.noarch 0:1.1.30-14.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: yum-plugin-priorities noarch 1.1.30-14.el6 base 22 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 22 k Installed size: 28 k Is this ok [y/N]: y Downloading Packages: yum-plugin-priorities-1.1.30-14.el6.noarch.rpm | 22 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-plugin-priorities-1.1.30-14.el6.noarch 1/1 Verifying : yum-plugin-priorities-1.1.30-14.el6.noarch 1/1 Installed: yum-plugin-priorities.noarch 0:1.1.30-14.el6 Complete!
Der Inhalt des Paketes yum-plugin-priorities
kann mit nachfolgendem Befehl angezeigt werden:
# rpm -qil yum-plugin-priorities Name : yum-plugin-priorities Relocations: (not relocatable) Version : 1.1.30 Vendor: CentOS Release : 14.el6 Build Date: Fri 22 Jun 2012 02:23:05 PM CEST Install Date: Fri 07 Sep 2012 11:28:52 AM CEST Build Host: c6b8.bsys.dev.centos.org Group : System Environment/Base Source RPM: yum-utils-1.1.30-14.el6.src.rpm Size : 28555 License: GPLv2+ Signature : RSA/SHA1, Mon 25 Jun 2012 12:20:22 AM CEST, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem <http://bugs.centos.org> 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.30 /usr/share/doc/yum-plugin-priorities-1.1.30/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 (nur beispielhafter relevanter Ausschnitt):
# 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 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=1 ...
HINWEIS - Den eigenen Rpository's 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/6/x86_64/epel-release-6-7.noarch.rpm --2012-09-07 13:06:13-- http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm Resolving dl.fedoraproject.org... 209.132.181.23, 209.132.181.24, 209.132.181.25, ... Connecting to dl.fedoraproject.org|209.132.181.23|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 14496 (14K) [application/x-rpm] Saving to: “epel-release-6-7.noarch.rpm” 100%[======================================>] 14,496 72.2K/s in 0.2s 2012-09-07 13:06:14 (72.2 KB/s) - “epel-release-6-7.noarch.rpm” saved [14496/14496]
Anschließend sollte zur Prüfung der Echtheit des soeben heruntergeladenen rpm
-Pakets
epel-release-6-7.noarch.rpm
dessen Schlüssel, mit dem das Paket signiert wurde, in die RPM-Paket-Verwaltung importiert werden:
# rpm --import https://fedoraproject.org/static/0608B895.txt
Danach kann das so heruntergeladene Paket, mit nachfolgendem Befehl auf dessen Echtheit, überprüft werden:
# rpm -K epel-release-6-7.noarch.rpm epel-release-6-7.noarch.rpm: rsa sha1 (md5) pgp md5 OK
Abschließend kann dann, mit nachfolgendem Befehl, das Paket installiert werden:
# yum localinstall epel-release-6-7.noarch.rpm Loaded plugins: fastestmirror, priorities Setting up Local Package Process Examining epel-release-6-7.noarch.rpm: epel-release-6-7.noarch Marking epel-release-6-7.noarch.rpm to be installed Loading mirror speeds from cached hostfile base | 3.7 kB 00:00 extras | 3.0 kB 00:00 updates | 3.5 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:6-7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: epel-release noarch 6-7 /epel-release-6-7.noarch 22 k Transaction Summary ================================================================================ Install 1 Package(s) Total size: 22 k Installed size: 22 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : epel-release-6-7.noarch 1/1 Verifying : epel-release-6-7.noarch 1/1 Installed: epel-release.noarch 0:6-7 Complete!
Der Inhalt des Pakets epel-release-6-7.noarch
kann mit nachfolgendem Befehl angezeigt werden:
# rpm -qil epel-release Name : epel-release Relocations: (not relocatable) Version : 6 Vendor: Fedora Project Release : 7 Build Date: Wed 09 May 2012 05:58:17 PM CEST Install Date: Fri 07 Sep 2012 11:41:46 AM CEST Build Host: x86-03.phx2.fedoraproject.org Group : System Environment/Base Source RPM: epel-release-6-7.src.rpm Size : 22169 License: GPLv2 Signature : RSA/8, Thu 10 May 2012 05:00:09 PM CEST, Key ID 3b49df2a0608b895 Packager : Fedora Project URL : http://download.fedora.redhat.com/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 and up2date. /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 /etc/rpm/macros.ghc-srpm /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel.repo /usr/share/doc/epel-release-6 /usr/share/doc/epel-release-6/GPL
HINWEIS - Abschließend sollte hier die Priorität des EPEL-Repositorys, eine niedrigere Priorität, durch Zuweisung einer größeren Zahl, als die der eigenen Rpository's 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 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 priority=10 ...