Softwarestapel und Ebenen

Ebenen

Die Paketverwaltung kann man leicht in zwei Ebenen aufteilen. Dabei wird jede Ebene durch eine Reihe von Programmen und Bibliotheken repräsentiert (siehe Schichtenmodell zur deb-basierten Paketverwaltung).

werkzeugebenen 2.png
Figure 1. Schichtenmodell zur deb-basierten Paketverwaltung

Untere Ebene

Die Basis bildet dpkg. Dessen Aufgabe ist es a) ein bereits lokal vorliegendes deb-Paket auszupacken und auf dem System einzuspielen und b) die Inhalte eines bereits installierten deb-Pakets wieder aus dem System zu entfernen. Ersteres entspricht dabei dem Kommandozeilenaufruf dpkg -i 'Paketdatei', das zweite hingegen dpkg -r 'Paketdatei' (siehe [pakete-installieren] und [pakete-deinstallieren]).

Für Statusabfragen zu einem einzelnen Paket stützt sich dpkg auf die beiden Hilfsprogramme dpkg-deb und dpkg-query. Dazu gehören bspw. die Schalter -c und -L zum Anzeigen des Inhalts eines Pakets (siehe [paketinhalte-anzeigen-apt-file]) sowie -l zur Auflistung der installierten Pakete (siehe [liste-der-installierten-pakete-anzeigen-und-deuten]), -s zum Erfragen des Paketstaus (siehe [paketstatus-erfragen]) und -S, um das Paket zu finden, in dem eine bestimmte Datei vorkommt (siehe [paket-zu-datei-finden]).

Mit dpkg können Sie Ihre Pakete verwalten und das System vollständig pflegen. Jedoch müssen Sie sich dann aber selbst um alle Komfortfunktionen kümmern. dpkg prüft nur, ob alle Abhängigkeiten zu anderen Paketen erfüllt sind und beendet im Fehlerfall die Aktion. Es nimmt Ihnen weder die automatische Auflösung von Paketabhängigkeiten, noch die richtige Reihenfolge bei der Installation der Pakete ab. Diese Mühe erleichtern Ihnen die Werkzeuge der oberen Ebene.

Tip
Paketverwaltung bei anderen Linux-Distributionen

Das Analogon zu dpkg bei rpm-basierten Distributionen ist rpm, bei Arch Linux ist es Pacman und bei Gentoo erreichen Sie die Funktionalität durch die beiden Programme emerge und equery. Eine komplette Übersicht zu den verschiedenen Programmen finden Sie einerseits in der Pacman-Rosetta (siehe [pacman-rosetta-beschreibung]) sowie in unserer Übersicht im Anhang des Buches (siehe [kommandos-zur-paketverwaltung-im-vergleich]).

Obere Ebene

Bei deb-basierten Distributionen besteht die obere Ebene typischerweise aus dem Werkzeug APT (siehe [apt]). Häufig ist mindestens eines der weiteren Programme wie aptitude (siehe [aptitude]), Synaptic (siehe [gui-synaptic]), Ubuntu Software Center (siehe [gui-ubuntu-software-center]), Muon (siehe [gui-muon]) oder auch PackageKit (siehe [gui-packagekit]) installiert. Die Auswahl variiert und hängt von der von Ihnen gewählten Linux-Distribution und ihren Vorlieben ab.

Alle diese Programme übernehmen die Aufgabe, Ihnen die Installation und die Aktualisierung der einzelnen Programmpakete auf Ihrem System zu vereinfachen und unter möglichst einer Benutzeroberfläche zusammenzufassen. Konkret gehört dazu die Aktualisierung der Liste von Paketen aus den Paketquellen, der Auflösung der Paketabhängigkeiten und die Berechnung der Installationsreihenfolge der von Ihnen ausgewählten Pakete.

Bei der Erfüllung ihrer Aufgaben stützen sich die Programme einerseits auf die beiden Bibliotheken libapt-inst und libapt-pkg (siehe [apt-und-bibliotheken]) und andererseits auf die Werkzeuge aus der unteren Ebene, d.h. vor allem auf dpkg. Es übernimmt die eigentliche Installation, Entfernung oder Aktualisierung (siehe untere Ebene). Sichtbar wird dies insbesondere, wenn Sie ein Paket mit apt-get oder aptitude installieren. Einen Teil der Ausgaben auf dem Terminal steuern dpkg und die o.g. Bibliotheken bei.

Paketformate und -werkzeuge anderer Distributionen

Bei rpm-basierten Distributionen RedHat, Fedora und CentOS heißen die Werkzeuge Yellowdog Updater, Modified (YUM) [YUM], bei SuSE und openSUSE Zypper [Zypper] und Yet another Setup Tool (YaST). Mageia Linux und Rosa Linux nutzen hingegen urpmi [Mageia-urpmi]. rpmdrake [rpmdrake] setzt auf urpmi auf und ist das Pendant zum graphischen Werkzeug Synaptic. Aufgrund der einfachen Benutzbarkeit wird es häufig Einsteigern empfohlen.

Werkzeuge, die verschiedene Paketformate unterstützen

Darüber hinaus gibt es Programme, die mit mehreren unterschiedlichen Paketformaten umgehen können. Dazu zählen Muon (siehe [gui-muon]), der Smart Package Manager (SmartPM) (siehe [gui-smartpm]) und PackageKit (siehe [gui-packagekit]). Muon und SmartPM können die Paketformate deb, rpm und tar.gz (Slackware) verarbeiten sowie die bereits oben genannten Verwaltungen APT, YUM und urpmi ansprechen. Weitere Informationen dazu finden Sie unter ``Frontends für das Paketmanagement'' in [frontends-fuer-das-paketmanagement].

results matching ""

    No results matching ""