6.4. GUI zur Paketverwaltung

6.4.1. Synaptic

Das Programm steht im gleichnamigen Paket synaptic [Debian-Paket-synaptic] bereit. Es verfügt über eine graphische Bedienoberfläche auf der Basis des Gimp Toolkits (GTK2) und war lange Zeit das empfohlene Programm zur Paketverwaltung für die Benutzer des Ubuntu-Desktops. Zwischenzeitlich sind bei Ubuntu diverse, mehr an Apples App-Store denn an Aptitude erinnernde GUI-Frontends gekommen und wieder gegangen. Aber zumindest scheint sich Ubuntu auf PackageKit als Middleware zwischen GUI und dem eigentlichen Pakete installieren, aktualisieren und entfernen eingeschossen zu haben.

Abbildung 6.6. Softwareauswahl in synaptic

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/synaptic.png

Synaptic bedienen Sie über die Menüleiste, eine Reihe von Knöpfen darunter und eine dreispaltige Paketübersicht. Die Darstellung konfigurieren Sie über die Menüpunkte EinstellungenEinstellungen und EinstellungenWerkzeugleiste. Abbildung 6.7, „Farbige Markierungen der Pakete gemäß ihrem Installationsstatus (Synaptic)“ zeigt als Beispiel das Dialogfenster, über welches Sie die Farben zum jeweiligen Installationsstatus eines Pakets festlegen.

Abbildung 6.7. Farbige Markierungen der Pakete gemäß ihrem Installationsstatus (Synaptic)

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/synaptic-setup-farben.png

Über den Knopf Eigenschaften erfahren Sie mehr über das gerade von Ihnen ausgewählte Paket. Dazu zählen Allgemeine Informationen, die Paketabhängigkeiten, die installierten Dateien, die verfügbaren Paketversionen sowie eine ausführliche Paketbeschreibung. Abbildung 6.8, „Allgemeine Paketeigenschaften für das Paket ding (Synaptic)“ zeigt die Informationen zum Paket ding.

Abbildung 6.8. Allgemeine Paketeigenschaften für das Paket ding (Synaptic)

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/synaptic-paketinfo.png

Unter der Menüleiste und den Knöpfen finden Sie die dreispaltige Paketübersicht. Links finden Sie verschiedene Auswahlknöpfe, oben rechts die Paketliste und unten rechts die Paketbeschreibung im Detail. Abbildung 6.6, „Softwareauswahl in synaptic zeigt Ihnen die Gesamtansicht anhand des Pakets a2ps.

Die linke Spalte zeigt zunächst die Architektur (Abschnitt 1.2, „Debian-Architekturen“). Über die einzelnen Knöpfe darunter schalten Sie zur Ansicht nach den Paketkategorien (Sektionen) (Abschnitt 2.8, „Sortierung der Pakete nach Verwendungszweck“) sowie dem Ursprung bzw. der Herkunft der Pakete (Abschnitt 3.1, „Paketquellen“), der Veröffentlichung (Abschnitt 2.10, „Veröffentlichungen“) und dem Distributionsbereich (Abschnitt 2.9, „Distributionsbereiche“) um.

In der Paketliste oben rechts beinhalten die Spalten den Installationsstatus (Status), eine Information zur Herkunft des Pakets, den Paketnamen, die installierte und die verfügbare Version und eine kurze Paketbeschreibung. Zusätzlich können Sie als Spalten den Distributionsbereich, die Veröffentlichung und die Größe des Pakets nach der Installation ergänzen. Mit einem Mausklick auf den jeweiligen Spaltenkopf sortieren Sie die Paketliste nach der jeweiligen Eigenschaft.

Die rechte untere Spalte zeigt die ausführliche Paketbeschreibung an. Über den linken Knopf (Bildschirmfoto herunterladen) beziehen Sie ein Bildschirmfoto, sofern dieses hinterlegt ist[18]. Über den rechten Knopf (Änderungsprotokoll abrufen) zeigt Ihnen Synaptic die Änderungsdatei (engl. Changelog) zum ausgewählten Paket an.

Um ein Paket zu installieren, wählen Sie dieses zuerst über den Menüeintrag PaketZum installieren vormerken (alternativ Strg+I oder einen Rechtsklick) aus. Über den Menüeintrag BearbeitenVorgemerkte Änderungen anwenden (alternativ Strg+P oder den Knopf Anwenden) lösen Sie die Installation aus. In ähnlicher Art und Weise verfahren Sie beim Löschen und Aktualisieren von Paketen. Synaptic prüft bei jeder Aktion die Paketabhängigkeiten und bezieht die weiteren Pakete in die Verarbeitung mit ein, damit ihr Linuxsystem stets in einem konsistenten Zustand bleibt.

Möchten Sie hingegen eine ganze Paketgruppe installieren, bietet Synaptic die gleiche Funktionalität wie das Werkzeug tasksel (siehe Abschnitt 6.3.1, „tasksel“). Dazu nutzen Sie den Menüpunkt BearbeitenPakete nach Aufgaben vormerken. Daraufhin erscheint ein ähnliches Auswahlfenster wie in Abbildung 6.9, „Paketauswahl einer ganzen Aufgabengruppe (Synaptic)“, aus deren Liste sie die gewünschte Aktion markieren. Alle Pakete, die der ausgewählten Aufgabe zugeordnet sind, gelangen damit in die Vorauswahl und können daraufhin über den Knopf Anwenden installiert werden.

Abbildung 6.9. Paketauswahl einer ganzen Aufgabengruppe (Synaptic)

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/synaptic-tasksel.png

6.4.2. Muon

Muon ist ein Paketmanager für KDE und als Klon von Synaptic (siehe Abschnitt 6.4.1, „Synaptic“) einzustufen. Es setzt auf dem graphischen Framework Qt auf und kommt bislang speziell in der Distribution Kubuntu [Kubuntu] zum Einsatz. Für Debian ist das gleichnamige Paket muon [Debian-Paket-muon] seit der Veröffentlichung Debian 9 Stretch verfügbar, für Ubuntu bereits ab der Veröffentlichung 12.04 Precise Pangolin.

Abbildung 6.10. Softwareauswahl in muon

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/muon.png

Pakete können durch Auswahllisten nach der Softwarekategorie, dem Paketstatus, der Architektur und der Herkunft gefiltert werden. Dazu kommt ein Filter nach Zeichenketten in Paketnamen und -beschreibung. Zu beachten ist dabei, dass die verschiedenen Auswahlmenüs der Filter mit "und" verknüpft werden. Beim Wechsel in eine andere Filterkategorie kommt es daher schnell vor, dass kein Paket mehr in der Paketliste angezeigt wird, falls man vergessen hat, den Filter einer vorherigen Suche wieder zu entfernen bzw. auf "Alle" zu setzen.

Wählen Sie ein Paket mit einem Mausklick aus, so stellt Muon im Fensterbereich unter der Paketliste Metadaten und Details über das Paket dar. Dies umfaßt u.a. die Paketbeschreibung, die Paketabhängigkeiten, verfügbare Versionen, den Paketinhalt (Dateien im Paket), den Paketbetreuer, die installierte Größe der Software, die Downloadgröße und das Quellpaket, aus dem das Binärpaket gebaut wurde.

6.4.3. Smart Package Management (SmartPM)

Im Paket smartpm [Debian-Paket-smartpm] verbirgt sich das gleichnamige Programm zur Paketverwaltung. Zunächst etwas unscheinbar, entpuppt es sich aber bei näherer Betrachtung als eine Art Alleskönner und mindestens gleichwertiges Pendant zu Synaptic (siehe Abschnitt 6.4.1, „Synaptic“).

SmartPM verfügt über drei Bedienmodi. Erstens hat es ebenfalls eine graphische Bedienoberfläche auf der Basis des Gimp Toolkits (GTK2), lässt sich jedoch zweitens auch über die Kommandozeile mit mehreren Schaltern steuern und verfügt als drittes noch über eine Paketverwaltungsshell analog zu wajig (Abschnitt 8.44.6, „wajig) und zu cupt (Abschnitt 6.2.5, „Cupt“).

Für ersteres rufen Sie SmartPM im Terminal über das Kommando smart --gui auf oder wählen den entsprechenden Eintrag aus dem Menü Ihrer Desktop-Umgebung aus. In Abbildung 6.11, „Softwareauswahl in smartpm sehen Sie die zweispaltige Darstellung — links die Paketkategorien, rechts oben die Paketliste mit Paketname samt Versionsnummer und rechts unten die ausführliche Paketbeschreibung — hier am Beispiel des Pakets kexi. Unter dem Reiter General verbergen sich die Basisinformationen zum Paket, Description bietet die Paketbeschreibung, Content die Dateien aus dem Paket, Changelog die Veränderungen zur vorherigen Version, Relations die darüber bereitgestellten, verfügbaren und zusätzlich benötigten Pakete. Unter dem Reiter URLs verbergen sich weitere Referenzen zum Paket.

Abbildung 6.11. Softwareauswahl in smartpm

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/smartpm.png

Für die Benutzung von SmartPM über die Kommandozeile starten Sie das Programm über den Aufruf smart mit der gewünschten Aktion und dem Paketname. Analog zu APT bzw. aptitude stehen bspw. die Unterkommandos install, remove und upgrade bereit.

Über den Aufruf smart --shell erreichen Sie die Paketverwaltungsshell. Darin nutzen Sie die gleichen Unterkommandos und Schalter wie bei obigem Aufruf über die Kommandozeile. Nachfolgendes Beispiel zeigt das Unterkommando info, welches hier alle Paketinformationen zum Paket kexi ausgibt.

Paketinformationen zu kexi in der Shell von SmartPM. 

$ smart --shell
Smart Package Manager 1.4 - Shell Mode

Loading cache...
Updating cache...              ####################################### [100%]

smart> info kexi
Name: kexi
Version: 1:2.4.4-3
Priority: 0
Source: calligra_1:2.4.4-3
Group: database
License:
Installed Size: 8.8MB
Reference URLs: http://www.calligra-suite.org/kexi/
Flags:
Channels: DEB System
Summary: integrated database environment for the Calligra Suite
Description:
 Kexi is an integrated data management application. It can be used for
 creating database schemas, inserting data, performing queries, and
 processing data. Forms can be created to provide a custom interface to
 your data. All database objects - tables, queries and forms - are stored
 in the database, making it easy to share data and design.
 .
 Kexi is considered as a long awaited Open Source competitor for MS Access,
 Filemaker and Oracle Forms. Its development is motivated by the lack of
 Rapid Application Development (RAD) tools for database systems that are
 sufficiently powerful, inexpensive, open standards driven and portable
 across many operating systems and hardware platforms.
 .
 This package is part of the Calligra Suite.

smart>

SmartPM wirkt sehr ausgereift und verfügt zudem über eine Reihe von Besonderheiten. Es kann sowohl mit Paketen im deb- als auch in den verschiedenen rpm-Formaten umgehen. Das kann recht praktisch in gemischten Umgebungen sein. Im Gegensatz zu APT und aptitude gestattet es die Auswahl einer oder mehrerer Paketquellen zur Aktualisierung — bei APT sind nur alle aktiven auf einmal möglich.

Analog zu APT und aptitude kennt SmartPM auch diverse Markierungen. Das sind beispielsweise Flags, die anzeigen lassen, ob ein Paket seit der letzten Aktualisierung der Paketlisten neu hinzukam, ob ein Paket nicht aktualisiert werden darf („lock“, „hold“), oder ob ein Paket automatisch installiert wurde[19].

Allerdings stammt die letzte Veröffentlichung von SmartPM von 2011 [SmartPM] und es wurde 2019 aus Debian entfernt [SmartPM-RM], nachdem ebenfalls seit 2011 kein Änderungen mehr am Paket passiert und es auf Python 2 und PyGTK aufbaute, die beide "End of Life" sind, d.h. keinerlei Sicherheitsaktualisierungen mehr bekommen. Noch enthalten ist es in Debian 10 Buster und Ubuntu 18.04 LTS Bionic.

Zusätzlicher Lesestoff

Eine ausführliche Beschreibung zum Programm mit weiteren Beispielen zur Konfiguration und zur Handhabung entnehmen Sie bitte dem Linux-User-Artikel zum gleichen Thema [Hofmann-Smartpm-LinuxUser].

6.4.4. PackageKit

PackageKit ist eine allgemeine, distributionsneutrale Schnittstelle für unterschiedliche Paketverwaltungen, eine sogenannte Abstraktionsebene für die Paketverwaltung (package management abstraction layer). Das Designziel besteht darin, alle graphischen Werkzeuge zu vereinigen, die bei den verschiedenen Linuxdistributionen im Einsatz sind und gleichzeitig auf die neueste Technologie wie PolicyKit[20] umzustellen. PackageKit ist nicht dafür gedacht, hochspezialisierte Paketverwaltungssoftware zu ersetzen.

Seit 2009 nutzt die Linuxdistribution Kubuntu [Kubuntu] diese Schnittstelle für seine Paketverwaltung im Rahmen von Muon (siehe Abschnitt 6.4.2, „Muon“). Weitere Anwendungen, die auf PackageKit aufsetzen, sind z.B. das Paket apper [Debian-Paket-apper] für den KDE, das Paket gnome-packagekit [Debian-Paket-gnome-packagekit] für GNOME (siehe Abbildung 6.12, „Gnome Packagekit mit ausgewähltem Paket dctrl-tools) und das Installationsprogramm zu Openmoko [OpenMoko].

Abbildung 6.12. Gnome Packagekit mit ausgewähltem Paket dctrl-tools

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/gnome-packagekit.png

PackageKit kann über die Interfaces APT und aptcc (Paket packagekit-backend-aptcc [Debian-Paket-packagekit-backend-aptcc]) an APT andocken. Ähnliches liefert das Paket packagekit-backend-smart [Debian-Paket-packagekit-backend-smart] für die Zusammenarbeit mit SmartPM (Abschnitt 6.4.3, „Smart Package Management (SmartPM)“) bzw. packagekit-command-not-found [Debian-Paket-packagekit-command-not-found] für die Installation fehlender Pakete via command-not-found. Das Werkzeug command-not-found steht unter „Fehlende Pakete bei Bedarf hinzufügen“ in Kapitel 17, Fehlende Pakete bei Bedarf hinzufügen im Mittelpunkt.

6.4.5. GDebi

Initial nur für Ubuntu entwickelt, verbirgt sich unter dem Namen GDebi [gdebi] ein kleines, seit 2004 von Michael Vogt betreutes Programm. Auf den ersten Blick wirkt GDebi recht unscheinbar, füllt aber genau die kleine Lücke zwischen den Kommandos dpkg -i und apt-get install (siehe Abschnitt 6.2.1, „dpkg, Abschnitt 6.2.2, „APT“ und Abschnitt 8.38, „Pakete installieren“). Die Besonderheit von GDebi liegt darin, dass es lokal vorliegende deb-Pakete installieren kann, während es deren Abhängigkeiten aus den Repositories via APT auflöst und daraus die zusätzlich benötigten Pakete bezieht. Damit eignet es sich besonders gut, um zugesandte, selbst erstellte oder auch manuell heruntergeladene Pakete zu installieren.

GDebi besteht aus mehreren Komponenten — einem Kommandozeilenprogramm namens gdebi (aus dem Paket gdebi-core [Debian-Paket-gdebi-core]) und einer, ehemals zwei graphischen Bedienoberflächen. Die GTK-basierte Variante namens gdebi-gtk (aus dem Paket gdebi [Debian-Paket-gdebi] — siehe Abbildung 6.13, „gdebi mit den Informationen zum Paket apt-doc) wird aktiv gepflegt und weiterentwicklet. Die KDE-Variante namens gdebi-kde (aus dem gleichnamigen Paket gdebi-kde [Debian-Paket-gdebi-kde]) wird nicht mehr weiterentwickelt und gab es zuletzt in Debian 9 Stretch..

Abbildung 6.13. gdebi mit den Informationen zum Paket apt-doc

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/gdebi-gtk.png

Dabei dient das Kommandozeilenprogramm gdebi den beiden graphischen Werkzeugen als Backend und wird von diesen intern aufgerufen, um die jeweiligen Paketoperationen auszuführen. Sie können es aber auch alleine auf der Kommandozeile benutzen, ohne dass eine der beiden graphischen Komponenten installiert sein muss. Rufen Sie dazu GDebi auf der Kommandozeile mit einem deb-Paket als Parameter auf, erhalten Sie die Paketbeschreibung. Stimmen Sie danach der abschließenden Frage zur Installation mit j zu, führt gdebi ihren Wunsch aus und das deb-Paket landet auf ihrem Linuxsystem.

Anzeige der Paketbeschreibung bei manuellem Aufruf von gdebi

# gdebi Desktop/odeskteam_3.10.5_debian_7.2_i386.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Building data structures... Done


oDesk Team - complete time-logging and verification system
 Who needs it: All providers are required to run oDesk Team in order to have a
 verified record of their work. oDesk Team is optional for buyers, however a
 lot of our buyers run it to have an online record of their work and be able to
 collaborate better with their remote team.
 .
 Note: This single-install download is the full oDesk Team client application,
 which will only be fully functional if used in conjunction with an oDesk Team
 Online Account with a valid license to access the Service. Review carefully
 our License Agreement before downloading.
Wollen Sie das Software-Paket installieren? [j/N]:
...
#

Die graphischen Werkzeuge starten Sie entweder über den Aufruf gdebi-gtk bzw. gdebi-kde im Terminal, oder aber durch Doppelklicken auf eine deb-Datei im Dateimanager ihrer Desktop-Umgebung. In letzterem Fall wird das von Ihnen angeklickte Paket jedoch nicht sofort installiert. Sie erhalten zunächst ein Fenster mit vielfältigen Informationen über das ausgewählte Paket (analog zu Abbildung 6.13, „gdebi mit den Informationen zum Paket apt-doc). Erst mit einem weiteren Klick auf Paket installieren lösen Sie die Installation tatsächlich aus. Dieses Vorgehen hilft Ihnen dabei, herum(f)liegende Pakete nicht aus Versehen zu installieren. Somit vergewissern Sie sich nochmals, aus welcher ggf. auch unverifizierten Quelle dieses Paket stammt, bevor Sie es auf Ihrem Rechner installieren.

Neben der Installation und Aktualisierung ermöglicht Ihnen GDebi auch das Begutachten und Löschen von lokal vorliegenden Paketen. Dies können auch bereits vorher via APT heruntergeladene Pakete sein, die noch im Paketcache unter /var/cache/apt/archives/ herumdümpeln (siehe Kapitel 7, Paketcache).

Das Begutachten von Paketen gelingt Ihnen über die einzelnen Reiter Beschreibung, Details und enthaltene Dateien. Neben der Paketbeschreibung zeigt Ihnen GDebi alle sonstigen Metadaten aus der Control-Datei (siehe Abschnitt 4.2, „Aufbau und Format“) sowie den tatsächlichen Paketinhalt an, sofern es sich dabei um Textdateien handelt. Dies umfasst auch die Maintainer-Skripte.

Darüberhinaus zeigt Ihnen GDebi ab Version 0.9[21] auch sämtliche Warnungen des Programms lintian [Debian-Paket-lintian] an, die von dem ausgewählten Paket verursacht werden. Dies erlaubt Ihnen sowohl als Entwickler, als auch als normaler Benutzer, schnell einen groben Eindruck von der Qualität des Pakets zu bekommen, bevor Sie dieses auf ihrem Linux-System installieren und benutzen. Wie Sie mit dem referenzierten Programm lintian im Detail umgehen, lesen Sie unter „Nicht installierte Pakete mit lintian prüfen“ in Abschnitt 37.1, „Nicht installierte Pakete mit lintian prüfen“.

Abbildung 6.14. gdebi-gtk mit den Informationen zum Paket zsh

werkzeuge/werkzeuge-zur-paketverwaltung-ueberblick/gui-zur-paketverwaltung/gdebi-new.png

Ergibt sich bei der Veränderung des Paketbestands die Notwendigkeit, zusätzliche Paketabhängigkeiten aufzulösen, springt GDebi in die Bresche und klärt diese Situation automatisch mit Hilfe von APT [Vogt-gdebi]. Fehlende Pakete werden von den vorab konfigurierten Paketmirrors (siehe Abschnitt 3.3, „Die Datei /etc/apt/sources.list verstehen“) nachgezogen. Diese Eigenschaft hebt GDebi deutlich von dpkg ab, das nur meckern kann, falls es auf nicht-erfüllte Abhängigkeiten stößt.

Einziger Wermutstropfen bei GDebi ist, dass sowohl die beiden graphischen Tools, als auch gdebi bislang pro Aufruf nur ein einziges deb-Paket akzeptieren. APT ab Version 1.1 kann allerdings ebenfalls mit lokalen Paketen umgehen und dabei deren Abhängigkeiten über APT-Repositories auflösen — und das auch mit mehr als einem Paket auf einmal. Damit bietet es sich zukünftig als veritable Alternative zu gdebi an und soll dieses auch langfristig ersetzen[22].



[18] Die Bildschirmfotos kommen von [screenshots.debian.net]. Falls für Ihr Lieblingspaket ein Screenshot fehlt, können Sie selbst einen anfertigen und dort hochladen. Nach einem Review wird das hochgeladene Bild im Normalfall freigeschaltet und ist dann für alle Nutzer der Webseite und der Programme, die die Daten von dort verwenden, sichtbar.

[19] Bislang scheint SmartPM diese Markierungen nicht mit APT oder aptitude zu synchronisieren. Dieses Verhalten ist als Bug registriert.

[20] Berechtigungsdienst, der die Kommunikation von Software via DBus-Protokoll untereinander regelt

[21] Verfügbar ab Debian 8 Jessie und Ubuntu 14.04 LTS Trusty Tahr

[22] Letzteres ist auch kein Wunder, da sowohl gdebi als auch diese Funktionalität von APT vom gleichen Autor stammen.