tasksel
gehört zu den Anwendungen, die Sie vielleicht nur aus der
textbasierten Installation von Debian her kennen. Nach der
Zusammenstellung des Debian-Basissystems wird dieses Werkzeug
üblicherweise einmal automatisch im Installationsprozess aufgerufen und
gerät danach vollständig in Vergessenheit. Stattdessen helfen Ihnen APT
und aptitude
bei den Routineaufgaben.
Der Name ist eine Abkürzung und steht für task select, auf Deutsch übersetzbar mit „Aufgabe auswählen“. Das Paket tasksel [Debian-Paket-tasksel] beinhaltet lediglich die Benutzeroberfläche, das Paket tasksel-data [Debian-Paket-tasksel-data] hingegen eine Liste mit vorab festgelegten Standardaufgaben. Jeder genannten Aufgabe sind eine Reihe von Paketen zugeordnet.
Die beiden tasksel-Generationen 2.x und 3.x unterscheiden sich massiv
voneinander. Während Generation 2 noch von aptitude
abhängt, setzt
Generation 3 hingegen verstärkt auf die Nutzung von Metapaketen (siehe
Abschnitt 2.7.2, „Übergangspakete, Metapakete und Tasks“). Das zeigt sich sehr deutlich in den
Ausgaben im Terminal, auf die wir unten genauer eingehen.
Über die textbasierte Benutzeroberfläche und der dargestellten Liste
wählen Sie zunächst mittels Pfeil- und Leertaste die gewünschten
Aufgaben aus. Daraufhin werden alle Pakete „in einem Rutsch“ auf Ihrem
Linuxsystem installiert, die diesen Aufgaben zugeordnet sind. Daß das
durchaus etwas mehr Zeit in Anspruch nehmen kann, zeigt
Abbildung 6.3, „Softwareinstallation via tasksel
“.
Bei Debian und Ubuntu existieren viele Aufgaben als separate,
vorgefertigte Pakete, die Ihnen die Einrichtung gemäß eines spezifischen
Zwecks erleichtern, indem benötigte Pakete gruppiert werden. Diese
Pakete tragen die Bezeichnung task- am Anfang des Paketnamens (siehe
Abschnitt 2.7, „Debian-Pakete (Varianten)“). Dazu zählen bspw. die Aufgaben Mailserver,
Webserver, Desktopumgebung und Laptop (siehe Abbildung 6.2, „Softwareauswahl in tasksel
“).
tasksel
und andere ProgrammeWenn das Paket tasksel
installiert ist, zeigen sowohl Aptitude wie
auch Synaptic (siehe Abschnitt 6.4.1, „Synaptic“) ebenfalls alle verfügbaren
Aufgaben an. Aptitude verwendet dafür einen eigenen Ast als Sektion
„Debian“ und Distributionsbereich „Tasks“, bei Synaptic hingegen
heißt der Bereich (Sektion) „Tasks“.
Die textbasierte Benutzeroberfläche von tasksel
ist jedoch nur eine
Seite der Medaille. Das Programm ist ebenso für eine Steuerung über die
Kommandozeile empfänglich. Die nachfolgende Liste zeigt die möglichen
Schalter:
install Aufgabe
remove Aufgabe
--list-tasks
tasksel
kennt
--task-desc Aufgabe
--task-packages Aufgabe
-t
(Langform --test
)
Über den Schalter --list-tasks
stellt Ihnen tasksel
alle vorab
definierten Aufgaben zusammen (Debian). Am Buchstaben in der ersten
Spalte der Ausgabe erkennen Sie, ob diese Aufgabe vollständig auf ihrem
Linuxsystem umgesetzt wurde. Daneben sehen Sie das vergebene Kürzel und
eine Kurzbeschreibung zur jeweiligen Aufgabe.
Ausgabe aller festgelegten Aufgaben von tasksel
.
$ tasksel --list-tasks u desktop Debian desktop environment u web-server Web server u print-server Printserver u database-server SQL database u dns-server DNS Server u file-server File server u mail-server Mail server u ssh-server SSH server u laptop Laptop $
Für jede Aufgabe ist eine Beschreibung der Aufgabe hinterlegt. Diese
zeigen Sie mit dem Schalter --task-desc
an[16]. Auf einem Ubuntu mit tasksel
in
der Version 2.88 sehen Sie diese Ausgabe:
Ausgabe der Aufgabenbeschreibung eines tasks (Ubuntu).
$ tasksel --task-desc openssh-server Selects packages needed for an Openssh server. $
tasksel
zeigt Ihnen mit Hilfe des Schalters --task-packages
auch die
Pakete an, die zu der entsprechenden Aufgabe gehören. Bei Debian und der
Aufgabe ssh-server sieht das wie folgt aus — es verweist auf ein
entsprechendes Debianpaket:
Pakete, die zu einer Aufgabe gehören (Debian).
$ tasksel --task-packages ssh-server task-ssh-server $
Der gleiche Aufruf auf einem Ubuntu — hier für das Paket openssh-server — ergibt diese Liste (Auszug) mit allen benötigten Einzelpaketen:
Pakete, die zu einer Aufgabe gehören (Ubuntu).
$ tasksel --task-packages openssh-server python-six python-chardet python2.7 tcpd openssh-server ncurses-term ssh-import-id ... $
Im Vergleich mit den anderen vorgestellten Programmen zur
Paketverwaltung ist aptitude
eine recht komplexe und umfangreiche
Anwendung. Es ermöglicht Ihnen zwei unterschiedliche Wege der Bedienung — einerseits über die Kommandozeile mit Unterkommandos und Schaltern,
andererseits über eine Ncurses-basierte, interaktive, farbige
Bedienoberfläche im Terminal. Wieder aufgegeben wurden zwischenzeitlich
die Versuche, aptitude
auch mit einer graphischen Bedienoberfläche
auszustatten (siehe [Beckert-Blog-Aptitude-Gtk-Will-Vanish]).
Das Programm ist verteilt auf die beiden Pakete namens aptitude und
aptitude-common. Da das Programm nicht zur Standardauswahl bei der
Installation von Debian GNU/Linux und Ubuntu gehört, richten Sie es am
besten über den Aufruf apt-get install aptitude
auf ihrem Linuxsystem
ein. Das Paket aptitude-common
wird über Paketabhängigkeiten
automatisch mitinstalliert.
Ähnlich wie APT arbeitet aptitude
mit Paketen, die sich entweder
bereits lokal auf ihrem System befinden, oder noch auf einem Paketmirror
vorliegen und vor der Installation noch von dort bezogen werden.
Desweiteren bietet Ihnen das Programm die folgenden Funktionen (Auswahl,
jeweils Angabe der Unterkommandos auf der Kommandozeile):
aptitude search '~i'
aptitude show
Paketname
aptitude download
Paketname
aptitude
Vormerkungen machen unter Kapitel 11, Mit aptitude
Vormerkungen machen)
aptitude install
Paketname
aptitude remove
Paketname
aptitude reinstall
Paketname
aptitude update
, aptitude safe-upgrade
und aptitude full-upgrade
aptitude why
Paketname bzw. aptitude why-not
Paketname
aptitude search ?depends
Paketname anzeigen (Abschnitt 8.19, „Paketabhängigkeiten anzeigen“)
aptitude
Für den vollständigen Funktionsumfang und als Einstieg zum Programm ist
das Lesen der Dokumentation zu aptitude
[aptitude-dokumentation]
empfehlenswert. Neben der Bedienung enthält es alle Unterkommandos,
Optionen, Schalter und Möglichkeiten zur Konfiguration.
Wie bereits oben angerissen, können Sie aptitude
über die
Kommandozeile benutzen. Die Unterkommandos und Schalter sind bzgl. der
Schreibweise und Bedeutung ähnlich derer von APT (siehe Abschnitt 6.2.2, „APT“).
Um hingegen über die Ncurses-basierte Bedienoberfläche zu agieren,
starten Sie zunächst aptitude
ohne weitere Optionen. Die mehrfarbige
Bedienoberfläche enthält mehrere Elemente. Ganz oben finden Sie die
verfügbaren, aktiven Tasten und deren Funktion. Über die Funktionstaste
F10 oder alternativ mit Hilfe der Tastenkombination
Ctrl+T
aktivieren Sie bspw. die Menüleiste. Einige Terminals wie bspw. das
Gnome-Terminal fangen die Funktionstaste ab und belegen diese für die
eigene Menüleiste. Über den Eintrag
→ →
(de)aktivieren
Sie das Verhalten. Mit Hilfe der Pfeiltasten navigieren Sie zwischen den
einzelnen Menüeinträgen hin und her bzw. wählen die gewünschte Aktion
aus.
Die beiden Fensterhälften darunter geben Ihnen eine Übersicht zu den
Softwarepaketen. In der oberen Hälfte stellt aptitude
in einer
aufklappbaren Baumstruktur die Paketkategorien
(Abschnitt 2.8, „Sortierung der Pakete nach Verwendungszweck“), den
Distributionsbereich (Abschnitt 2.9, „Distributionsbereiche“) und den Paketnamen mit
Versionsnummer dar. Sichtbar wird dabei die Version des installierten
Pakets sowie der möglichen Aktualisierung
(Abschnitt 2.11.2, „Versionsnummer“). Die Auswahl in der Baumstruktur erfolgt
analog zu vi(m) mittels
j und
k (oder über die Pfeiltasten)
und
Enter. Die einzelnen Strukturebenen klappen Sie mit den Tasten
Enter,
[ und
] auf und zu.
Dabei hinterlegt aptitude
die einzelnen Pakete mit verschiedenen
Farben, deren Bedeutung Sie Tabelle 6.2, „Farben und deren Bedeutung bei aptitude
“ entnehmen. Das
Farbschema können Sie auch nach Gutdünken anpassen, genauer gehen wir
darauf in Abschnitt 10.12, „aptitude
-Farbschema anpassen“ ein.
Tabelle 6.2. Farben und deren Bedeutung bei aptitude
Farbkombination | Bedeutung |
---|---|
schwarzer Hintergrund mit weißer Schrift | das Paket wird nicht verändert |
roter Hintergrund mit weißer Schrift | das Paket ist defekt oder kann nicht installiert werden |
blauer Hintergrund mit weißer Schrift | das Paket wird aktualisiert |
weißer Hintergrund mit schwarzer Schrift | die Paketversion bleibt erhalten, kann jedoch aktualisiert werden |
grüner Hintergrund mit schwarzer Schrift | Paket wird installiert |
lila Hintergrund mit schwarzer Schrift | Paket wird entfernt („deinstalliert“) |
Im unteren Fenster erhalten Sie eine Beschreibung — entweder zur
ausgewählten Paketkategorie oder zum jeweiligen Paket. Zwischen den
beiden Fensterhälften wechseln Sie mittels der
Tab-Taste hin
und her. Die Belegung weiterer Tasten entnehmen Sie bitte
Tabelle 6.3, „Tasten bei aptitude
“.
Tabelle 6.3. Tasten bei aptitude
Aktion | Tastenbelegung |
---|---|
Hilfe | ? |
| Shift+ q |
| Ctrl+kbd[C] |
Info-Fenster ein- und ausblenden | Shift+ D |
Zwischen den Info-Ansichten wechseln | i |
Zwischen beiden Fenstern hin- und herwechseln | Tab |
In das Menü von | Ctrl+ t oder F10 |
Paketlisten aktualisieren | u |
Ausgewähltes Paket auswählen | + |
Ausgewähltes Paket entfernen | - |
Auch wenn sich APT und aptitude
größtenteils sehr ähnlich sind,
bestehen eine Reihe von feinen Unterschieden, die erst während der
Benutzung der Programme präsent werden. aptitude
hat nützliche
Erweiterungen, wie z.B. einen interaktiven Abhängigkeitsauflöser
(siehe Abbildung 6.4, „package dependency solver in aptitude
“). Verändern Sie den geplanten
Paketbestand, indem Sie beispielsweise ein zusätzliches Paket markieren
und somit zur Installation vormerken, werden automatisch die notwendigen
Abhängigkeiten aufgelöst und ebenfalls vorgemerkt. Sie sehen somit
unmittelbar, welche Pakete im nächsten Schritt noch hinzukommen oder
wieder entfernt werden müssen.
Sollte es dabei zu Paketkonflikten kommen, so werden Ihnen vorab verschiedene Lösungsvarianten und deren Auswirkungen auf den Paketbestand zur Auswahl gestellt. Im Gegensatz dazu präsentiert Ihnen APT nur stets einen einzigen Vorschlag zur Aktualisierung.
Aus diesen angebotenen Varianten wählen Sie die Ihnen am besten passende
aus. In den letzten beiden Zeilen des Terminals listet aptitude
auf,
wieviele Varianten es ermittelt hat, mit welchen Tasten Sie zwischen
diesen Varianten wechseln (siehe auch Tabelle 6.4, „Tasten zur interaktiven Konfliktlösung bei aptitude
“)
und wie Sie die gewünschte Variante letztendlich auswählen.
Tabelle 6.4. Tasten zur interaktiven Konfliktlösung bei aptitude
Aktion | Tastenbelegung |
---|---|
Vorschläge zur Konfliktlösung anzeigen | e |
Nächsten Vorschlag anzeigen | . |
Vorherigen Vorschlag anzeigen | , |
Ersten Vorschlag anzeigen | < |
Letzten Vorschlag anzeigen | > |
Teilvorschlag akzeptieren | a |
Teilvorschlag ablehnen („reject“) | r |
Vorschlag anwenden | ! |
Darüber hinaus verfügt aptitude
über eine Ansicht, in der Sie Pakete
nach Debian-Tags (Debtags) (siehe dazu
Kapitel 13, Erweiterte Paketklassifikation mit Debtags) sortiert betrachten
können. Damit stöbern Sie sehr effizient im Paketbestand. Das ist
insbesondere dann interessant, wenn Sie lediglich wissen, nach welcher
Funktionalität oder Art von Paket Sie suchen, jedoch den konkreten
Paketnamen nicht kennen.
Der ebenfalls im Menü in Abbildung 13.5, „Auswahl des Debtags-Browsers in aptitude
“ (noch)
angezeigte Kategoriebrowser gilt als veraltet[17], funktioniert seit
einigen Versionen nicht mehr und wird voraussichtlich demnächst ganz
entfernt [aptitude-categorical-browser-to-be-removed]. Der oben
angerissene Debtags-Browser ist der offizielle, wesentlich aktuellere
und besser gepflegte Ersatz dafür.
Im Erweiterungsteil gehen wir darauf ein, was passiert, wenn Sie APT und
aptitude
miteinander mischen (Kapitel 12, APT und aptitude
mischen). Auch der
Konfiguration des Programms ist ein eigener Abschnitt gewidmet (siehe
„APT und aptitude
auf die eigenen Bedürfnisse anpassen“ in
Kapitel 10, APT und aptitude
auf die eigenen Bedürfnisse anpassen).
Das Werkzeug Nala [Debian-Paket-nala] ist bislang noch recht unbekannt
und versteht sich als Frontend für APT. Ziel ist, eine übersichtlichere
Darstellung vom aktuellen Paketbestand sowie bei dessen Änderungen zu
erhalten, indem graphische Elemente in die Ausgabe einfließen.
Abbildung 6.5, „Entfernen des Paketes xsnow mittels Nala
“ zeigt den Dialog auf der Kommandozeile zur Entfernung des
Paketes xsnow.
Das gesamte Verhalten und die Bedienung von Nala lehnt sich an DNF
an
- DNF für APT wäre somit eine gute Zusammenfassung. An Schaltern
versteht es die Unterkommandos von APT, bspw. install
zur
Installation von Softwarepaketen, remove
zum Löschen sowie purge
und
remove --purge
zum vollständigen Löschen eines Softwarepakets. Mit dem
Unterkommando history
stöbern Sie in der Historie von Nala, sprich:
Sie sehen daraus, welche Paketaktionen bereits vorher durchgeführt
wurden.
Nala benutzt dabei nicht die APT-Bibliotheken, sondern stattdessen die Python-apt-API zur Verwaltung der Pakete. Seit dem Frühsommer 2023 mit der Veröffentlichung von Debian 12 bookworm ist Nala in der stabilen Veröffentlichung von Debian GNU/Linux enthalten.
[16] Unter Debian 7 Wheezy ist die Ausgabe derzeit defekt und als Bug #756841 hinterlegt, siehe https://bugs.debian.org/756841
[17] Es handelt
sich dabei um eine hart in aptitude
verdrahtete und schon sehr lange
nicht mehr gepflegte Kategorisierung der Pakete