Paketverwaltung mit urpmi
Quellen entfernen
Das Entfernen von Quellen läuft analog zum Definieren mit dem Programm urpmi.removemedia. Als Parameter wird die zu entfernende Quelle angegeben, die nach dem Aufruf gelöscht wird: urpmi.removemedia clausthal.
Zusätzlich können mit dem Parameter -a alle definierten Quellen gelöscht werden.
Pakete installieren
Das Installieren von Paketen geht mit urpmi sehr leicht von der Hand und ähnelt dem Vorgehen, um mit apt-get auf einem Debian-System etwas zu installieren. Um ein Programm zu installieren, wird urpmi einfach mit dem Paketnamen ohne Versionsnummer aufgerufen, und urpmi lädt bzw. kopiert das Paket von der Quelle herunter und installiert es.
Natürlich berücksichtigt urpmi dabei auch Paketabhängigkeiten und löst sie selbständig auf. In diesem Fall wird der Anwender gefragt, ob die zusätzlichen Pakete installiert werden sollen. Zudem wird die Grösse des Downloads mit angegeben.
Pakete deinstallieren
Pakete werden analog zu dem Installieren mit dem Tool urpme entfernt. Dabei muss nur der entsprechende Paketname angegeben werden, und das Paket wird entfernt. Auch dabei werden Paketabhängigkeiten berücksichtigt, und es wird vorgeschlagen, die zusätzlichen Pakete mit zu entfernen.
Die Pakete werden entfernt und aus der RPM-Paketdatenbank ausgetragen. Dabei werden von rpm auch alle dazugehörigen Dateien entfernt.
Das System aktualisieren
Eine der nützlichsten Einsatzmöglichkeiten von urpmi ist das Aktualisieren eines ganzen Systems von einer bestimmten Quelle. Dazu dient das Programm urpmi.update, das von der Shell aufgerufen wird. Als Parameter wird dem Programm der Name einer Quelle übergeben, von der die Update-Pakete bezogen werden sollen.
Im Wesentlichen läuft das Ganze genau so ab wie das Installieren von Paketen. Im Falle von Abhängigkeiten löst urpmi.update diese auf und fragt ggf. nach. Wird das Programm ohne eine Quelle aufgerufen, zeigt es die verfügbaren Quellen an.
Verwendete Dateien
Sonderlich breit macht sich urpmi nicht auf der Platte. Im Folgenden sind alle Verzeichnisse und Dateien aufgeführt, die von urpmi benutzt werden. Angegeben sind die Standardpfade von Mandrake 8.2, es ist mit Sicherheit auch möglich, andere Pfade zu verwenden.
/etc/urpmi
Hier befinden sich die grundlegenden Konfigurationsdateien von urpmi. In der Datei urpmi.cfg sind die Quellen definiert, inst.list gibt Pakete an, die neu installiert werden müssen und nicht aktualisiert werden können. In der Datei skip.list können Pakete eingetragen werden, die nicht installiert werden sollen.
/var/lib/urpmi
Dieses Verzeichnis enthält alle Paketlisten der einzelnen Quellen, zusammen mit einer Zusammenfassung der RPM-Header. Die Paketlisten sind in den Dateien list.* eingetragen, die Zusammenfassungen in den Dateien hdlist.*.
/var/log/urpmi.log
Diese Datei stellt das urpmi-log dar. Es ist eine ASCII Datei, die untereinander alle Ausgaben der urpmi-Programme enthält.
/var/cache/urpmi
Hier speichert urpmi alle Informationen und Pakete, die es während eines Updates oder einer Installation benötigt. Normalerweise werden die RPMs nach der Installation wieder gelöscht. Um dies zu verhindern, muss urpmi mit dem Parameter --noclean aufgerufen werden. Auch die RPM-Header werden in diesem Verzeichnis zwischengesichert.
/usr/sbin
Hier liegen die Binärprogramme, die zu urpmi gehören, also im Wesentlichen all die Programme, die in diesem Text angesprochen werden.
Literatur/Bezugsquellen
An Dokumentation habe ich im Web recht wenig bezüglich urpmi gefunden. Hilfreich ist auf jeden Fall die Dokumentation im Mandrake Cooker und die Manpage. Zudem ist das Projekt auch bei Freshmeat verlinkt.
Bezogen werden kann urpmi vom Mandrake Cooker auf der Linux-Mandrake Webseite. Bei der Distribution (Mandrake 8.x) sollte das Programm in jedem Fall installiert sein, da die Mandrake-Paketverwaltung darauf basiert.
Offene Fragen
Das einzige, was ich gerne hätte und bislang nicht gefunden habe, ist eine Suche über alle verfügbaren Pakete, so wie sie Debians apt-cache search Ausdruck bietet. Natürlich ist es möglich, in den Dateien unter /var/lib/urpmi selbst zu suchen, aber es mag ja sein, dass es da etwas Netteres gibt, was ich bislang übersehen habe.

