Linux:Yum-Priority-FreshRPM

Aus Fortinet Wiki
Zur Navigation springen Zur Suche springen


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