Definition „Yellowdog Updater, Modified“ Was ist YUM?

Autor / Redakteur: Gedeon Rauch / Stephan Augsten

YUM – sprich „Yellowdog Updater, Modified“ – dient der Verwaltung von RPM-Paketen in verschiedenen Linux-Distributionen. Der Paketmanager löste das für Yellow Dog Linux entwickelte YUP im als schnellere und verlässlichere Alternative ab.

Anbieter zum Thema

Eine interessante YUM-Funktion ist der History-Befehl, mit dem sich ein kompletter Installationsvorgang samt erzeugter Abhängigkeiten rückgängig machen lässt.
Eine interessante YUM-Funktion ist der History-Befehl, mit dem sich ein kompletter Installationsvorgang samt erzeugter Abhängigkeiten rückgängig machen lässt.
(Bild: Fedora)

YUM erschien 2001 als Nachfolger des Yellowdog UPdater, kurz YUP, um eine einfache Installation von RPM-Paketen zu ermöglichen. Nötig geworden war die Modifikation vor allem deswegen, weil YUP alle Pakete herunterladen muss, um Abhängigkeiten aufzulösen.

YUM hingegen arbeitet nur mit dem nötigen Abändern der wichtigen Kopfzeilen, weswegen die von Seth Vidal programmierte Version schnell zum Standard wurde. Programmierer Vidal schrieb noch bis zu seinem Unfalltod 2013 weiter an Aktualisierungen zu YUM. Mit neuen Updates und stetigen Aktualisierungen fand YUM seinen Weg in die Distribution von Red Hat Enterprise Linux.

Das kostenlose Programm nutzt als Grundlage den RPM-Paketmanager und ein Kommandozeilenprogramm, das allerdings auch die Basis für andere Programme mit grafischem Interface bildet. Zu den prominentesten Beispielen grafischer Wrapper zählt etwa der YUM Extender, auch YUMEX. YUM lässt sich sowohl lokal als auch via Netzwerkverbindung verwenden.

Funktionalität und Nutzung von YUM

Der Yellowdog Updater, Modified ist das primär genutzte Programm zum Installieren, Löschen, Updaten, Auflösen von Abhängigkeiten und Verwalten von RPM-Softwarepaketen in verschiedenen Linux-Versionen. In den weit verbreiteten Linux-Versionen von Red Hat kommt YUM seit Version 5 zum Einsatz.

In seiner Funktionsweise ähnelt YUM damit dem Advanced Package Tool und verwendet den RPM-Standard für das Handling digital distributierter Software. Die Bibliotheken von YUM, die natürlich Linux-typisch quelloffen, sprich Open Source zur Verfügung stehen, sind in Python geschrieben. Die GNU-Lizenz sieht vor, dass YUM gebührenfrei verbreitet und genutzt werden darf.

YUM selbst speichert Programmkonfigurationen in einem eigenen Verzeichnis. Die Repositories für die Pakete können in lokalen Verzeichnissen, auf externen Medien oder auf Servern gespeichert werden. Beim Programmabruf, werden zunächst eingetragene Repositories durchsucht und ggf. neue Kopfzeilen geschrieben, wenn neue Pakete gefunden werden.

So können einfache Befehle wie ...

yum install app XYZ

... von YUM dazu genutzt werden, die Pakete nach dem Namen der App zu durchsuchen. Durch die Kopfzeilensuche funktioniert dies sehr schnell, entsprechende Pakete und zugehörige Pakete können geladen werden.

Über den Befehl ...

yum upgrade

...sucht YUM in den Repositories nach aktualisierten Versionen der installierten Apps und des jeweiligen Linux Kernels. Benötigte RPM-Pakete werden auf der Festplatte zwischengelagert. YUM-Konfigurationen erlauben es, die für den Abruf günstigsten Server zu finden, so dass der Paketmanager selbst nach dem Start noch die Server wechseln kann.

YUM im Linux-Betrieb

In der Praxis hat sich YUM bereits derart als Standard etabliert, dass es für Linux-Systemadministratoren oftmals Pflicht ist, zumindest Grundkenntnisse in der Paketmanagement-Software aufzuweisen. Einige Linux-Versionen nutzen YUM nativ.

Die grafischen Frontends wie YUMEX oder KYUM machen es für User, die weniger Erfahrung in der Bedienung von Kommandozeilen haben, leicht, die volle Funktionalität von YUM für Linux zu nutzen. Unter Fedora 9 nutzt YUM erstmals das grafische Interface PackageKit.

Da YUM aber die Metadaten automatisch mit dem Local Client synchronisiert, während andere Tools nur auf Nutzeranfrage synchronisiert werden, besteht nicht die Gefahr eines Crashes, sollte es nutzerseitig nicht möglich sein, eine Kommandozeile im richtigen Intervall zum Laufen zu bringen. Mit Fedora Core 6 wurde zudem der Updatedienst „yum-updatesd“ eingeführt, welcher automatisch verfügbare Updates für das installierte System installiert.

Durch den Code in Python ist es zudem vergleichsweise einfach, Plug-ins für YUM zu schreiben, was auf User-Seite bedeutet, dass es eine große Anzahl verfügbarer Plug-ins gibt. Diese gehen weit über grafische Frontends hinaus und bieten etwa Komfortfunktionen wie die Prüfung der Download-Geschwindigkeiten bei Serververbindungen oder eine Aktualisierung von externen Kernelmodulen.

Die Open Source Paketverwaltung

Für RPM-Systeme ist die Paketverwaltung durch YUM eine deutliche Vereinfachung, da auch mehrere verbundene Maschinen ohne separate RPM-Verwaltung und manuelle Installation aktualisiert werden können. Durch das einfache Interface für Plug-Ins und eine mehrsprachige, umfassende Dokumentation ist es außerdem leicht zu handhaben. Git-Klone lassen sich ganz leicht, anonym und aufgrund der Open-Source-Lizenz selbstverständlich legal aus dem Netz laden, installieren und vervielfältigen.

(ID:46006427)