Definition „Yellowdog Updater, Modified“

Was ist YUM?

| Autor / Redakteur: Gedeon Rauch / Stephan Augsten

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 – 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.

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Grundlagen zu AWS SAM

Serverless-Architekturen unter AWS, Teil 1

Grundlagen zu AWS SAM

In diesem Workshop wollen wir anhand einiger Beispiele lernen, serverlose Architekturen unter AWS bereitzustellen. Den thematischen roten Faden bilden dabei verwaltete AWS-Services, die im Kontext Machine Learning, Spracherkennung, Texterkennung, Bilderkennung stehen. lesen

Oracle Cloud Infrastructure mit Java-Support

Integration des Java Development Kit

Oracle Cloud Infrastructure mit Java-Support

Oracle hat das Development-Kit der Java Standard Edition als festen Bestandteil in die Oracle Cloud Infrastructure integriert. Neben der Protokollierung von Fehlern wirbt der Anbieter mit regelmäßigen Stabilitäts-, Leistungs- und Sicherheitsupdates. lesen

Chef Workstation unter Amazon Linux

AWS OpsWorks for Chef Automate, Teil 2

Chef Workstation unter Amazon Linux

Sobald ein Chef-Automate-Server funktionsfähig ist, kann man sich ans Einrichten einer Chef Workstation machen. Unter AWS installieren wir hierfür nun das Starter-Kit, ChefDK und einige Hilfswerkzeuge. lesen

Die systemübergreifende Kommandozeile

Powershell Core von Microsoft

Die systemübergreifende Kommandozeile

Mit dem Update auf Version 6.0 hat Microsoft seine Powershell in „Powershell Core“ umbenannt. Die neue Shell arbeitet auch unter macOS und Linux, außerdem ist der Quellcode unter MIT-Lizenz verfügbar. lesen

AWS Boto3 installieren und konfigurieren

AWS-Ressourcen mit Python bereitstellen, Teil 1

AWS Boto3 installieren und konfigurieren

AWS-Nutzer können Ressourcen in der AWS-Public-Cloud auf verschiedenen Wegen provisionieren. Die programmatische Variante ist vor allem für Entwickler und in DevOps-Szenarien erste Wahl. Zu den zahleichen unterstützten SDKs gehört auch Boto3 für Python. lesen

Code Coverage bei Embedded Systems

Testnachweis mit knappen Ressourcen

Code Coverage bei Embedded Systems

Der Nachweis der Testabdeckung – auch Code Coverage genannt – wird von zahlreichen Normen und Standards gefordert. Welche Hürden sich damit bei Embedded-Systemen ergeben, erläutert Klaus Lambertz von Verifysoft Technology im Interview. lesen

Installation von Ansible Tower

DevOps-Enabler Ansible, Teil 3

Installation von Ansible Tower

Manch ein IT-Spezialist arbeitet lieber mit Kommandozeilen, doch auch grafische Oberflächen können Vorteile bieten. Bei Ansible wird dies mit Red Hat Ansible Tower realisiert, im dritten Teil unseres Workshops befassen wir uns mit der Installation des Enterprise-Frontends. lesen

Bereitstellung von Ansible

DevOps-Enabler Ansible, Teil 2

Bereitstellung von Ansible

Zwar haben wir uns schon mit der Funktionsweise und dem Einsatzzweck von Ansible beschäftigt. Bevor man die IT-Automation in Angriff nimmt und die ersten Kommandos absetzt, sollte man aber noch ein paar Grundlagen kennen. lesen

Ansible, AWX und Ansible Tower im Überblick

DevOps-Enabler Ansible, Teil 1

Ansible, AWX und Ansible Tower im Überblick

Mit Blick auf die Veröffentlichung von Ansible 2.5 und Ansible Tower 3.2.2 bringt Dev-Insider ein Rundum-Spezial im Kontext von Puppet, Chef und Salt. Dieser Teil klärt, was der Open-Source-Star besser macht als die etablierte Konkurrenz, worin sich Ansible, Ansible Tower und AWX unterscheiden und wer die Player hinter Ansible sind. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46006427 / Definitionen)