Mit Fedora Core 3 hat der Paketmanager Yum einige Änderungen erfahren. So ist die neue Version leichter konfigurierbar als der Vorgänger. Dieser Artikel erklärt, was sich geändert hat und gibt Tipps zur Benutzung.
Schon seit längerem bringt die Distribution Fedora Core den Paketmanager Yum [1] mit. Dabei handelt es sich um ein textbasiertes Frontend zu RPM, das selbst Abhängigkeiten auflöst und nötigenfalls Pakete aus dem Netz holt [2]. Yum hat sich mittlerweile gut etabliert, wird aber von den Entwicklern immer noch verbessert. Zur Zeit ist bei Fedora Core 3 die Yum-Version 2.2.0 aktuell. Anwender von Fedora Core 2 (oder anderen Systemen) führen als Administrator mit yum update yum ein Update durch. Welche Version installiert ist, zeigt der Befehl yum --version
Die richtige Einstellung
Als zentraler Anlaufpunkt für die Konfiguration dient die Datei /etc/yum.conf. Sie enthält die grundlegenden Optionen, die das Standardverhalten vom Yum festlegen. In Version 1.x fanden sich hier auch die Einträge für die Repositories. Ab Version 2.x können diese in ein separates Unterverzeichnis ausgelagert werden – voreingestellt ist yum.repos.d. Wie in Abbildung 1 zu sehen, steht für jedes Repository jeweils eine Datei, deren Name mit .repo endet.
Mehr Dateien
Da es sich bei den Dateien um reine Text-Dateien handelt, lassen sie sich einfach mit einem beliebigen Texteditor bearbeiten. Listing 1 zeigt den Aufbau der Datei fedora-updates.repo.
Listing 1
Datei
fedora-updates.repo
[updates-released] name=Fedora Core $releasever - $basearch - Released Updates #baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/ mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever enabled=1 gpgcheck=1
In der ersten Zeile muss ein eindeutiger Name stehen, in diesem Fall [updates-released]. Diesen Namen verwendet Yum beim Zugriff auf das Repository und zeigt ihn dabei auch an. Dann erfolgt die Angabe der URL, inklusive der Zugriffsart: Neben http sind noch ftp und file (für lokale Repositories) möglich. Die Angabe erfolgt entweder über das Schlüsselwort baseurl (im Beispiel-Listing auskommentiert) oder mit dem Schlüsselwort mirrorlist, falls der Server eine Liste möglicher Spiegelserver enthält.
Der Eintrag enabled=0 deaktiviert das Repository trotz vorhandener Konfigurationsdatei. Ein deaktiviertes Repository aktiviert man mit der Option --enablerepo=repo beim Aufruf von yum. Das Löschen der repo-Datei entfernt das Repository vollständig. Die Zeile gpgcheck=1 sorgt dafür, dass Yum den PGP-Schlüssel eines Repositories überprüft. Auf diese Weise stellt es sicher, dass ein Paket nicht von Dritten manipuliert wurde. Dieser Test setzt voraus, dass Sie den Schlüssel mit rpm importiert haben. Beim Extras-Server von Fedora sieht das wie folgt aus:
rpm --import http://download.? fedora.redhat.com/pub/fedora/linux/? extras/RPM-GPG-KEY-Fedora-? Extras
Die in den Repo-Dateien festgelegten Einstellungen gelten für das jeweilige Repository und besitzen Vorrang gegenüber den globalen Optionen. Nur Kommandozeilenparameter von yum genießen höhere Priorität.
Neue Konfigurationsdateien
Das Extras-Repository [2] wurde Anfang des Jahres von Fedora freigegeben und enthält zahlreiche zusätzliche Programme für Fedora Core 3. Mit einer geeigneten Konfigurationsdatei binden Sie dieses Software-Archiv in die Yum-Konfiguration ein. Die einfachste Methode besteht darin, eine vorhandene Datei zu kopieren und dann zu modifizieren.
Listing 2
Extra-Pakete für FC3:
fedora-extras.repo
[extras] name=Fedora Extras - $releasever - $basearch baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/ gpgcheck=0 #gpgkey=http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
Listing 2 zeigt den Inhalt der Datei fedora-extras.repo im Verzeichnis /etc/yum.repos.d. Welche Pakete das neue Archiv bietet, listet yum list auf. Dabei steht das Repository extras in der letzten Spalte.
Das Ausgliedern der Repository-Einträge in ein eigenes Unterverzeichnis macht die Konfiguration wesentlich übersichtlicher. Es bannt auch die Gefahr, beim Eintragen eines neuen Repositories die bestehende Konfiguration zu überschreiben.
Repositories ausschalten
Yum hat die unangenehme Eigenschaft, einfach abzubrechen, wenn es auf ein Repository nicht zugreifen kann. In diesem Fall kann man das betreffende Repository bei der Ausführung des Paketmanagers mit Option --disablerepo=repo deaktivieren. Das macht dauerhafte Änderungen an den Konfigurationsdateien bei kurzfristigen Problemen überflüssig. Folgendes Beispiel zeigt das anhand der Repositories sunsite.java und ayo.fresh.
yum --disablerepo=ayo.fresh ? --disablerepo=sunsite.java info xine*
Der Name des anzugebenden Repositories entspricht dem, der in der Konfigurationsdatei in eckigen Klammern steht, nicht etwas dem Dateinamen. Repositories zu aktivieren, die in der Konfigurationsdatei mit der Option enable=0 deaktiviert sind, funktioniert analog mit der Kommandozeilen-Option --enablerepo=repo.
Ein Update besteht aus drei Teilen. Zuerst stellt Yum fest, ob überhaupt ein Update vorhanden ist. Falls ja, fragt es den Anwender, ob es mit dem Einspielen beginnen soll. Dann lädt Yum das Paket herunter und installiert es. Bei einem Systemupdate kann der erste Teil mitunter eine Menge Zeit beanspruchen. Der Anwender muss dann vor dem Rechner warten, bis die Abfrage erscheint. Um das zu vermeiden, gibt es die Option -y, die alle auftretenden Fragen mit Ja beantwortet.
Gelegentlich bleibt Yum ohne weitere Fehlermeldung hängen. In diesem Fall unterbrechen Sie das Programm mit der Tastenkombination [Strg]+[C]. Beim nächsten Start macht Yum dann an dieser Stelle weiter.
Ausnahmen bei Updates
Eine Aktualisierung aller installierten Programme ist in den meisten Fällen recht aufwändig, und nicht jeder verfügt über genügend Zeit dafür oder besitzt eine DSL-Flatrate. Beim OpenOffice-Paket beispielsweise kommt man meist auch ohne Update aus. . Die einzelnen Releases unterscheiden sich oft nur sehr wenig von den Vorgängerversionen.
Der Befehl yum list updates führt zwar verfügbare Updates auf, liefert aber keine Informationen über das zu erwartende Übertragungsvolumen. Beim Beispiel OpenOffice kommen aber schnell mehr als hundert MByte zusammen. Um bestimmte Pakete vom Update auszuschließen, dient die Kommandozeilen-Option --exclude. Sie verhindert im folgenden Beispiel, dass Yum OpenOffice-Pakete anzeigt:
yum --exclude=openoffice* ? list updates
Genauso schließt sie bestimmte Pakete ganz vom Update aus. Behebt ein Update allerdings schwere Sicherheitsmängel einer installierten Version, sollten Sie es auf jeden Fall einspielen. Mehr Informationen zu Yum liefern die Man-Pages zu yum und yum.conf (Abbildung 2). Wer es ganz genau wissen möchte, findet auf der Yum-Homepage auch eine Mailing-Liste, die sich dem Paketmanager widmet.
Nochmal besser
Die aktuelle Version des Paketmanagers Yum bietet etliche Verbesserungen. Die Konfiguration gliedert sich nun in je eine Datei für jedes Repository. Das Programm selbst kennt einige neue Parameter, beispielsweise zur Feinsteuerung von Updates.
Dass Yum gelegentlich einfach hängen bleibt, ist unschön, bringt aber wenigstens die Paketdatenbank nicht durcheinander. Ansonsten stören lediglich die langen Startzeiten. Dieses Problem teilt Yum jedoch mit seinen Gegenstücken bei anderen Distributionen, zum Beispiel Apt-get (Debian) und Yast (Suse). Einen gewissen Preis muss man eben für die Verwaltung tausender Pakete inklusive Abhängigkeiten bezahlen.
Glossar
-
Repository
-
Häufiger Begriff für eine Software-Sammlung auf einem Server im Internet. Während Fedora Yum-Repositories benutzt, greifen Debian und Ubuntu auf Apt-Repositories zurück.
Infos
[1] Homepage des Projekts yum: http://linux.duke.edu/projects/yum
[2] Fedora mit Yum updaten, LinuxUser 10/04, S. 52, http://www.linux-user.de/ausgabe/2004/10/052-yum
[3] Inhaltsverzeichnis der Fedora-Extras: http://download.fedora.redhat.com/pub/fedora/linux/extras/3/i386






