RPM-Frontend Yum

Das Python-Tool Yum [2] wurde ursprünglich von Seth Vidal an der Duke Universität in den USA entwickelt. Viele Linux-Distributionen setzten es mittlerweile als RPM-Frontend ein. Yum kümmert sich transparent um die Abhängigkeiten zwischen verschiedenen Paketen und löst diese beim Installieren und Deinstallieren selbständig auf. Das gilt sowohl für lokal vorliegende Pakete als auch solche aus den Software-Repositories. Yum greift auf diese über die Netzwerkprotokolle FTP und HTTP zu. Jedes eingebundene Repository besitzt auf dem Client eine Konfigurationsdatei, die es beschreibt. Dieses liegt üblicherweise im Verzeichnis /etc/yum.repos.d/. Die Konfigurationsdatei des Fedora-Repositories sieht aus wie in Listing 4 zu sehen.

Listing 4
# cat /etc/yum.repos.d/fedora.repo
[fedora]
name=Fedora Repository
baseurl=http://Pfad_zum_Verzeichnis/
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=http://fedoraproject.org/static/57BBCCBA.txt

Sie dient Yum als Grundlage zum Verwalten der Onlinedatenquellen. Die Option gpgcheck legt fest, dass Yum jedes Paket vor der Installation auf Integrität und Authentizität überprüft. Das geschieht mithilfe einer digitalen GPG-Signatur, die dem RPM-Paket optional beiliegt. Der zur Authentisierung notwendige Schlüssel muss in der lokalen RPM-Datenbank vorhanden sein. Ist das nicht der Fall, so lädt Yum diesen von der unter gpgkey angegeben URL herunter, und importiert ihn in die Datenbank. Manuell importieren Sie den Schlüssel mit # rpm --import Keydatei. Der Authentitätscheck erfolgt über rpm -K Paket.

Möchten Sie beispielsweise das Paket cobbler aus dem Fedora-Repository installieren, tippen Sie in der Konsole yum install cobbler. Da Cobbler das Paket httpd als Abhängigkeit benötigt, lädt Yum es direkt mit herunter und installiert es.

Um ein Paket mithilfe eines Schlagworts zu suchen, verwenden Sie den Aufruf # yum search Schlagwort. Um die Paketbeschreibung zu erhalten tippen Sie # yum info Paketname (Abbildung 1). Yum berücksichtigt dabei alle eingetragenen Repositories.

Abbildung 1: Über yum search suchen Sie nach einem bestimmten Paket, yum info zeigt die Informationen dazu an.

Damit Yum nicht bei jeder Abfrage eine neue Netzwerkverbindung aufbauen muss, lädt es beim ersten Kontakt mit einem Repository bestimmte Metadateien herunter und speichert diese lokal im Verzeichnis /var/cache/yum. Diese Metadateien enthalten Informationen über die Pakete, die das Repository bereitstellt. Dazu zählt unter anderem die Angabe, zu welchen Paketgruppen die einzelnen Pakete gehören. Diese Daten hält Yum einen festgelegten Zeitraum im Cache vor. Wie lange der ausfällt, legt die Option metadata_expire in der Konfigurationsdatei fest. Nach Erreichen des Zeitraums fragt Yum beim nächsten Kontakt mit dem Repository aktualisierte Metadateien ab und speichert sie erneut.

Yum eignet sich auch zum Installieren ganzer Paketgruppen. Der Aufruf yum grouplist zeigt alle verfügbaren Gruppen an, yum groupinstall Gruppenname installiert die gewünschte. Welche Pakete zu einen Gruppe gehören, verrät der Schalter groupinfo.

Um ein lokales Paket zu installieren, verwenden Sie die Option localinstall. Auch in diesem Fall löst der Paketmanager die Abhängigkeiten auf, und lädt diese wenn nötig aus den Online-Repositories nach. Um Pakete und Gruppen vom System zu entfernen, verwenden Sie die Schalter remove und groupremove.

Als grafisches Frontend für RPM setzt Suse beispielsweise YaST ein, aktuelle Fedora-Systeme stellen das GPK-Tool (Package Manager for Gnome) bereit (Abbildung 2). Es bietet den gleichen Funktionsumfang wie Yum.

Abbildung 2: Fedora verwendet als grafische Benutzeroberfläche für RPM den Gnome Package Manager, kurz GPK.

Do it yourself

Um selbst Pakete im eigenen Repository anzubieten, benötigen Sie lediglich einen Web- oder FTP-Server. Kopieren Sie alle Dateien, die Sie anbieten möchten, in ein Verzeichnis – beispielsweise /var/ftp/pub. Damit Benutzer auch über HTTP auf die Dateien zugreifen können, erzeugen Sie im Document-Root des Webservers mit dem Aufruf # ln -s /var/ftp/pub/ /var/www/html symbolischen Link darauf.

Die notwendigen Yum-Metadateien erzeugt der Befehl # createrepo /var/ftp/pub/. Danach enthält das angegebene Verzeichnis einen Unterordner namens repodata. In diesem befinden sich verschiedene Metadateien, die der Client beim ersten Kontakt mit dem Repository herunterlädt und lokal speichert. Damit ein Client nun Pakete aus dem Repository beziehen kann, muss dieser noch über eine entsprechende Yum-Konfigurationsdatei im Verzeichnis /etc/yum.repos.d/ verfügen.

Da Yum lediglich Dateien mit der Endung .repo beachtet, nennen Sie die eigene Konfigurationsdatei myrpms.repo. Diese muss mindestens die folgenden Zeilen enthalten:

[myrpms]
baseurl=ftp://foo.bar.de/pub/
enabled=1
gpgcheck=1

Bei baseurl tragen Sie den Namen oder die IP-Adresse des eigenen Servers ein. Alternativ verwenden Sie als Übertragungsprotokoll HTTP. Benutzer können jetzt auf Yum-Repository zugreifen, und es in ihren Client einbinden.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • tHTTPd
    Sie wollen auf die Schnelle ein Verzeichnis freigeben, auf das andere per Web-Browser zugreifen können? Dafür extra den Apache-Server zu starten, hieße, mit Kanonen auf Spatzen zu schießen. Einfacher geht's mit tHTTPd.
  • RPM-Datenbank in der Konsole
    Installations-Tools für RPM-Pakete gibt es in allen Farben und Formen, von Gnorpm über Kpackage bis hin zu YaST. Wer jedoch schnell und zielstrebig arbeitet, wird sich gern mit dem Kommandozeilenwerkzeug rpm anfreunden.
  • checkinstall
    Wer unter Linux viel aktuelle Software ausprobiert, kennt das Problem: Neueste Programmversionen existieren oft nur als tar-Archiv und lassen sich lediglich unter Klimmzügen wieder deinstallieren. Checkinstall schafft Abhilfe.
  • Software-Management mit YaST erklärt
    OpenSuse bringt auf der DVD schon sehr viele Anwendungen mit. Um allerdings das Bestmögliche aus der Distribution herauszuholen, benötigen Sie ein paar Programme aus dem Internet. Dieser Artikel zeigt Ihnen, wie das funktioniert und stellt dabei das Software-Management vor.
  • Die besten Paketquellen
    Was die Distributoren nicht paketieren, finden Sie Netz. Wir zeigen, wie Sie Ihr System mit inoffiziellen Repositories komplettieren.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Data Security
jesse james, 18.12.2017 18:04, 1 Antworten
Hallo zusammen! Ich bin PC- Neuling. Ich habe gehört, dass man für Linux keine Firewall und ke...
EasyBCD/NeoGrub
Wolfgang Conrad, 17.12.2017 11:40, 0 Antworten
Hallo zusammen, benutze unter Windows 7 den EasyBCD bzw. NEOgrub, um LinuxMint aus einer ISO Dat...
Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...