Linux:Yum-Priority-FreshRPM
Datenschutz
********************************************************************* * * * THIS FILE MAY CONTAIN CONFIDENTIAL, PRIVILEGED OR OTHER LEGALLY * * PROTECTED INFORMATION. YOU ARE PROHIBITED FROM COPYING, * * DISTRIBUTING OR OTHERWISE USING IT WITHOUT PERMISSION FROM * * ALSO SCHWEIZ AG SWITZERLAND. * * * ********************************************************************* "Die in diesen Artikeln enthaltenen Informationen sind vertraulich und dürfen ohne schriftliche Zustimmung von der ALSO Schweiz AG gegenüber Dritt-Unternehmen nicht bekannt gemacht werden"
Installieren von Yum-Priority & FreshRPM
FreshRPMS ist ein Package das die RPM Packete auf den neusten Stand hält. In diesem Zusammenhang gibt es die Problematik das bei Updates Releases der vers. RPM Packete sich gegenseitig in die Quere kommen. Um dies zu verhindern kann Yum-Priority benutzt werden um den Update Vorgang mitzuteilen welche Prioritäten innerhalb eines Updates für ein RPM gelten. Als Erstes sollte das OS nach der Installation auf den neusten Stand gebracht werden:
# yum -y update
NOTE
Soll im Update Vorgang ein Proxy benutzt werden kann folgender Befehl abgesetzt werden:
# export http_proxy="http://10.150.0.110:8080"
Dieser Befehl bewirkt das in der "momentanen" Session (Shell) der Proxy für http gesetzt wird und somit alle ausgeführten Befehle die http benützen in dieser Session den Proxy benützen!
NOTE
Ist die Datenbank von yum korrupt und "yum update" kann dadurch nicht mehr ausgeführt werden kann die Datenbank von yum
mit folgendem Befehl gesäubert werden:
# yum clean all
Ausgehend von einer initial CentOS 5.4 i386 Installation wir durch "yum update" folgendes installiert oder up to date gebracht:
Installed: kernel.i686 0:2.6.18-164.11.1.el5 Updated: coreutils.i386 0:5.97-23.el5_4.1 cups-libs.i386 1:1.3.7-11.el5_4.5 dbus.i386 0:1.1.2-12.el5_4.1 dbus-libs.i386 0:1.1.2-12.el5_4.1 device-mapper-multipath.i386 0:0.4.7-30.el5_4.4 dhclient.i386 12:3.0.5-21.el5_4.1 dmidecode.i386 1:2.10-2.el5_4 elinks.i386 0:0.11.1-6.el5_4.1 expat.i386 0:1.95.8-8.3.el5_4.2 fetchmail.i386 0:6.3.6-1.1.el5_3.1 glibc.i686 0:2.5-42.el5_4.3 glibc-common.i386 0:2.5-42.el5_4.3 gnutls.i386 0:1.4.1-3.el5_3.5 gzip.i386 0:1.3.5-11.el5.centos.1 iptables.i386 0:1.3.5-5.3.el5_4.1 iptables-ipv6.i386 0:1.3.5-5.3.el5_4.1 kpartx.i386 0:0.4.7-30.el5_4.4 krb5-libs.i386 0:1.6.1-36.el5_4.1 libgcc.i386 0:4.1.2-46.el5_4.2 libstdc++.i386 0:4.1.2-46.el5_4.2 libuser.i386 0:0.54.7-2.1.el5_4.1 lvm2.i386 0:2.02.46-8.el5_4.2 mysql.i386 0:5.0.77-4.el5_4.1 neon.i386 0:0.25.5-10.el5_4.1 newt.i386 0:0.52.2-12.el5_4.1 nspr.i386 0:4.7.6-1.el5_4 openssh.i386 0:4.3p2-36.el5_4.3 openssh-clients.i386 0:4.3p2-36.el5_4.3 openssh-server.i386 0:4.3p2-36.el5_4.3 openssl.i686 0:0.9.8e-12.el5_4.1 postgresql-libs.i386 0:8.1.18-2.el5_4.1 selinux-policy.noarch 0:2.4.6-255.el5_4.4 selinux-policy-targeted.noarch 0:2.4.6-255.el5_4.4 tzdata.noarch 0:2009u-1.el5 util-linux.i386 0:2.13-0.52.el5_4.1 yum-fastestmirror.noarch 0:1.1.16-14.el5.centos.1 Complete!
Wenn das OS auf den neusten Stand gebracht wurde installieren wir als Erstes Yum-Prioritie:
# yum install yum-priorities --------------- yum install yum-priorities --------------- ======================================================================================================= Package Arch Version Repository Size ======================================================================================================= Installing: yum-priorities noarch 1.1.16-14.el5.centos.1 updates 14 k Transaction Summary ======================================================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 14 k Is this ok [y/N]: y Downloading Packages: yum-priorities-1.1.16-14.el5.centos.1.noarch.rpm | 14 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-priorities 1/1 Installed: yum-priorities.noarch 0:1.1.16-14.el5.centos.1 Complete! --------------- yum install yum-priorities ---------------
NOTE
Für CentOS 4.x benütze folgenden Befehl um Yum-Priority zu installieren:
# yum install yum-plugin-priorities
Yum-Priorities ist damit installiert jedoch müssen die Prioritäten dem Package mitgeteilt werden. Dabei sollte folgendes gelten:
priority=1 [base], [addons], [updates], [extras] priority=2 [centosplus],[contrib] priority=10 Third Party Repositories
Um alle Repositories aufzulisten die auf dem System existieren benutze das Kommando:
# yum repolist all. Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: mirror.switch.ch * base: mirror.switch.ch * extras: mirror.switch.ch * updates: mirror.switch.ch repolist: 0
Weitere Informationen betreffend Yum-Priorities findet man auf:
http://wiki.centos.org/PackageManagement/Yum/Priorities?highlight=%28priorities%29
Die Repository Files von Yum-Priorty befindet sich im Verzeichnis "/etc/yum.repos.d/". In diesem Verzeichnis befinden sich die Konfig Files die dazu benutzt werden diese Prioritäten in den vers. Repositories gemäss "priority" zuzuweisen:
# vi /etc/yum.repos.d/CentOS-Base.repo --------------- /etc/yum.repos.d/CentOS-Base.repo --------------- # 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-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=file:///etc/pki/rpm-gpg/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=file:///etc/pki/rpm-gpg/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=file:///etc/pki/rpm-gpg/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=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 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-5 priority=2 --------------- /etc/yum.repos.d/CentOS-Base.repo ---------------
NOTE
Die Positionen in den Repositories "enabled=0" bedeutet das dieses Repository nicht aktiviert ist und somit bei einem "yum update" nicht
berücksichtigt wird. Obwohl das Repository deaktiviert ist, ist es empfehlenswert die "priority" zu setzen.
# vi /etc/yum.repos.d/CentOS-Media.repo --------------- /etc/yum.repos.d/CentOS-Media.repo --------------- # 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 --------------- /etc/yum.repos.d/CentOS-Media.repo ---------------
Die Konfig in den Priorities Files ist durchgeführt. Kontrolliere ob die Funktion Yum-Priority aktiviert ist im folgenden File durch "enabled = 1":
# vi /etc/yum/pluginconf.d/priorities.conf --------------- /etc/yum/pluginconf.d/priorities.conf --------------- [main] enabled = 1 --------------- /etc/yum/pluginconf.d/priorities.conf ---------------
Nun kann zur Kontrolle ein "yum update" ausgeführt werden. Achte dabei auf die verteilten Prioritäten:
# yum update Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: mirror.switch.ch * base: mirror.switch.ch * extras: mirror.switch.ch * updates: mirror.switch.ch addons | 951 B 00:00 base | 2.1 kB 00:00 extras | 1.1 kB 00:00 updates | 1.9 kB 00:00 Setting up Update Process No Packages marked for Update
Yum-Priority ist installiere nun installieren wir freshRPM. Dieses kann nicht über "yum install" installiert werden da dieses im Standard Repository von CentOS nicht angeboten wird. Dies bedeutet freshRPM muss aus einem anderen Repository heraus installiert werden. Dieses Repository ist "rpmfusion". Dieses besitzt jedoch eine Abhängikeit zu "epel-release". Installiere deshalb zuerst "epel-release" und danach "rpmfusion":
# su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm' Retrieving http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm warning: /var/tmp/rpm-xfer.6JHWxI: Header V3 DSA signature: NOKEY, key ID 217521f6 Preparing... ########################################### [100%] 1:epel-release ########################################### [100%]
# su -c 'rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm' Retrieving http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm Retrieving http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm warning: /var/tmp/rpm-xfer.fJmFC2: Header V3 DSA signature: NOKEY, key ID e74f0522 warning: /var/tmp/rpm-xfer.q1fgG7: Header V3 DSA signature: NOKEY, key ID ab194290 Preparing... ########################################### [100%] 1:rpmfusion-free-release ########################################### [ 50%] 2:rpmfusion-nonfree-relea########################################### [100%]
Diese Package installieren Ihre Repository Konfig File in folgendes Verzeichnis:
/etc/yum.repos.d/
Diese Repositories enthalten die Information für Drittanwender Software und somit sind diese alle auf "priority=10" zu setzen. Fuege somit allen nachfolgenden Files innerhalb der Repositories die "priority=10" hinzu:
# vi /etc/yum.repos.d/epel.repo # vi /etc/yum.repos.d/epel-testing.repo # vi /etc/yum.repos.d/rpmfusion-free-updates.repo # vi /etc/yum.repos.d/rpmfusion-free-updates-testing.repo # vi /etc/yum.repos.d/rpmfusion-nonfree-updates.repo # vi /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo
Nun kann zur Kontrolle ein "yum update" ausgeführt werden. Achte dabei auf die verteilten Prioritäten:
# yum update Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: mirror.switch.ch * base: mirror.switch.ch * epel: mirror.switch.ch * extras: mirror.switch.ch * rpmfusion-free-updates: mirror.andreas-mueller.com * rpmfusion-free-updates-testing: mirror.andreas-mueller.com * rpmfusion-nonfree-updates: mirror.andreas-mueller.com * rpmfusion-nonfree-updates-testing: mirror.andreas-mueller.com * updates: mirror.switch.ch epel | 3.4 kB 00:00 epel/primary_db | 2.3 MB 00:09 rpmfusion-free-updates | 2.8 kB 00:00 rpmfusion-free-updates/primary_db | 3.0 kB 00:00 rpmfusion-free-updates-testing | 2.8 kB 00:00 rpmfusion-free-updates-testing/primary_db | 57 kB 00:00 rpmfusion-nonfree-updates | 2.8 kB 00:00 rpmfusion-nonfree-updates/primary_db | 1.1 kB 00:00 rpmfusion-nonfree-updates-testing | 2.8 kB 00:00 rpmfusion-nonfree-updates-testing/primary_db | 15 kB 00:00 100 packages excluded due to repository priority protections Setting up Update Process No Packages marked for Update