Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:repository_einbinden_centos_6

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

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/repository_einbinden_centos_6.txt · Zuletzt geändert: 2012/06/11 12:48 von klaus