Das System mit yum auf dem aktuellen Stand halten

Aus LinuxUser 10/2004

Das System mit yum auf dem aktuellen Stand halten

Immer auf dem Laufenden

Auch Linux ist nicht fehlerfrei. Deshalb ist es wichtig, das System mit korrigierten Paketen auf dem Laufenden zu halten. In Fedora hilft dabei das Programm Yum. Und es bringt altes Red Hat auf den neuesten Stand.

Das Programm yum (Yellowdog Updater, Modified) kümmert sich auf modernen Fedora-Systemen um Updates und Paketverwaltung. Verglichen mit RPM überprüft yum Programmabhängigkeiten besser und löst sie falls möglich auf. Abbildung 1 zeigt das am Beispiel des Pakets x11-org.

Abbildung 1: Auflösen der Abhängigkeiten mittels <code srcset=

yum am Beispiel des Pakets x11-org.” width=”300″ height=”193″ /> Abbildung 1: Auflösen der Abhängigkeiten mittels yum am Beispiel des Pakets x11-org.

Yum wurde von einer Gruppe Linux-Begeisterter der Duke-Universität entwickelt [1]. Bei Fedora Linux ist das Programm in der Distribution enthalten, für ältere Distributionen liegen unter [2] entsprechende RPMs bereit.

Folgende Liste zeigt kurz die wichtigsten Eigenschaften von yum: * mehrere Repositories möglich * einfache ASCII-Konfigurationsdatei * Überprüfen und Auflösen der Paket-Abhängigkeiten * kompatibel mit RPM * einfacher Umgang * steht unter der GPL * Bestandteil von Fedora Core (FC) 1 und FC 2 (und sehr wahrscheinlich auch folgender Versionen) * setzt zur Administrator-Rechte voraus.

Server einstellen

Yum benötigt eine Datenquelle im lokalen Netz oder im Internet, prinzipiell funktioniert aber auch der lokale Rechner dafür. Ohne Modifikation der Konfigurationsdatei /etc/yum.conf verwendet das Programm die voreingestellten amerikanischen Server. Eine Liste internationaler Server ist unter [3] zu finden. Die Angabe der Server erfolgt hinter dem Eintrag baseurl. Ob HTTP- oder FTP-Server spielt keine große Rolle, im Zweifelsfall funktioniert bei Firewalls HTTP besser. Für den deutschen Server ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/ sehen die Einträge so aus wie in Listing 1, einer für die Basispakete, einer für die Updates. Die mit dem Dollarzeichen gekennzeichneten Variablen ersetzt Yum bei der Ausführung selbst durch die passenden Werte.

Listing 1

Ausschnitt aus yum.conf

[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/$releasever/$basearch/os/
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/updates/$releasever/$basearch/

Es ist ratsam, einen Spiegelserver aus der näheren Umgebung zu wählen, denn damit geht der Download im Allgemeinen schneller.

Praktischer Einsatz

Wie erwähnt dient yum vor allem zum Update installierter Software Da liegt die Frage nahe, ob es für diese Programme bereits Updates gibt. Antwort darauf gibt das Kommando yum check-update, siehe Abbildung 2.

Abbildung 2: <code srcset=

yum check update zeigt verfügbare Updates an.” width=”300″ height=”186″ /> Abbildung 2: yum check update zeigt verfügbare Updates an.

Je nach Internetverbindung kann es mehrere Minuten dauern, bis die notwendigen Header-Dateien heruntergeladen wurden, die Yum lokal speichert. Dabei handelt es sich nur um Informationen über die Pakete und nicht die Pakete selbst. Eine Liste aller vorhandenen Pakete zeigt der Befehl yum list. Das tatsächliche Update der Programme startet yum update.

Abhängig von den auf Ihrem System installierten Paketen lädt das Tool mehrere hundert MByte aus dem Internet. Eine DSL-Verbindung (idealerweise mit Flatrate) ist deshalb praktisch. Für eine Tasse Kaffee oder gar eine Kanne ist genug Zeit, zumindest beim ersten Update. Erfolgt das Update eines laufenden Dienstes (beispielsweise SSH), wird dieser von Yum angehalten, aktualisiert und wieder gestartet.

Wie am Beispiel von x11-org gezeigt, lassen sich auch gezielt einzelne Pakete aktualisieren. Je länger ein System nicht aktualisiert wurde, desto mehr Daten muss Yum herunterladen. Es bietet sich deshalb an, daraus einen Dienst zu machen, der im Hintergrund läuft und seinen Job nachts erledigt. Fedora bringt einen solchen Dienst schon mit, den Sie folgendermaßen starten:

service yum start

Soll der Dienst beim Hochfahren des Systems gestartet werden, hilft folgendes Kommando:

chkconfig yum on

Der Start des Dienstes, sowohl für die aktuelle Sitzung als auch beim Systemstart, kann auch per grafischer Setup-Programme erledigt werden.

Tabelle 1 zeigt einige nützliche Optionen, die beinahe alle weiter Parameter unterstützen. Ein Blick in die man-Seiten ist daher für Detailwissen hilfreich. Bei der Angabe von Paketnamen sind Sternchen als Platzhalter erlaubt. So werden mit:

yum upgrade X11*

alle Pakete aktualisiert, die mit X11 beginnen. Die Abhängigkeiten berücksichtigt Yum dabei natürlich genauso.

Tabelle 1: Nützliche Yum-Optionen

yum info up2date Zeigt eine kurze Beschreibung und Informationen zum Programm up2date an. Die Ausgabe des Kommandos zeigt Abbildung 4.
yum remove xemacs Entfernt das Programmpaket xemacs, sowie einige zugehörige Programme (siehe Abbildung 5).
yum list Zeigt Informationen zu den verfügbaren Paketen an.
yum search nmap gui Sucht in den verfügbaren Paketen nach den angegebenen Strings (hier nmap und gui). Auf diese Weise suchen Sie nach Paketen, deren genauen Namen sie nicht kennen.
yum clean all Löscht alle Informationen aus dem Cache Verzeichnis von yum.
yum update yum Führt, falls verfügbar, ein Update des Paketes yum aus.

Abbildung 4: <code srcset=

yum info gibt ausführliche Informationen zu dem jeweiligen Paket, hier zu up2date.” width=”300″ height=”190″ /> Abbildung 4: yum info gibt ausführliche Informationen zu dem jeweiligen Paket, hier zu up2date.

Abbildung 5: <code srcset=

yum remove löscht nicht nur das Paket selbst, sondern auch zugehörige Pakete, die nicht anderweitig verwendet werden (hier am Beispiel von xemacs).” width=”277″ height=”300″ /> Abbildung 5: yum remove löscht nicht nur das Paket selbst, sondern auch zugehörige Pakete, die nicht anderweitig verwendet werden (hier am Beispiel von xemacs).

Distributionsupdate mit <C>yum<C>

Yum kann sogar komplette Distributionen upgraden, solange es sich um Red Hat oder Fedora handelt. Es ermöglicht beispielsweise das Update von Red Hat 9.0 auf das aktuelle Fedora Core 2.

Das funktioniert allerdings nur, wenn genügend Festplattenplatz vorhanden ist und das System kein LVM (Logical Volume Management) verwendet. LVM-Benutzer sollten mit Installations-CDs updaten und die nötigen Anpassungen mit anaconda (Installationsprogramm von Red Hat und Fedora) durchführen.

Ein System-Upgrade ist nie ganz ohne Risiko, weshalb sich ein Backup wichtiger Daten empfiehlt. Das Upgrade sollte ganz durchlaufen, damit Sie kein halbfertiges System bekommen, das dann nicht mehr richtig funktioniert.

Vorsicht beim Kernel

Da der Kernel der neuralgische Punkt des Systems ist, sollte Sie ihm besondere Aufmerksamkeit widmen. Zuerst prüfen Sie, welche Kernelversionen auf dem System installiert sind:

rpm -q kernel kernel-smp

Idealerweise führen Sie das Upgrade mit einer per rpm oder yum installierten Kernelversion durch. Alle nicht benötigten Kernelversionen sollten Sie entfernen. Das bringt laut Aussage der Yum-Autoren [4] nicht nur mehr Speicherplatz, sondern verhindert auch einige Probleme. Die Version des aktuell laufenden Kernels zeigt uname -a.

Dasselbe trifft auf die Kernel-Sourcen zu. Die folgenden Befehle entfernen einen Kernel, sowie die dazu gehörigen Sourcen:

rpm -e kernel-2.4.22-1.2115.nptl
rpm -e kernel-source-2.4.22-1.2188.nptl

Pakete, die nicht von der Originalinstallation stammen, sondern nachträglich installiert wurden, müssen Sie eventuell auch entfernen. Findet Yum nämlich für eine Software kein aktuelles, passendes Paket, bricht es mit einer Fehlermeldung ab. Deinstallieren Sie dann einfach das fragliche Paket und starten Sie Yum neu – solange bis es sich nicht mehr beschwert. Eine Übersicht über die installierte Software zeigt SystemeinstellungenHinzufügen/Entfernen von Applikationen.

Zuerst braucht die alte Distribution natürlich das Yum-Programm, das Sie auch für ältere Red Hats unter [1] finden. Normalerweise ändern Sie yum.conf nicht manuell. Sie laden stattdessen das RPM fedora-release-2-4.i386.rpm herunter und installieren es mit rpm -U. Es sorgt dafür, dass Yum die Variablen in yum.conf, wie angesprochen, richtig ersetzt.

Sollte das aus irgendeinem Grund nicht klappen, tragen Sie die Spiegelserver entsprechend der obigen Anleitung in die Konfigurationsdatei ein. Dort steht die Variable $releasever für das gewünschte Release. Beim Upgrade auf FC2 schreiben Sie dahin eine 2.

baseurl=ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/2/$basearch/os/

Alle Repositories außer den neuen sollten Sie mittels vorangestelltem # deaktivieren. Weiterhin wird dringend empfohlen, die Datei /etc/modprobe.conf in /etc/modprobe.anacbak umzubenennen, da es sonst nach dem Upgrade zu Problemen mit Kernel-Modulen kommen kann.

mv /etc/modprobe.conf /etc/modprobe.anacback

Um die Sache ein wenig sicherer zu machen, updaten Sie erst die zur Installation wichtigen Pakete:

yum upgrade yum python rpm-python rpm glibc glibc-common redhat-config-* Xfree86* libxml2*

Sind auf dem System spezielle Pakete für den Athlon-Prozessor eingetragen, werden diese nicht aktualisiert. Die hier verwendeten Repositories führen nur Pakete für i586- oder i686er Prozessoren (die auch für Athlon geeignet, aber nicht optimiert sind). Das stellt im Falle des Kernels ein Problem dar, denn Yum installiert nun keinen passenden. Gerade beim Wechsel von FC1 auf FC2 ist dieser jedoch zwingend notwendig, denn die Version 2 ist für Kernel 2.6 eingerichtet. Damit Yum trotzdem ein Upgrade durchführt, setzen Sie in der Konfigurationsdatei die Variable exactarch auf Null.

exactarch=0

Ob ein neuer Kernel installiert wurde, kann wie folgt ermittelt werden:

rpm -q kernel

Die Anpassung der PS2-Maus an Kernel 2.6.x erfolgt mit: /usr/sbin/fix-mouse-psaux

Mit einem Reboot starten Sie das neue Fedora-Relase. Mitunter gelingt es yum nicht, den neuen Kernel als Standard-Boot-Kernel einzutragen. Also “Augen auf” beim Start. Möglicherweise müssen Sie den Kernel 2.6.x zunächst per manueller Auswahl starten.

Haben Sie in /etc/yum.conf die Versionsnummer 2 fest eingetragen, ersetzen Sie sie nach Abschluß des Upgrades wieder durch die Variable $releasever.

Modulkonfiguration sichern

Erfolgt aus irgendeinem Grund das System-Upgrade nicht in einem Rutsch, stellen Sie die Datei modprobe.conf vor dem Herunterfahren des Systems wieder her. Nach dem nächsten Systemstart, aber vor dem Start des Upgrades, muss sie wieder gelöscht werden.

mv /etc/modprobe.anacback /etc/modprobe.conf

Nach dem Restart und vor dem Upgrade:

rm /etc/modprobe.conf

Mehr Multimedia

Es ist kein Geheimnis, das die Multimediafähigkeiten von FC2 sehr schlecht sind. Der Versuch eine MP3-Datei abzuspielen, endet in stiller Ernüchterung, von Videos ist sowieso nichts zu sehen. Im Internet gibt es einige Repositories die Yum-fähige Pakete bereitstellen. Der Server [5] bietet Programme wie mplayer und xine sowie die zugehörigen Libraries (Bibliotheken) zum Abspielen verschiedener Medienformate.

Auf den Web-Seiten von livna.org wird empfohlen, einen PGP-Schlüssel zu installieren, mit dem Yum die Herkunft der Pakete verifiziert.

rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY

Die bisher eingetragenen Server führen nicht alle nötigen Pakete. Sie ergänzen also die Konfigurationsdatei um einen weiteren Server und livna.org, siehe Listing 2.

Listing 2

yum.conf für Multimedia-Pakete

[mirrors-stable]
name=mirrors.org Fedora Compatible Packages (stable)
baseurl=http://mirrors.kernel.org/fedora.us/fedora/fedora/$releasever/$basearch/RPMS.stable
[livna-stable]
name=Livna.org Fedora Compatible Packages (stable)
baseurl= http://rpm.livna.org/fedora/$releasever/$basearch/yum/stable
gpgcheck=1

Nach dem Speichern der Konfigurationsdatei installieren Sie die Programme.

yum install mplayer
yum install xine

Tipp: Um zu erfahren, welche Software-Pakete auf dem jeweiligen Repository zur Verfügung stehen, ist ein Browser praktisch. Die Variable $releasever ersetzen Sie bei der URL durch eine 2 und $basearch durch i386 (siehe Abbildung 6).

Abbildung 6: Der Browser gibt Auskunft darüber, welche Pakete im Repository verfügbar sind.

Abbildung 6: Der Browser gibt Auskunft darüber, welche Pakete im Repository verfügbar sind.

Während der Testphase kam es mitunter zu einigen Fehlern. Wie sich diese äußerten und wie sie beseitigt werden, ist in Kasten 1 zu finden.

Kasten 1: Aufgetretene Fehler

Im Testverlauf kam es einmal vor, dass yum stehenblieb. Je nachdem, wo sich das Programm gerade befindet, brechen Sie es mit [Strg-C] oder killall -7 yum ab. Nach dem Abbruch mit killall -7 löscht rm /var/run/yum.pid die PID-Datei, in die das Programm seine Prozessnummer geschrieben hat.

Beim Herunterladen der Header brach Yum gelegentlich mit einer Fehlermeldung ab. Hier half stets ein Neustart des ausgeführten Yum-Kommandos.

Hinweise

Auch das standardmäßig aktive Programm up2date verwendet yum als eigentliches Arbeitstier. Jedoch brachte auch die Konfiguration mit deutschen Mirrors den Update-Prozess mittels up2date fast immer zum Stehen. Positiv ist, das yum nach einem Verbindungs- oder Programmabbruch bei der Wiederaufnahme an der Stelle des Abbruchs weitermacht.

Fazit

Yum ist für die Verwaltung mehrerer Computer innerhalb eines Netzwerks sehr gut geeignet. Steht dort ein Yum-Paketserver zur Verfügung, ist es ein relativ leichtes Unterfangen, alle im Netzwerk vorhandenen Linux-Rechner auf einen aktuellen Stand zu halten. Mehr Informationen zu yum zeigt die Manual-Seite mit man yum, noch schwierigere Fragen diskutiert eine Mailing-Liste.

Der Autor

Roman Jordan beschäftigt sich seit über zehn Jahren mit dem Thema Linux und wird in absehbarer Zeit auch nicht damit aufhören. Als Linux-Distribution verwendet er Red Hat bzw. Fedora Linux.

Glossar

RPM

steht für Red Hat Package Management. Dieses Format hat sich als ein Standard für Software-Pakete unter Linux etabliert, so verwenden es mittlerweile auch Mandrake und Suse. Neben den zu installierenden Dateien enthält ein RPM-Paket weitere Informationen wie beispielsweise Abhängigkeiten von anderen Paketen.

Repositories

Ein Verzeichnis (lokal oder im Internet) das Software in einem festgelegten Format enthält. Bei Yum handelt es sich um eine Verzeichnisstruktur mit RPM-Paketen und Yum-Headern.

Infos

[1] Homepage des Projekts yum: http://linux.duke.edu/projects/yum

[2] Downloadmöglichkeiten für yum: http://linux.duke.edu/projects/yum/download.ptml

[3] Spiegelserver von Fedora: http://www.fedora.redhat.com/download/mirrors.html

[4] Hinweise zum Systemupgrade mit yum: http://linux.duke.edu/%7Eskvidal/misc/fc1-fc2-yum-hints.txt

[5] Repository für Multimedia: http://rpm.livna.org

[6] Deutsche Fedora-FAQ: http://fedorafaq.libria.net

LinuxUser 10/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben