6.1. Frontends für das Paketmanagement

Unter einem Frontend verstehen wir ein Programm oder ein Werkzeug mit einer Bedienoberfläche, welches im Alltag von Ihnen für die Verwaltung der Softwarepakete verwendet wird. Es deckt alle dafür notwendigen Aktionen auf ihrem System ab und umfasst die grundsätzliche Pflege des Paketbestands. Dazu zählen bspw. die Installation, die Aktualisierung und die restlose Entfernung von Softwarepaketen, wobei das Gesamtsystem stets in einem konsistenten, benutzbaren Zustand verbleibt.

Frontends existieren in recht unterschiedlichen Varianten und folgen divergierenden Bedienkonzepten. Die nachfolgende Übersicht orientiert sich daher an der Benutzerschnittstelle und dem Paketformat, für das Sie das jeweilige Programm benutzen können. Einige Programme sind Zwitter und stellen mehrere Bedienmodi zur Verfügung, so bspw. SmartPM (Abschnitt 6.4.3, „Smart Package Management (SmartPM)“), welches Sie sowohl über die Kommandozeile, als auch über eine graphische Oberfläche (GUI) bedienen können. aptitude (Abschnitt 6.3.2, „aptitude), aptsh (Abschnitt 6.2.3, „Die aptsh), cupt (Abschnitt 6.2.5, „Cupt“) und wajig (Abschnitt 8.42.7, „wajig) stellen über die Kommandozeile hinaus auch ein eigenes Text User Interface (TUI) bereit. Die nachfolgende Zusammenstellung in Tabelle 6.1, „Frontends zur Paketverwaltung“ ist daher nicht ganz diskussionsfrei und erhebt zudem keinen Anspruch auf Vollständigkeit.

Tabelle 6.1. Frontends zur Paketverwaltung

Kategorie deb-basierte Systeme rpm-basierte Systeme andere Paketformate

Kommandozeile

dpkg, dpkg-www, APT, aptitude, aptsh, cupt, SmartPM, gdebi (gdebi-core), wajig

rpm, yum, urpmi, zypper, SmartPM

emerge, pacman

Text User Interface (TUI)

tasksel, aptitude, Debian Installer, Univention Installer für Univention Corporate Server (UCS)

Yet another Setup Tool (YaST), DrakConf oder Mandriva Linux Control Center (MCC) [Mandriva-Wiki] bzw. Mageia Control Center (MCC) (Textkonsole)

pcurses

Graphical User Interface (GUI)

Synaptic, SmartPM, Ubuntu Software Center, Muon, PackageKit, Apper (früher KPackageKit), gdebi

Yet another Setup Tool 2 (YaST2), DrakConf oder Mandriva Linux Control Center (MCC) [Mandriva-Wiki] bzw. Mageia Control Center (MCC)

PacmanXG4, PacmanExpress, tkPacman, GNOME PackageKit, Zenity Pacman GUI, Octopi

webbasierte Verwaltung (WUI)

IP Brick [ipbrick], Univention Management Console für Univention Corporate Server (UCS), Ubuntu Landscape , Appnr, Communtu, Debian Pure Blends


6.1.1. Aufgaben, Sinn und Zweck des Frontends

Basierend auf der Einordnung in die unterschiedlichen Softwarestapel und Ebenen (siehe Abschnitt 2.3, „Softwarestapel und Ebenen“) lässt sich der Aufgabenbereich und damit der Funktionsumfang eines Programms zur Paketverwaltung konkreter fassen. Dabei kommen häufig die UNIX-Prinzipien „Ein Werkzeug für eine Aufgabe“ und „Keep it simple, stupid“ (sinngemäß: Mach’s so einfach wie möglich) sehr stark zum tragen.

Zur unteren Ebene gehört das Programm dpkg. Es bietet grundsätzliche Funktionen, die ein erforderliches Minimum abdecken. Die Funktionen betreffen nur das lokale System und setzen voraus, dass alle notwendigen Informationen und deb-Pakete bereits vorliegen. Dazu gehören die Fähigkeiten, Informationen über installierte und noch zur Verfügung stehende Pakete und Paketdateien anzuzeigen sowie bereits lokal als Datei vorliegende Pakete zu installieren, zu konfigurieren und wieder vom System zu entfernen. dpkg fokussiert dabei eher auf Einzelpakete, bspw. der Aufruf dpkg -i Paketname zur Installation eines Pakets (siehe auch Abschnitt 8.36, „Pakete installieren“).

Die obere Ebene beinhaltet im weitesten Sinne alle übergeordneten Aufgaben, wie bspw. komplexere Verwaltungsfunktionen. Dazu zählt das Herunterladen der Paketlisten von den vorher von Ihnen festgelegten Paketmirrors, das Aktualisieren der lokalen Paketlisten, das Auswählen und Beziehen eines Pakets von einem passenden Paketmirror, das Auflösen der Paketabhängigkeiten und das Klären weiterer, dazu benötigter oder empfohlener Pakete, die zum ausgewählten Paket passen und welche für Sie als Benutzer interessant sein könnten. Ebenso gehört die Validierung eines Pakets anhand seines GPG-Schlüssels (siehe Abschnitt 8.35, „Bezogenes Paket verifizieren (GPG-Key)“) dazu. Zur oberen Ebene zählen bspw. Programme wie tasksel, APT, aptitude, SmartPM, das Ubuntu Software Center und die PackageKit-Varianten apper (KDE) und gnome-packagekit (GNOME).

Eine Mischform stellen hingegen die Programme aptsh, cupt, wajig und gdebi dar. Deren Anspruch ist es, beide Ebenen in einem einzigen Programm abzudecken und alle erforderlichen Funktionen zur Paketverwaltung bereitzustellen. Die genannten Programme kommen diesem Ziel derzeit in unterschiedlicher Qualität nahe. Dabei erfolgt ein Zugriff auf die bestehenden Bibliotheken, der durch eigene, zusätzliche Funktionalitäten ergänzt wird.

6.1.2. Anmerkungen zur Programmauswahl

Es gibt keine Regelung oder Empfehlung dafür, welches Programm aus obiger Liste Sie benutzen sollen. Dafür sind die Wissensstände, Gewohnheiten und Vorlieben im Umgang mit Software zu unterschiedlich (siehe auch „Ausblick und Empfehlungen für Einsteiger“ in Abschnitt 45.1, „Empfehlungen für Einsteiger“).

In der Praxis zeigt sich, dass apt-get häufig die schnellste und effizienteste Variante ist, sofern Sie den exakten Namen eines Debian-Pakets (siehe dazu Abschnitt 2.11, „Benennung einer Paketdatei“) oder zumindest einen Großteil davon wissen. Die Kommandozeilenwerkzeuge sind sehr flexibel und verfügen über eine hohe Anzahl von Funktionen. Diese sprechen Sie über vielfältige Unterkommandos, Schalter und Parameter an.

Viele Schalter und Parameter der Kommandozeilenwerkzeuge werden in den TUI, GUI und WUI nicht oder nur unzureichend abgebildet, sind zudem in den meisten Fällen geschickt versteckt, anders benannt oder auch mitunter sinnentstellend übersetzt. Das sorgt vielfach für Unmut und Verzweiflung bei der Suche nach einer bestimmten Funktionalität. Erfahrenere Benutzer vermissen häufig die Flexibilität der vielen Optionen und greifen daher bevorzugt zur Kommandozeile oder zum TUI, da das schneller und einfacher geht. Das hoffnungs- und erwartungsvolle Herumklicken in einer graphischen Anwendung möchten sie den Marketingfritzen und Mausschubsern überlassen.

Die Komplexität der Kommandozeilenwerkzeuge kann Einsteiger überfordern — gleiches gilt aber auch für graphische Oberflächen. In jedem Fall setzt es bei Ihnen den Willen zur Einarbeitung voraus — gleich welches Werkzeug es auch ist. Der Vorteil der Kommandozeilenwerkzeuge liegt darin, dass sie meist zur Basisinstallation Ihres Debian-Systems gehören und somit auch auf ferngewarteten Serversystemen zur Verfügung stehen. Graphische Werkzeuge sind in der Regel nur auf Desktopsystemen installiert. Webbasierte Benutzerschnittstellen sind deutlich in der Minderheit und haben den Exotenstatus. Steigt der Verbreitungsgrad UNIX/Linux-basierter Smartphones und TabletPCs mit Android bzw. Ubuntu weiter an, ist mit einer Zunahme von Programmen wie Appnr (siehe Abschnitt 6.5.2, „Appnr“) im Alltag zu rechnen.