Inhaltsverzeichnis
Repository einbinden CentOS 6
Um in yum
(Yellow Dog Updater)) unter CentOS in der Version 6.x für 64-bit Betriebssysteme ein zusätzliches Repository einzubinden sind folgende Tätigkeiten notwendig.
Es soll hier ein Repository eines Drittanbieters, hier z.B. dies von RPMforge eingebunden werden!
RPMforge ist eine Zusammenfassung der Dag, Dries und weiterer Programmbibliotheken/-quellen. Es enthält z.Zt. über 1800 Pakete.
Das RPMforge-Repository ist weder offizieller Bestandteil der RedHat-Distribution noch der CentOS-Distribution.
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Release Paket herunterladen
Als ersten Schritt ist es notwendig ein sogenanntes Release-Paket herunterzuladen und zu installieren. Das Release-Paket welches alle Informationen zum einbinden des einsprechenden Repositorys enthält, kann unter folgendem Link heruntergeladen werden:
Dies kann z.B. mit nachfolgenden Befehlen durchgeführt werden:
Zuerst wird in das Verzeichnis /tmp
gewechselt:
# cd /tmp
und anschließend erfolgt der tatsächliche download
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm --2011-10-04 09:22:42-- http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Resolving pkgs.repoforge.org... 78.46.17.228 Connecting to pkgs.repoforge.org|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://rpmforge.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm [following] --2011-10-04 09:22:42-- http://rpmforge.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Resolving rpmforge.sw.be... 78.46.17.228 Connecting to rpmforge.sw.be|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://tree.repoforge.org/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm [following] --2011-10-04 09:22:42-- http://tree.repoforge.org/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Resolving tree.repoforge.org... 78.46.17.228 Connecting to tree.repoforge.org|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm [following] --2011-10-04 09:22:42-- http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Resolving apt.sw.be... 193.1.193.67 Connecting to apt.sw.be|193.1.193.67|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 12700 (12K) [application/x-redhat-package-manager] Saving to: “rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm” 100%[======================================>] 12,700 --.-K/s in 0.1s 2011-10-04 09:22:42 (95.0 KB/s) - “rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm” saved [12700/12700]
Zusätzlich ist es ebenfalls sehr zu empfehlen den GPG-Schlüssel für RPMforge - Dag Wieers herunterzuladen, was an dieser Stelle mit folgenden Befehlen realisiert werden sollte.
Zuerst wird in das Verzeichnis /tmp
gewechselt:
# cd /tmp
und anschließend der GPG-Schlüssel für RPMforge heruntergeladen und installiert:
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Es erscheint KEINE Meldung über einen erfolgreichen Import des GPG-Schlüssels !
Release Paket Integrität prüfen
Nachdem der GPG-Schlüssel erfolgreich heruntergeladen und importiert wurde, kann die Integrität des RPM-Paketes rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
mit folgendem Befehl überprüft werden:
# rpm -K rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
WICHTIG - Es sollte eine Ausgabe wie folgende, mit einem OK am Ende der zweiten Zeile erfolgen!
Release Paket installieren
Unter CentOS besteht die Möglichkeit eine Installation über folgende Befehle durchzuführen, ausgehend davon das sich die RPM-Pakete im Verzeichnis /tmp
befinden:
# yum localinstall --nogpgcheck /tmp/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Loaded plugins: fastestmirror Setting up Local Package Process Examining /tmp/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm: rpmforge-release-0.5.2-2.el6.rf.x86_64 Marking /tmp/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm to be installed Loading mirror speeds from cached hostfile * base: centos.kiewel-online.ch * extras: centos.kiewel-online.ch * updates: centos.kiewel-online.ch base | 3.7 kB 00:00 extras | 3.0 kB 00:00 updates | 3.5 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package rpmforge-release.x86_64 0:0.5.2-2.el6.rf set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: rpmforge-release x86_64 0.5.2-2.el6.rf /rpmforge-release-0.5.2-2.el6.rf.x86_64 13 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total size: 13 k Installed size: 13 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : rpmforge-release-0.5.2-2.el6.rf.x86_64 1/1 Installed: rpmforge-release.x86_64 0:0.5.2-2.el6.rf Complete!
Nach erfolgreich Installation, kann der Inhalt der des soeben installierten RPM-Paketes rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
mit folgendem Befehl überprüft werden:
# rpm -qil rpmforge-release Name : rpmforge-release Relocations: (not relocatable) Version : 0.5.2 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 2.el6.rf Build Date: Sat 13 Nov 2010 04:55:41 AM CET Install Date: Tue 04 Oct 2011 09:26:43 AM CEST Build Host: lisse.hasselt.wieers.com Group : System Environment/Base Source RPM: rpmforge-release-0.5.2-2.el6.rf.src.rpm Size : 13474 License: GPL Signature : DSA/SHA1, Sat 13 Nov 2010 05:12:32 AM CET, Key ID a20e52146b8d79e6 Packager : Dag Wieers <dag@wieers.com> URL : http://rpmforge.net/ Summary : RPMforge release file and RPM repository configuration Description : RPMforge.net release file. This package contains apt, yum and smart configuration for the RPMforge RPM Repository, as well as the public GPG keys used to sign them. /etc/apt /etc/apt/sources.list.d /etc/apt/sources.list.d/rpmforge-extras.list /etc/apt/sources.list.d/rpmforge-testing.list /etc/apt/sources.list.d/rpmforge.list /etc/pki/rpm-gpg /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-fabian /etc/smart /etc/smart/channels /etc/smart/channels/rpmforge.channel /etc/sysconfig/rhn /etc/sysconfig/rhn/sources.rpmforge.txt /etc/yum.repos.d /etc/yum.repos.d/mirrors-rpmforge /etc/yum.repos.d/mirrors-rpmforge-extras /etc/yum.repos.d/mirrors-rpmforge-testing /etc/yum.repos.d/rpmforge.repo /usr/share/doc/rpmforge-release-0.5.2 /usr/share/doc/rpmforge-release-0.5.2/RPM-GPG-KEY-rpmforge-dag /usr/share/doc/rpmforge-release-0.5.2/RPM-GPG-KEY-rpmforge-fabian /usr/share/doc/rpmforge-release-0.5.2/mirrors-rpmforge.yum /usr/share/doc/rpmforge-release-0.5.2/rpmforge.apt /usr/share/doc/rpmforge-release-0.5.2/rpmforge.smart /usr/share/doc/rpmforge-release-0.5.2/rpmforge.up2date /usr/share/doc/rpmforge-release-0.5.2/rpmforge.yum
YUM-Priorities
Unter dem Plugin für yum
(Yellow Dog Updater) verbirgt sich die Möglichkeit Prioritäten innerhalb der yum
-Paket-Bibliotheken zu vergeben. Das Ziel ist es zu verhindern, dasd yum
-Paket-Bibliotheken mit höherer Prioritätenkennung, yum
-Paket-Bibliotheken mit niedrigerer Prioritätenkennung überschrieben, falls RPM-Pakete in mehreren yum
-Paket-Bibliotheken existieren sollten!
Eine yum
-Paket-Bibliotheken mit der Priorität 1 ist einer yum
-Paket-Bibliotheken mit der Priorität 10 also vorzuziehen, falls RPM-Pakete in mehreren yum
-Paket-Bibliotheken existieren sollten!
YUM-Priorities installieren
Da das Plugin für den yum
-Paketmanager in der yum
-Paket-Bibliotheken base
, welche standardmäßig bei CentOS installiert ist, enthalten ist, ist eine Installation mit folgendem Befehl möglich:
# yum install yum-plugin-priorities.noarch Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.kiewel-online.ch * extras: centos.kiewel-online.ch * rpmforge: fr2.rpmfind.net * updates: centos.kiewel-online.ch Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package yum-plugin-priorities.noarch 0:1.1.26-11.el6 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: yum-plugin-priorities noarch 1.1.26-11.el6 base 12 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total download size: 12 k Installed size: 9.9 k Is this ok [y/N]: y Downloading Packages: yum-plugin-priorities-1.1.26-11.el6.noarch.rpm | 12 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-plugin-priorities-1.1.26-11.el6.noarch 1/1 Installed: yum-plugin-priorities.noarch 0:1.1.26-11.el6 Complete!
Nach erfolgreich Installation, kann der Inhalt der des soeben installieren RPM-Paketes yum-priorities
mit folgendem Befehl überprüft werden:
# rpm -qil yum-plugin-priorities Name : yum-plugin-priorities Relocations: (not relocatable) Version : 1.1.26 Vendor: CentOS Release : 11.el6 Build Date: Fri 12 Nov 2010 01:37:43 AM CET Install Date: Tue 04 Oct 2011 09:35:00 AM CEST Build Host: c6b6.bsys.dev.centos.org Group : System Environment/Base Source RPM: yum-utils-1.1.26-11.el6.src.rpm Size : 10169 License: GPLv2+ Signature : RSA/8, Sun 03 Jul 2011 06:55:37 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
YUM-Priorities konfigurieren
Es handelt sich hier nicht direkt um die Konfiguration von yum-priorities
, sondern vielmehr um die einzelnen yum
-Paket-Bibliotheken!
Eine Auflistung aller aktuell im yum
-Paketmanager existierender yum
-Paket-Bibliotheken, kann mit folgendem Befehl ausgegeben werden:
# ll /etc/yum.repos.d/ total 28 -rw-r--r--. 1 root root 1926 Jul 3 04:16 CentOS-Base.repo -rw-r--r--. 1 root root 637 Jul 3 04:16 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 626 Jul 3 04:16 CentOS-Media.repo -rw-r--r-- 1 root root 739 Nov 13 2010 mirrors-rpmforge -rw-r--r-- 1 root root 717 Nov 13 2010 mirrors-rpmforge-extras -rw-r--r-- 1 root root 728 Nov 13 2010 mirrors-rpmforge-testing -rw-r--r-- 1 root root 1113 Nov 13 2010 rpmforge.repo
Anschließend können einzelne Prioritäten, wie folgt beschrieben für die entsprechenden yum
-Paket-Bibliotheken folgendermaßen vergeben werden.
Die Pakete (enthalten in /etc/yum.repos.d/CentOS-Base.repo
)
- Base -
base
- Updates -
updates
- Extras -
extras
erhalten jeweils die Priorität 1 - priority=1
Die Pakete (enthalten in /etc/yum.repos.d/CentOS-Base.repo
)
- CentOS-Plus -
centosplus
- Contrib -
contrib
erhalten jeweils die Priorität 2 - priority=2
# 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 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=1 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 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 #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=2 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=2
Das Paket (enthalten in /etc/yum.repos.d/CentOS-Media.repo
)
- Media -
c6-media
erhält die Priorität 2 - priority=2
# CentOS-Media.repo # # This repo is used to mount the default locations for a CDROM / DVD on # CentOS-6. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c6-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c6-media [command] [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=2
Das Paket (enthalten in /etc/yum.repos.d/CentOS-Debuginfo.repo
)
- Debuginfo -
debug
erhält die Priorität 2 - priority=2
# 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. # # All debug packages from all the various CentOS-5 releases # are merged into a single repo, split by BaseArch # # Note: packages in the debuginfo repo are currently not signed # [debug] name=CentOS-6 - Debuginfo baseurl=http://debuginfo.centos.org/6/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-6 enabled=0 priority=2
Die Pakete (enthalten in /etc/yum.repos.d/rpmforge.repo
)
- RpmForge -
rpmforge
- RpmForge-Extras -
rpmforge-extras
- RpmForge-Testing -
rpmforge-testing
erhalten jeweils die Priorität 10 - priority=10
### Name: RPMforge RPM Repository for RHEL 6 - dag ### URL: http://rpmforge.net/ [rpmforge] name = RHEL $releasever - RPMforge.net - dag baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1 priority=10 [rpmforge-extras] name = RHEL $releasever - RPMforge.net - extras baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras enabled = 0 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1 priority=10 [rpmforge-testing] name = RHEL $releasever - RPMforge.net - testing baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-testing #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing enabled = 0 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1 priority=10
Repository testen
Zum Abschluss kann mit folgenden zwei Befehlen getestet werden, ob das einbinden der neuen yum
-Paket-Bibliothek erfolgreich war.
Als erstes werden alle gespeicherten Informationen im cache
des yum
-Paketmanagers verworfen, was mit folgendem Befehl durchgeführt werden kann:
# yum clean all Loaded plugins: fastestmirror, priorities Cleaning up Everything Cleaning up list of fastest mirrors
Anschließend wird die Überprüfung, ob Updates für den Rechner vorliegen, mit folgendem Befehl durchgeführt. Dabei werden dann alle yum
-Paket-Bibliotheken neu angezogen und entsprechende Informationen heruntergeladen und eingelesen:
# yum check-update Loaded plugins: fastestmirror, priorities Determining fastest mirrors * base: ftp.belnet.be * extras: ftp.belnet.be * rpmforge: fr2.rpmfind.net * updates: ftp.belnet.be base | 3.7 kB 00:00 base/primary_db | 4.2 MB 00:04 extras | 3.0 kB 00:00 extras/primary_db | 1.9 kB 00:00 rpmforge | 1.1 kB 00:00 rpmforge/primary | 1.4 MB 00:01 rpmforge 4028/4028 updates | 3.5 kB 00:00 updates/primary_db | 3.3 MB 00:03 1 packages excluded due to repository priority protections