Open Source im professionellen Einsatz
Linux-Magazin 02/2008

Paketmanager im Admin-Alltag

Praxistest

Will ein Anwender Software installieren, die der Distributor nicht auf der Installations-DVD oder online liefert, ist oft Handarbeit angesagt. Wie gut die Debian- und Suse-Tools den Benutzer dabei unterstützen und wie gut sich der Smart-Paketmanager als Alternative eignet, testet diese Bitparade

761

Die Paketverwaltung unter Linux zeigt sich im Vergleich mit anderen Betriebssystemen leistungsstark: Die DVD oder Online-Repositories einer Linux-Distribution enthalten Hunderte, oft Tausende in ihrem Zusammenspiel getestete Softwarepakete. Abhängigkeiten wie Bibliotheken schließt der Paktemanager beim Installieren neuer Pakete automatisch ein. Da er jede Datei säuberlich in einer Datenbank registriert, lässt sich Software anders als unter Windows auch wieder rückstandsfrei entfernen. Ein unkontrolliertes Überschreiben von Bibliotheken lässt der Paketmanager nicht zu - die Windows-DLL-Hölle ist unter Linux ein Fremdwort.

Doch trügerisch ist jede Idylle. Was die Paketverwaltung unter Linux angeht, hat sie nur so lange Bestand, wie der Benutzer bei der vom Linux-Distributor zur Verfügung gestellten Software bleibt. Richtet er seinen Blick aber auf verbotene, sprich vom Distributor nicht vorgesehene Früchte, muss er diese meist im Schweiße seines Angesichts installieren. Diese Bitparade konfrontiert die Paketverwaltungslösungen von Debian, Ubuntu und Suse sowie den nicht an eine Distribution gebundenen Paketmanager Smart mit fünf Praxisszenarien.

Die Kandidaten

Bei den Paketverwaltungssystemen haben Debian Linux und dessen Derivate den besten Ruf: Apt-get gilt als schnell und zuverlässig. Im Test zeigt er aber nur beschränkte Intelligenz beim Auflösen von Paketabhängigkeiten (Abbildung 1). Dies gilt ebenso für das X-Window-Programm Synaptic. Nicht zu Unrecht löst mit Debian Etch das Kommandozeilen-Tool Aptitude Apt als "bevorzugte Methode zur Paketverwaltung" ab [1]. Außer dem gewöhnlichen Kommandozeilen-Interface bietet Aptitude auch eine Ncurses-Oberfläche (Abbildung 2).

Abbildung 1: Schnell, aber nicht klug: Apt-get leistet sich deutliche Schwächen beim Auflösen der Paketabhängigkeiten. Die Fehlermeldung verschleiert zudem den Grund, warum sich ein Paket nicht installieren lässt.

Abbildung 2: Würdiger Erbe: Ab Debian 4.0 ersetzt Aptitude Apt als Standard-Paketmanager. Die neue Anwendung löst Abhängigkeiten besser auf und bietet außer dem Kommandozeilen-Interface auch ein Ncurses-basiertes GUI.

Unter Open Suse gilt die Paketverwaltung seit Version 10.1 als Sorgenkind: Das Einführen des neuen Dependency-Solvers Libzypp in der fortgeschrittenen Betaphase [2] führte zu einem äußerst trägen und zudem instabilen »Software«-Modul von Yast (Abbildung 3). So viele Benutzer stiegen auf Apt für RPM um - einem Port des Debian-Dependency-Solvers für RPM-Systeme -, dass von Suse unabhängige Repositories ihre Software überwiegend im zugehörigen Repository-Format bereitstellten.

Abbildung 3: Sorgenkind: Zwar bietet das Yast-Modul »Software« viele Funktionen und lässt dem Benutzer viel Freiheit. Doch selbst nach den Performance-Nachbesserungen in Open Suse 10.3 kostet die Paketverwaltung Zeit und Nerven.

Der Smart-Paketmanger [3] überrascht zunächst damit, dass er auf vielen Distributionen läuft. Die überwiegend in Python geschriebene Software nutzt die distributionseigenen Manager wie RPM oder Dpkg als Basis, enthält aber eigene Algorithmen für die Auflösung der Abhängigkeiten. Smart versteht auch viele Repository-Formate. Er bindet Yast-, Yum-, Redcarpet- und Urpme-Repositories ebenso ein wie RPM- oder Debian-Pakete, die in lokalen Verzeichnissen ohne Repository-Struktur liegen.

Auch mit Smart lassen sich jedoch Softwarepakete in der Regel nur auf jener Distribution installieren, für die sie konzipiert sind. Immerhin bietet die Software für viele Linux-Distributionen ein gleichbleibendes Kommandozeilen- und GUI-Interface (Abbildung 4).

Abbildung 4: Vielversprechende Ansätze, insgesamt allerdings noch im Betastadium. Der Smart-Paketmanager trägt seinen Namen zu Recht, leistet sich aber gelegentlich noch Programmabstürze.

Szenario 1

Der Anwender hat die Bibliothek XYZ in der neuesten Version kompiliert, die wichtige Verbesserungen bietet oder Sicherheitslücken schließt. Nach der Installation und - falls »make install« dies nicht schon übernimmt - einem Aufruf von »ldconfig«, steht die Bibliothek für alle Programme des Systems zur Verfügung, doch die Paketverwaltung weiß nichts davon.

Der Natur der Sache gemäß gilt dies sowohl für Debian- als auch für RPM-Systeme. Dennoch sind die Auswirkungen für die Praxis unter Debian/Ubuntu und unter Suse unterschiedlich. Jedes Paketmanagement-System wählt die Bibliothek XYZ zunächst automatisch aus, sobald eine zu installierende Software sie voraussetzt. Doch in Yast kann der Anwender unerfüllte Abhängigkeiten ignorieren und die gewünschte Software so installieren.

Das Umgehen der Paketverwaltung und mehr noch das Ignorieren von Abhängigkeiten ist ein zweischneidiges Schwert. Die Aufgabe, festzuhalten, dass und in welcher Version Bibliothek XYZ auf dem System installiert ist, kann die Paketverwaltung nicht mehr übernehmen, sie liegt jetzt in der Verantwortung des Anwenders. Die Debian-Policy ist es, ihm diese Verantwortung auch auf Wunsch nicht zu übertragen: Das Debian-Paketsystem quittiert den Dienst, wenn es auf einem System unerfüllte Abhängigkeiten gibt. Dann lassen sich auch keine Pakete mehr installieren, die die fehlenden Komponente gar nicht benötigten - eine unnötige Einschränkung. Die Smart-Entwickler betonen, dass ihr Paketmanager auch noch auf Systemen mit defekten Abhängigkeiten funktioniert [4].

Linux-Magazin kaufen

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

Deutschland

Ähnliche Artikel

  • Smarte Gala auf der Treppe

    Die üblichen Paketmanager wie Yum, Apt oder RPM werfen allen in die Abhängigkeiten-Hölle Geratenen bestenfalls Strickleitern zu. Das weitgehend distributionsunabhängige Smart-System errichtet den Verdammten dagegen eine Galatreppe.

  • Sie packen das

    Es trifft jeden Systemverwalter, aber auch normaler Anwender bleiben davon nicht verschont: der Alptraum der Paketabhängigkeiten, den jede Linux-Distribution mit sich bringt. Dieser Schwerpunkt im Linux-Magazin lässt die Betroffenen ruhiger schlafen.

  • Apt intern

    Wer auf Debian- und Ubuntu-Rechnern ein Upgrade anschiebt, setzt im Hintergrund eine Reihe unsichtbarer Mechanismen in Gang, die sich gegenseitig bedingen und die Apt-Spezialist und -Maintainer Michael Vogt in diesem Artikel im Detail erklärt.

  • Bitparade

    Die grafischen Paketmanager der großen Distributionen erleichtern die Programmauswahl und Paketinstallation vor allem für Ein- und Umsteiger. Doch auch Linux-Kenner finden in den Softwarecentern einige interessante und pfiffige Funktionen, wie diese Bitparade zeigt.

  • Login
comments powered by Disqus

Ausgabe 01/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.