Inhaltsverzeichnis
Repository einbinden CentOS 5
Um in yum
(Yellow Dog Updater)) unter CentOS in der Version 5.x für 32-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 2600 Pakete.
Das RPMforge-Repository ist weder offizieller Bestandteil der RedHat-Distribution noch der CentOS-Distribution.
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ 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.1-1.el5.rf.i386.rpm
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.1-1.el5.rf.i386.rpm
mit folgendem Befehl überprüft werden:
# rpm -K rpmforge-release-0.5.1-1.el5.rf.i386.rpm
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.1-1.el5.rf.i386.rpm
Nach erfolgreich Installation, kann der Inhalt der des soeben installierten RPM-Paketes rpmforge-release-0.5.1-1.el5.rf.i386.rpm
mit folgendem Befehl überprüft werden:
# rpm -qil rpmforge-release Name : rpmforge-release Relocations: (not relocatable) Version : 0.5.1 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el5.rf Build Date: Mon 04 Jan 2010 02:55:55 PM CET Install Date: Tue 05 Jan 2010 06:33:27 PM CET Build Host: lisse.hasselt.wieers.com Group : System Environment/Base Source RPM: rpmforge-release-0.5.1-1.el5.rf.src.rpm Size : 14333 License: GPL Signature : DSA/SHA1, Mon 04 Jan 2010 02:56:38 PM 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-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-dries /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-fabian /etc/smart /etc/smart/channels /etc/smart/channels/rpmforge-testing.channel /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/rpmforge-testing.repo /etc/yum.repos.d/rpmforge.repo /usr/share/doc/rpmforge-release-0.5.1 /usr/share/doc/rpmforge-release-0.5.1/RPM-GPG-KEY-rpmforge-dag /usr/share/doc/rpmforge-release-0.5.1/RPM-GPG-KEY-rpmforge-dries /usr/share/doc/rpmforge-release-0.5.1/RPM-GPG-KEY-rpmforge-fabian /usr/share/doc/rpmforge-release-0.5.1/mirrors-rpmforge.yum /usr/share/doc/rpmforge-release-0.5.1/rpmforge.apt /usr/share/doc/rpmforge-release-0.5.1/rpmforge.smart /usr/share/doc/rpmforge-release-0.5.1/rpmforge.up2date /usr/share/doc/rpmforge-release-0.5.1/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-priorities
Nach erfolgreich Installation, kann der Inhalt der des soeben installieren RPM-Paketes yum-priorities
mit folgendem Befehl überprüft werden:
# rpm -qil yum-priorities Name : yum-priorities Relocations: (not relocatable) Version : 1.1.10 Vendor: CentOS Release : 9.el5.centos Build Date: Mon 09 Jun 2008 12:25:46 AM CEST Install Date: Fri 02 Jan 2009 11:06:16 AM CET Build Host: builder16.centos.org Group : System Environment/Base Source RPM: yum-utils-1.1.10-9.el5.centos.src.rpm Size : 12698 License: GPL Signature : DSA/SHA1, Sun 15 Jun 2008 01:23:04 AM CEST, Key ID a8a447dce8562897 URL : http://linux.duke.edu/yum/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 20 -rw-r--r-- 1 root root 2049 Sep 3 13:46 CentOS-Base.repo -rw-r--r-- 1 root root 626 Jun 19 2008 CentOS-Media.repo -rw-r--r-- 1 root root 684 Mar 8 2007 mirrors-rpmforge -rw-r--r-- 1 root root 428 Mar 8 2007 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
- Addons -
addons
- Extras -
extras
erhalten jeweils die Priorität 1 - priority=1
Das Paket (enthalten in /etc/yum.repos.d/CentOS-Base.repo
)
- Plus -
plus
erhält die Priorität 2 - priority=2
# CentOS-Base.repo # # This file uses a new mirrorlist system developed by Lance Davis for CentOS. # 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=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 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=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 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=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 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=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=2
Das Paket (enthalten in /etc/yum.repos.d/CentOS-Media.repo
)
- Media -
c5-media
erhält ebenfalls die Priorität 2 - priority=2
# CentOS-Media.repo # # This repo is used to mount the default locations for a CDROM / DVD on # CentOS-5. 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=c5-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c5-media [command] [c5-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-5 priority=2
Das Paket (enthalten in /etc/yum.repos.d/rpmforge.repo
)
- RPMForge.net - dag -
rpmforge
erhält ebenfalls die Priorität 10 - priority=10
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag # URL: http://rpmforge.net/ [rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag #baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag mirrorlist = http://apt.sw.be/redhat/el5/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
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 Loading "priorities" plugin Loading "fastestmirror" plugin 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 Loading "priorities" plugin Loading "fastestmirror" plugin Determining fastest mirrors * rpmforge: ftp-stud.fht-esslingen.de * base: mirror.silyus.net * updates: mirror.silyus.net * addons: mirror.silyus.net * extras: mirror.silyus.net rpmforge 100% |=========================| 1.1 kB 00:00 primary.xml.gz 100% |=========================| 2.9 MB 00:02 rpmforge : ################################################## 8223/8223 base 100% |=========================| 1.1 kB 00:00 primary.xml.gz 100% |=========================| 853 kB 00:02 base : ################################################## 2458/2458 updates 100% |=========================| 951 B 00:00 primary.xml.gz 100% |=========================| 353 kB 00:01 updates : ################################################## 754/754 addons 100% |=========================| 951 B 00:00 primary.xml.gz 100% |=========================| 157 B 00:00 extras 100% |=========================| 1.1 kB 00:00 primary.xml.gz 100% |=========================| 90 kB 00:00 extras : ################################################## 295/295 339 packages excluded due to repository priority protections