Yum und Fedora Core

Aus PC-WELT-Wiki

Wechseln zu: Navigation, Suche

Für eine populäre Linux-Distribution wie Fedora Core erscheinen fast täglich neue Softwarepakete. Das Update-Tool "yum" ist die erste Wahl, das System aktuell zu halten. Stets frische Updates und Pakete für ein Linux-System zu besorgen, kann administrativer Hochleistungssport sein. Fedora Core ist hier keine Ausnahme. Es kann aber auch so einfach sein. Vorausgesetzt, es besteht eine flotte Internetverbindung und das System kann ein fortgeschrittenes Update-Tool wie "yum" verwenden.


Inhaltsverzeichnis

Auf dem Laufenden: Fedora und yum

Fedora Core bringt ein Tool mit, um das System bequem über das Internet mit frischen Software-Paketen zu versorgen: "yum" steht kurz für "Yellow Dog Updater, Modifiziert" und ist ein mächtiges Helferlein für die Beschaffung und Verwaltung von Paketen für Fedora. Eigentlich stammt yum von einer ganz anderen Distribution, nämlich von Yellowdog Linux, ein Betriebssystem für Apple-Systeme. Da es natürlich Open-Source ist und unter der GNU Public Licence steht, hat es nicht lange gedauert, bis es für Fedora portiert wurde. Schon seit der ersten Fedora-Version ist es bei dieser Distribution mit an Bord. Die Funktionsweise des Kommandozeilen-Tools hat sich seitdem nicht verändert: Eine Liste an Servern sagt yum, wo Pakete zu finden sind. Den Rest erledigt das Tool auto-magisch. Sie müssen ihm nur sagen, was Sie gerne hätten. Und mit etwas Tuning an den Konfigurationsdateien können Sie es Ihren Anforderungen weiter anpassen.


Die Interna: So arbeitet yum

Die Grundlage für yum sind Installationspakete im RPM-Format. Diese Pakete bringen in den Kopfdaten alle Informationen über sich selbst mit und yum braucht das Rad nicht neu zu erfinden und selbst eine Datenbank aufbauen. Es besorgt sich die Kopfdaten der Pakete vom Distributions-Server (Repository) und weiss nach der Auswertung, in welcher Version ein Paket vorliegt, was es eventuell als Update ersetzt und welche anderen Pakete es sonst noch braucht. Auf die Server greift es über HTTP oder FTP zu - es braucht also nicht mal obskure Spezialprotokolle. Da es aber langsam wäre, immer erst alle Kopfdaten für die vielen tausend verfügbaren Pakete vom Server zu beziehen, trennt yum diese Daten von den Paketen und speichert die Kopfdaten lokal auf der Festplatte ab. Das Standardverzeichnis für diesen Cache befindet sich unter /var/cache/yum und wird bei der ersten Verwendung automatisch gefüllt. Kopfdaten machen zwar nur einen kleinen Teil eines Pakets aus, aber wegen der großen Zahl der verfügbaren Pakete muss yum erst mal ein paar Megabyte Kopfdaten herunterladen. Wenn Sie dann yum abermals ausführen, arbeitet es deutlich schneller.


Erster Einsatz: Pakete suchen und installieren

Bevor Sie mit yum loslegen können, müssen Sie aus Sicherheitsgründen noch eine Vertrauensbasis zwischen den Servern und ihrem System schaffen. Pakete sind mit einem GPG-Schlüssel des Distributors signiert und der Paketmanager überprüft die heruntergeladenen RPM-Dateien vor der Installation, ob der Schlüssel zum Paket passt. Ist das nicht der Fall, verweigert er es. Das soll verhindern, das manipulierte Softwarepakete auf einem gehackten Server das System kompromittieren. Mit root-Rechten machen Sie mit dem Kommando

rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora

den Paketmanager mit dem benötigten Schlüssel bekannt. Jetzt kann es los gehen. Angenommen, Sie möchten eine aktuelle Version des Mail-Clients "balsa" auf Ihrem System installieren. Öffnen Sie ein Konsolenfenster, besorgen Sie sich root-Rechte, etwa mit dem Befehl "su", und geben Sie den Befehl

yum search balsa

ein. Der Suchbegriff "balsa" muss nicht der vollständige Name eines Pakets sein, es funktionieren auch Teilbegriffe. Nach den anfänglichen Headerdownloads zeigt Ihnen yum die verfügbaren Pakete an, auf die der Suchbegriff passt. In der ersten Zeile steht hier immer der richtige Paketname und die Versionsnummer. Hat yum etwas Passendes gefunden - wie in diesem Beispiel - können Sie das Paket mit dem Kommando

yum install balsa

installieren. Bevor yum das Programm installiert, zeigt es in der Ausgabe unter "Performing the following to resolve dependencies" noch an, welche weiteren Pakete eventuell für balsa nötig sind. Nach einer Bestätigung der Rückfrage mit "y" macht yum Ernst und installiert die benötigten Pakete - fertig. Das installierte Programm können Sie sofort verwenden.


Softwarepakete mit yum entfernen

Mit yum lassen sich RPM-Pakete nicht nur bequem installieren, sondern auch wieder entfernen. Das geht zwar auch mit dem Kommandozeilen-Tool rpm. Aber dabei haben Sie bei vielen Paketen das Problem, dass diese von anderen abhängig sind und sich nicht so einfach mittels

rpm -e <Paketname>

entfernen lassen. Denn falls andere Programme das Paket benötigen, beschwert sich rpm mit der Meldung "error: Failed dependencies". Einfach und elegant erledigt yum die De-Installation, denn es überprüft die Abhängigkeiten zwischen Paketen in der RPM-Datenbank Ihres Systems. Mit dem Kommando

yum remove <Paketname>

fegen Sie nicht nur das angegebene Paket vom System, sondern auch alle, die darauf aufbauen. Die Abhängigkeiten löst yum automatisch in der richtigen Reihenfolge für Sie auf und es bleiben so keine verwaisten Software-Komponenten oder unvollständige Programme zurück.


5. Eine eigene Repository-Liste aufbauen

Grundsätzlich kommt yum einsatzbereit aus der Box, aber es verlässt sich nur auf die voreingestellten, offiziellen Server (Repositories). Es macht Sinn, die Liste zu erweitern, etwa um schnellere Server zu nutzen (Punkt 6), oder um inoffizielle Softwarepakete nachträglich zu installieren (Punkt 7). Gegenüber den beiden Vorgängern hat Fedora Core 3 einen anderen Aufbau der Repository-Liste. Die einzelnen Serveradressen stehen nicht mehr zentral in der Konfigurationsdatei /etc/yum.conf, sondern in einzelnen Textdateien im Verzeichnis /etc/yum.repos.d. Die zentrale Konfigurationsdatei enthält nur mehr allgemeine Optionen, wie etwa den Pfad zum Cache-Verzeichnis, und den Pfad zur Logdatei. An Repositories für Fedora besteht kein Mangel und neben den offiziellen Servern bieten inoffizielle Quellen aktuellere Pakete oder modifizierte Programmversionen an. Im Prinzip können Sie beliebig viele Server für yum angeben. Sie sollten inoffizielle Repositories aber nicht mischen, damit deren angebotene Pakete nicht durcheinander kommen. Die Maintainer eines Repositories kümmern sich darum, dass deren angebotene Programme zusammen mit den offiziellen Paketversionen ohne Konflikte laufen. Allerdings garantiert niemand, dass sich zwei Pakete von inoffiziellen Servern nicht stören, die Überprüfung wäre zu aufwendig. Um Unverträglichkeiten zu vermeiden, binden Sie besser nur eine zusätzliche, fremde Quelle ein. Wie Sie im Detail alternative Server einrichten, zeigen die folgenden zwei Punkte.


Schnelle Spiegel: Flotte Server nutzen

Bei Fedora Core 3 sind zwar offizielle Repositories bereits vorkonfiguriert. So richtig Laune macht der Download der Updates aber nicht immer, denn erfahrungsgemäss ist auf den Servern eine Menge los und die Übertragungsgeschwindigkeit entsprechend gering. Besser fahren Sie, wenn Sie gleich ein paar schnellere Spiegel-Server (Mirrors) eintragen, die vielleicht sogar in Ihrer Nähe sind. Wo die Server stehen ist kein Geheimnis. Red Hat unterhält zum Fedora-Projekt unter http://fedora.redhat.com/download/mirrors.html eine internationale Server-Liste. Allein für Deutschland finden Sie hier 16 Server-Adressen. Tauschen Sie die voreingestellten Server besser gegen nähere Adressen aus. Dazu müssen Sie insgesamt vier Dateien editieren, aber alles der Reihe nach: Öffnen Sie ein Terminal, machen Sie sich zu root und geben Sie den Befehl

vi /etc/yum.repos.d/de-mirror-base

ein. Der vi-Editor erstellt daraufhin die neue Datei "de-mirror-base". Im Editor drücken Sie die Taste <Einfg>, um in den Bearbeitungsmodus zu wechseln und geben den Text aus der Abbildung "Basis" auf dieser Seite ein. Sind Sie fertig, drücken Sie <ESC>, um den Bearbeitungsmodus wieder zu verlassen. Tippen Sie dann in vi die Zeichen :wq ein, um die Datei zu speichern und den Editor zu beenden. Damit ist der Eintrag für das Basis-Repository erstellt. Nun benötigen Sie noch eine weitere Datei, die yum auch die Adressen eines Update-Repository für Ihr System mitteilt. Starten Sie vi diesmal mit dem Kommando

vi /etc/yum.repos.d/de-mirror-updates

In diese Datei "de-mirror-updates" tragen Sie jetzt den Inhalt aus der Abbildung "Updates" auf dieser Seite ein. Danach drücken Sie wieder <ESC> und sichern die Datei mit :wq. Fast geschafft, aber jetzt müssen Sie yum noch beibringen, die frisch eingetragenen Repositories anstatt den Standard-Servern zu verwenden. Mit

vi /etc/yum.repos.d/fedora.repo

öffnen Sie die bestehende Konfigurationsdatei "fedora.repo". Setzen Sie vor dem bisherigen Eintrag "mirrorlist" das Kommentarzeichen "#" und erstellen Sie darunter diese neue Zeile:

mirrorlist=file:///etc/yum.repos.d/de-mirror-base

Speichern Sie die Datei wieder mit :wq ab und yum weiss nun schon, wo Basis-Pakete zu finden sind. Jetzt machen Sie yum noch mit dem Repository für Update-Pakete bekannt. Wieder geht's in den vi-Editor, diesmal mit dem Befehl

vi /etc/yum.repos.d/fedora-updates.repo

Die Datei "fedora-updates.repo" ist ähnlich aufgebaut wie die zuvor bearbeitete Konfigurationsdatei und auch hier kommentieren Sie erst mal die vorhandene Zeile "mirrorlist" aus. Darunter geben Sie den folgenden, neuen Eintrag ein:

mirrorlist=file:///etc/yum.repos.d/de-mirror-updates

Noch speichern mit :wq und yum ist mit den gerade eingetragenen, alternativen Servern einsatzbereit.


Inoffizielle Repositories: Codecs installieren

Red Hat betrachtet Fedora Linux auch als Vorstufe zum seinem Enterprise Linux. Was sich bei Fedora bewährt, hat Chancen, in die große, professionelle Linux-Distribution mit einzufließen. Deshalb ist Red Hat schon bei der Paket-Auswahl sehr streng: Nur Software, die unter einer Open-Source erscheint, ist standardmässig mit dabei. Konsequenterweise fehlen auch alle proprietären Codecs, um Mediendateien abzuspielen - etwa MP3. Das muss bei ihrem Fedora-System natürlich nicht so bleiben. Installieren Sie die fehlenden Codecs einfach nach, um in den Genuss Ihrer Multimediadateien zu kommen. Angebot gibt es genug, denn Fedora ist weit verbreitet und die Gemeinschaft der Fedora-Fans stellt passende Codec-Pakete bereit. Bei der Installation hilft Ihnen yum wie kein zweites Tool. Dazu erweitern Sie zuerst die Liste der genutzten Repositories um inoffizielle Server, welche die Pakete bereit halten. Ein geeigneter Server ist Freshrpms, dort finden Sie alles, was Sie zum Abspielen von Sounds und Videos brauchen. Besorgen Sie sich zuerst root-Rechte, etwa mit dem Befehl "su", geben Sie den Befehl

vi /etc/yum.repos.d/freshrpms.repo

ein, und tippen Sie dann den Textblock aus der Abbildung "Freshrpms" zu Punkt 7 ab. Sind Sie fertig, drücken Sie <ESC> und sichern die Datei wieder mit ":wq". ein, um die Datei zu speichern und vi zu beenden. Um das Repository zu nutzen, müssen Sie nun noch den GPG-Schlüssel des Servers importieren. Sorgen Sie dafür für eine Internet-Verbindung und geben Sie

rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

ein, um den Schlüssel direkt in die RPM-Datenbank Ihres Systems aufzunehmen. Sie möchten nun den xmms-Player mit MP3-Unterstützung installieren? Ab jetzt kein Problem mehr: Mit dem Kommando

yum remove xmms

entfernen Sie zuerst die eventuell vorhandene xmms-Version ohne MP3-Unterstützung. Danach besorgen und installieren Sie mittels

yum install xmms-mp3

das angepasste Fedora-Paket des Players, der auch MP3 abspielen kann. Genauso besorgen Sie sich bei Bedarf auch die anderen Player, etwa "mpg321", "mplayer" oder "xine".


Hintergrunddienst: yum als Service starten

Ein System, das über eine beständige Internetverbindung verfügt - beispielsweise eine DSL-Flatrate - kann sich mit yum selbstständig auf dem neuesten Stand halten. Dazu lassen Sie yum als nächtlichen Service laufen. Um ihn einzurichten geben Sie mit root-Berechtigung in einem Terminal die drei Kommandos

/sbin/chkconfig --add yum 
/sbin/chkconfig yum on
/sbin/service yum start

ein. Die ersten beiden Befehle fügen yum zu den Services hinzu und der letzte startet den Dienst sofort. Alternativ können Sie dies alles auch über die grafische Benutzeroberfläche erledigen. Gehen Sie dazu in der Menüleiste von Gnome oder KDE auf den roten Hut und dann auf "Systemeinstellungen, Servereinstellungen, Dienste". Setzen Sie der Liste auf der rechten Seite einen Haken vor "yum" und gehen Sie dann auf "Speichern" und "Starten", damit der Dienst ab jetzt läuft. Beachten Sie, dass yum als Dienst nicht interaktiv läuft, sondern im Hintergrund. Rückfragen entfallen, ob Sie ein Paket wirklich aktualisieren möchten, denn yum führt immer ein komplettes System-Update durch. Ein Protokoll darüber, was yum auf den neuesten Stand bringt, oder auch mal entfernt, finden Sie in der Logdatei /var/log/yum.log. Hin und wieder kommt es dann auch vor, dass sich beim nächsten Neustart im Boot-Menü eine neue Kernel-Version zeigt. Aber keine Sorge, Sie müssen dann nicht immer zwangsweise einen neuen Kernel verwenden und dann eventuell einzelne Module neu kompilieren. Denn die älteren Kernel-Versionen und deren Einträge im Bootmenü bleiben in jedem Fall bestehen. Sie können also immer beim Boot entscheiden, mit welchem Kernel das System starten soll.


Wichtige yum-Befehle auf einen Blick

Zwar ist yum ein Kommandozeilentool, aber es kommt ohne kryptische Befehle aus. Die Schalter sind nicht übermässig zahlreich und zudem einfach zu merken. Eine handvoll Kommandos deckt schon die häufigsten Aktionen ab:

yum search <Begriff> Findet Pakete, deren Namen/Beschreibungen auf den angegebenen Begriff passen yum update <Paketname> Führt ein Update des angegebenen Pakets durch, Mehrfachangaben sind möglich yum install <Paketname> Installiert das angegebene Paket und alle, von denen es abhängt yum grouplist Zeigt Gruppen an, zu denen Pakete zusammengefasst sind, etwa "System Tools" yum groupinstall <Gruppe> Installiert alle Pakete, die zur angegebenen Gruppe gehören, etwa "System Tools" yum grouremove <Gruppe> Entfernt alle Pakete der angegebenen Gruppe und löst deren Abhängigkeiten auf yum update Ohne Paketangabe führt yum eine Aktualisierung aller Pakete durch yum remove <Paketname> Entfernt das angegebene Paket und jene, die dann überflüssig sind yum clean packages Löscht zwischengespeicherte Pakete, die nicht automatische gelöscht werden yum clean headers Löscht zwischengespeicherte Header, falls Sie ein Repository entfernen yum clean all Dieser Befehl löscht sowohl Pakete als auch Header aus dem Zwischenspeicher


Alternative zu yum: apt-get und synaptic

Das Prinzip, einem Tool die Suche nach Paketen auf vordefinierten Servern zu überlassen, ist keine neue Erfindung und keinesfalls ein alleinige Merkmal von Fedora Core. Debian-Anwender gerieten immer schon über apt ins Schwärmen, und bei Suse sorgt der YaST Online Updater für frische Programmversionen aus dem Netz. Bei Fedora Core haben Sie die Wahl zwischen mehreren Online-Update-Tools. Zwar ist yum schon mit an Bord und schnell fit für den ersten Einsatz, aber keinesfalls die einzige Möglichkeit, neue Pakete zu installieren. Auch das von Debian bekannte apt lässt sich für die Zusammenarbeit mit inoffiziellen Repositories einrichten. Die offiziellen Server für Fedora Core 3 waren zum Redaktionsschluss noch nicht bereit für apt, aber mit dem Server von Freshrpms funktioniert es bereits. Richten Sie dazu erst wie im Punkt 7 beschrieben Freshrpms für yum ein. Danach besorgen Sie mit dem Kommando

yum install apt

die angepasste apt-Version von Freshrpms. Mehr ist gar nicht zu tun, dieses Repository ist nun für die Verwendung mit apt vorkonfiguriert. Mit

apt-cache search <Paketname>

suchen Sie ein Softwarepaket, und mit

apt-get install <Paketname>

installieren Sie es. Das Ganze gibt es auch mit dem grafischen Front-End "synaptic", das sogar in Deutsch vorliegt. Sie installieren es mit

yum install synaptic

und starten es dann mit dem Kommando "synaptic". Mit der Funktion "Suche" finden Sie ein gewünschtes Paket und können es für die Installation auswählen. Die Abhängigkeiten löst synaptic für Sie auf. Über die Kategorie-Liste auf der rechten Seite verschaffen Sie sich über "Status" einen Überblick zu allen bereits installierten Paketen und können Software gezielt de-installieren. Eine vollständige Erklärung aller Funktionen bietet die englischsprachige Hilfe im Programm.