Login
Newsletter
Werbung

Mi, 14. Mai 2003, 00:00

Paketverwaltung mit urpmi

Von Fry3001

Das Tool urpmi und die dazugehörigen Programme stellen eine einfache Möglichkeit dar, RPM-Pakete zu installieren und zu warten. Dabei ist urpmi keine völlig neue Entwicklung, sondern lediglich ein Aufsatz (sog. wrapper) für die bekannten Tools zur Installation von RPM-Paketen, wie z.B. rpm selbst. Das Ziel des von MandrakeSoft entwickelten Tools ist es, die Installation für den Benutzer bequemer und einfacher zu machen, und sich um Abhängigkeiten etc. nicht mehr selbst kümmern zu müssen. Trotzdem ist urpmi ein Konsolenprogramm, das auch ohne grafische Oberfläche einfach zu verwenden ist.

Die Funktionsweise des Programms ist in etwa mit der von apt-get zu vergleichen, das das Debian Paketmanagement darstellt. Während rpm sich um die Installation und das Enfernen der rpm-Pakete kümmert, verwaltet urpmi Paketquellen, benutzt seinerseits rpm zur Installation der Pakete und unterstützt auch mehrere CDs als Quellenangabe. In diesem Falle fragt urpmi nach der richtigen CD, wenn ein Paket installiert wird.

Das Tool ist eine Entwicklung von MandrakeSoft und dürfte im Wesentlichen nur mit dieser Distribution funktionieren, da für den Betrieb von urpmi eine Paketinformations-Datei (hdlist bzw. synthesis) notwendig ist, die die Inhalte der Quellverzeichnisse angibt. Inwiefern andere Distributionen das Tool auch einsetzen, bzw. die Installation auf einer anderen Distribution möglich ist, wäre vielleicht mal einen Versuch wert.

Bestandteile von urpmi

Das urpmi-System besteht aus mehreren einzelnen Tools, die für verschiedene Anwendungsfälle benutzt werden können. So gibt es für das Suchen in Paketen, das Definieren von Quellen und das Installieren der Pakete jeweils eigene Binärprogramme, die von der Shell (als Benutzer Root) direkt aufgerufen werden können.

  • urpmi <Paket>
    Installiert das angegebene Paket und berücksichtigt dabei die Quellenangaben, die vorher definiert worden sind. Dabei werden auch Abhängigkeiten zwischen Paketen berücksichtigt und selbstständig aufgelöst.
  • urpmf <Suchausdruck>
    Sucht in den Paketinhalten nach einer bestimmten Datei, die als Regular Expression angegeben wird. So ist es möglich, zu einer Datei das entsprechende Paket zu finden.
  • urpmi_rpm-find-leaves
    Findet die "Blätter" des rpm-Baums. Ausgegeben werden alle Pakete, die von keinen anderen Paketen benötigt werden. Effektiv sind das die Pakete, die Anwendungsprogramme enthalten, die von keinen anderen Programmen benutzt werden. Die Liste wird nach dem Aufruf einfach untereinander ausgegeben.
  • urpmi.addmedia [Optionen] <Name> <URL>
    Fügt eine urpmi-Quelle hinzu. Name gibt den Namen der neuen Quelle an und ist frei wählbar. Die URL definiert die Quelle und darf eine der folgenden Medientypen sein: http, ftp, file oder removable.
  • urpmi.update <Quellenname>
    Aktualisiert das Sytstem von einer angegebenen Quelle. Alle Pakete werden auf ihre Aktualität geprüft und ggf. von der Quelle neu heruntergeladen und aktualisiert.
  • urpmi.removemedia <Quellenname>
    Entfernt eine Quelle aus den Quellendefinitionen. Als Parameter wird eine gültige Paketquelle angegeben, die nach dem Aufruf entfernt wird.

Zusätzlich zu diesen grundlegenden Programmen gibt es noch einige zusätzliche Tools, die recht sinnvoll sein können:

  • gurpmi <Paketname>
    Eine grafische Oberfläche für urpmi. Gurpmi ist allerdings kein komplettes, interaktives Programm, sondern ein grafisches Pendant zu urpmi. Die Ausgaben werden anstatt auf der Shell in einem X-Fenster ausgegeben.
  • rpmdrake
    Das Tool ist ungleich mächtiger als gurpmi, es stellt die zentrale graphische Oberfläche für die Paketverwaltung auf einem Mandrake-System dar. Am besten lässt es sich mit kpackage vergleichen, allerdings überlässt es die Abhängigkeitsprüfungen urpmi.
  • autoirprn
    Nach der Dokumentation auf der urpmi-Seite im Cooker ist autoirpm ein Tool, um automatisch beim Aufruf ein rpm zu installieren. Bei der Mandrake 8.2 scheint das Programm allerdings nicht auf den CDs zu sein.
  • urpme <Paketname>
    Entfernt ein angegebenes Paket. Der Aufruf ist analog zu rpme bzw. rpm -e &lt;Paket&gt;, dazu werden noch die Abhängigkeiten berücksichtigt.

Quellen definieren

Bevor mit urpmi Pakete installiert werden können, müssen zunächst mal Quellen definiert werden. Das geschieht entweder mit dem textbasierten urpmi.addmedia, oder grafisch via rpmdrake. Auf die Benutzung von rpmdrake gehe ich hier nicht näher ein, da das Programm recht intuitiv ist, und das Definieren der Quellen einfach von der Hand geht. Der Screenshot zeigt die Auflistung der Paketquellen in rpmdrake.

Paketquellen mit rpmdrake

Sven Bröckling

Paketquellen mit rpmdrake

Zunächst brauchen wir eine Paketquelle, um Pakete zu beziehen. Im Normalfall sollten das die Installations-CDs sein, es ist aber auch möglich (und in den meisten Fällen bequemer), eine FTP- oder HTTP-Quelle anzugeben und die Installation von Paketen direkt von einem Server vorzunehmen. Dabei sollte man allerdings beachten, dass die Server sowieso schon unter recht hoher Last stehen, und daß Traffic im Normalfall auch Kosten verursacht. Eine Liste der FTP- und HTTP-Server findet man unter http://www.linux-mandrake.com/ unter Download.

Die Linux Mandrake Download-Seite

Sven Bröckling

Die Linux Mandrake Download-Seite

Die Quellen werden mit dem Programm urpmi.addmedia angelegt, durch den Aufruf von urpmi.addmedia &#91;Optionen&#93; &lt;Name&gt; &lt;URL&gt; &#91;<em>with</em> Relativer Pfad&#93;. Was der relative Pfad bedeutet, werde ich gleich an einem Beispiel noch beschreiben. Zunächst suche ich aus der Mirror-Liste einen nicht allzu langsamen Server und kopiere den Link von der Mandrake-Seite. Dann rufe ich urpmi.addmedia mit dem Link und einem frei gewählten Namen auf. Bei einem FTP-Server muss in jedem Fall die Angabe with Pfad gemacht werden, die den Pfad zur hdlist oder synthesis Liste angibt. Da in der Serverliste keine Informationen darüber stehen, wo diese Datei liegt, gebe ich zunächst den Punkt als Symbol für das aktuelle Verzeichnis an.

urpmi.addmedia clausthal ftp://ftp.tu-clausthal.de/pub/linux/mandrake/8.2/i586/Mandrake/RPMS with .

Das klappt schonmal nicht, urpmi.addmedia findet die hdlist nicht. In diesem Fall bleibt mir wohl nichts anderes übrig, als einen FTP-Client zu benutzen, um die hdlist selbst auf dem Server zu suchen. Bei den meisten FTP-Mirrors ist das kein allzu grosses Problem, da die Liste unterhalb des Mandrake-Spiegelverzeichnisses liegt. Im Falle der TU Clausthal liegt die Liste zwar im gleichen Verzeichnis, trägt jedoch den Namen synthesis.hdlist.cz. Wenn ich das mit einem FTP-Client und ein wenig Raterei herausgefunden habe, gebe ich den hdlist-Namen als Parameter hinter dem Schlüsselwort with an.

urpmi.addmedia clausthal \
ftp://ftp.tu-clausthal.de/pub/linux/mandrake/8.2/i586/Mandrake/RPMS with synthesis.hdlist.cz

Die Quelle ist nun hinzugefügt und in den Konfigurationsdateien unter /etc/urpmi eingetragen. Von jetzt an kann ich von dieser Quelle Pakete installieren. Die Quelle taucht natürlich auch gleich in rpmdrake bei den definierten Quellen auf. Da rpmdrake auch die urpmi-Tools benutzt, kann ich analog zu dem Hinzufügen auf der Shell auch rpmdrake benutzen, um Quellen zu definieren.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung