Die Installation von Paketen und die dazugehörigen Aufrufe gehören aus unserer Sicht zu den Aktionen bei der Paketverwaltung, welche am häufigsten genutzt werden. Nachfolgend beschreiben wir, mit welchen Aufrufen Sie Pakete vom Paketmirror beziehen und danach sofort auf Ihrem System installieren. Wie Sie die Paketdateien nur herunterladen, ohne diese zu installieren, lesen Sie in Abschnitt 8.34, „Paketdatei nur herunterladen“.
Für APT und aptitude
lässt sich der Vorgang mit „Aufruf von dpkg -i
Paketname
in der richtigen Reihenfolge“ umschreiben. Dabei erfolgt
zudem die Beachtung der jeweiligen Paketabhängigkeiten – noch fehlende
und zusätzlich benötigte Pakete werden erkannt und vom Paketmirror
mitbezogen. Die Voraussetzung, dass das angegebene Paket bereits im
(lokalen) Verzeichnis liegt, muss nicht erfüllt sein.
Wir empfehlen Ihnen, dpkg
nur im Ausnahmefall zu benutzen. Der Umgang
mit dpkg
bzw. das Wissen um die Bibliotheken dahinter (siehe
Kapitel 5, APT und Bibliotheken) zählt zum notwendigen Hintergrundwissen, um zu
verstehen, was die anderen Werkzeuge wie APT und aptitude
überhaupt
veranstalten. APT und aptitude
erleichtern Ihren Alltag als
Systembetreuer jedoch deutlich.
Bevor es mit der Installation von Paketen losgeht, prüfen Sie in Schritt 1, ob noch genügend freier Speicherplatz auf Ihrem Linuxsystem verfügbar ist. Damit schließen Sie von vornherein unvollständig im Paketcache zwischengespeicherte und entpackte Pakete (und insbesondere den damit verbundenen Unmut über den sich daraus ergebenden administrativen Zusatzaufwand) aus.
APT ist sehr nett und rechnet Ihnen sogar aus, wieviel zusätzlicher
Speicherplatz benötigt wird, wenn Sie das ausgewählte Paket installieren
(Schritt 2). Dazu lesen Sie die Nachricht von APT bzw. aptitude
genau. In der vorletzten Zeile zeigt es Ihnen den benötigten
Speicherplatz für die neuen Pakete an – im nachfolgenden Beispiel für
das Paket kdm sind es immerhin 36MB. Da im Moment nur der benötigte
Speicherplatz von Interesse ist, brechen Sie die Installation ab, indem
Sie bei der abschließenden Frage die Taste
n drücken.
Abgebrochene Installation von kdm mittels APT.
# apt-get install kdm Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden installiert: kde-wallpapers-default kde-workspace-kgreet-plugins libkworkspace4abi1 Vorgeschlagene Pakete: kdepasswd kde-wallpapers Die folgenden NEUEN Pakete werden installiert: kde-wallpapers-default kde-workspace-kgreet-plugins kdm libkworkspace4abi1 0 aktualisiert, 4 neu installiert, 0 zu entfernen und 16 nicht aktualisiert. Es müssen 33,7 MB an Archiven heruntergeladen werden. Nach dieser Operation werden 36,3 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]? n Abbruch. #
Abgebrochene Installation von kdm mittels aptitude
.
# aptitude install kdm Die folgenden NEUEN Pakete werden zusätzlich installiert: kde-wallpapers-default{a} kde-workspace-kgreet-plugins{a} kdm libkworkspace4abi1{a} 0 Pakete aktualisiert, 4 zusätzlich installiert, 0 werden entfernt und 16 nicht aktualisiert. 33,7 MB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 36,3 MB zusätzlich belegt sein. Möchten Sie fortsetzen? [Y/n/?] n Abbruch. #
Sind Sie sich unsicher, ob die Installation erfolgreich verlaufen würde,
simulieren Sie den Vorgang (Schritt 3). Dazu bietet Ihnen APT die
Option --simulate
und als Alternativen dazu auch --just-print
,
--dry-run
, --recon
und --no-act
an. aptitude
kennt die Option
-s
bzw. --simulate
in der Langform. Die nachfolgende Ausgabe zeigt
die Simulation anhand von APT und des Pakets kdm. Dabei bezeichnen
die Zeilen der Ausgabe eine Installation eines Pakets, die mit Inst
beginnen. Das Schlüsselwort Conf
besagt, dass das entsprechende Paket
konfiguriert wird.
Simulation der Paketinstallation von kdm.
# apt-get install --simulate kdm Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden installiert: kde-wallpapers-default kde-workspace-kgreet-plugins libkworkspace4abi1 Vorgeschlagene Pakete: kdepasswd kde-wallpapers Die folgenden NEUEN Pakete werden installiert: kde-wallpapers-default kde-workspace-kgreet-plugins kdm libkworkspace4abi1 0 aktualisiert, 4 neu installiert, 0 zu entfernen und 16 nicht aktualisiert. Inst kde-wallpapers-default (4:4.8.4-1 Debian:7.6/stable [all]) Inst kde-workspace-kgreet-plugins (4:4.8.4-6 Debian:7.6/stable [i386]) Inst libkworkspace4abi1 (4:4.8.4-6 Debian:7.6/stable [i386]) Inst kdm (4:4.8.4-6 Debian:7.6/stable [i386]) Conf kde-wallpapers-default (4:4.8.4-1 Debian:7.6/stable [all]) Conf kde-workspace-kgreet-plugins (4:4.8.4-6 Debian:7.6/stable [i386]) Conf libkworkspace4abi1 (4:4.8.4-6 Debian:7.6/stable [i386]) Conf kdm (4:4.8.4-6 Debian:7.6/stable [i386]) #
Als Schritt 4 bringen Sie die Paketliste Ihres Linuxsystems auf den aktuellen Stand. Wie das im Detail vorsichgeht, erfahren Sie in Abschnitt 8.41, „Pakete aktualisieren“. Damit stellen Sie sicher, dass Sie mit einer aktuellen Paketliste arbeiten und darüber nur Pakete auswählen, die sich auf dem neuesten Stand befinden. Sie verhindern damit insbesondere, dass Sie veraltete Varianten auf Ihr System einpflegen und reduzieren gleichzeitig den Aufwand bei einer späteren Aktualisierung.
Nachdem alle Vorbereitungen abgeschlossen wurden, folgt nun der Schritt
ans Eingemachte – die eigentliche Installation. Für APT lautet der
Aufruf apt-get install Paketname
und für aptitude
in ähnlicher Art
und Weise aptitude install Paketname
. Beide Werkzeuge verarbeiten
nicht nur einzelne Pakete und ganze Paketlisten mit exakten
Paketbezeichnungen, sondern auch Paketnamen mit
Quantifizierungsoperatoren. Nachfolgender Aufruf zeigt das anhand der
Dokumentationspakete zu aptitude
, deren Namen mit der Zeichenkette
aptitude-doc beginnen. Damit die Shell, die ihr APT-Kommando ausführt,
nicht den Parameter mit dem Quantifizierungsoperator interpretiert und
nach Dateien mit dem entsprechenden Namen sucht, schließen Sie das
Suchmuster in einfache Anführungszeichen ein.
Aufruf von apt-get install
mit dem Quantifizierungsoperator *
.
# apt-get install 'aptitude-doc*' Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Hinweis: »aptitude-doc-cs« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc-fi« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc-en« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc-es« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc-fr« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc-ja« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc-it« wird für regulären Ausdruck »aptitude-doc*« gewählt. Hinweis: »aptitude-doc« wird für regulären Ausdruck »aptitude-doc*« gewählt. Die folgenden NEUEN Pakete werden installiert: aptitude-doc-cs aptitude-doc-en aptitude-doc-es aptitude-doc-fi aptitude-doc-fr aptitude-doc-it aptitude-doc-ja 0 aktualisiert, 7 neu installiert, 0 zu entfernen und 16 nicht aktualisiert. Es müssen 2.337 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 7.642 kB Plattenplatz zusätzlich benutzt. ... #
Wie aus obiger Darstellung ersichtlich wird, durchläuft die Installation
eine Reihe von Einzelschritten. Zunächst prüfen APT bzw. aptitude
, ob
das angegebene Paket in der Liste der verfügbaren Pakete überhaupt
existiert und ob dieses bereits installiert ist. Danach wird ein
Installationskandidat festgelegt und dessen Paketabhängigkeiten werden
überprüft. Zu klären ist, ob bereits alle Pakete installiert sind, die
von diesem abhängen. Falls das nicht zutrifft, werden diese ebenso mit
in die Liste der zu installierenden Pakete aufgenommen. Ist die Liste
komplett, wird die Gesamtgröße des zusätzlich belegten Speicherplatzes
berechnet.
Bestehen keine Unklarheiten über die zu installierenden Pakete, setzen
APT bzw. aptitude
mit ihrer Arbeit ohne Rückfrage fort. Andernfalls
wartet das Programm noch auf Ihr Einverständnis.
Daraufhin werden die Pakete vom Paketmirror bezogen und im Paketcache
zwischengespeichert, auf Korrektheit überprüft (siehe
Abschnitt 8.32.1, „Prüfung eines Paketes auf Unversehrtheit“), um die notwendigen
Sicherheitsaktualisierungen („Fixes“ oder „Security Updates“)
ergänzt und danach temporär ausgepackt. Nun erfolgt die Auswertung und
Ausführung der preinst
-Maintainer-Skripte des Pakets (siehe
Abschnitt 4.2, „Aufbau und Format“) und danach werden die Dateien aus dem jeweiligen
Paket an die angegebene Stelle im Dateisystem kopiert. Abschließend
erfolgen eine (Nach)Konfiguration (siehe Abschnitt 8.40, „Pakete konfigurieren“),
sofern das erforderlich ist, und die Ausführung der
postinst
-Maintainer-Skripte des Pakets (siehe Abschnitt 4.2, „Aufbau und Format“).
Ganz am Ende aktualisieren APT bzw. aptitude
noch die Paketdatenbank
und setzen den Status des Pakets auf „vollständig installiert“ (siehe
Abschnitt 8.4, „Paketstatus erfragen“).
Nach der Installation gilt es zu überprüfen, ob alles glatt ging. Sie erkennen das an den Rück- und Fehlermeldungen der Programme zur Paketverwaltung.
Im Fehlerfall bieten sowohl APT als auch aptitude
über die Option -f
(Langform --fix-broken
) Rettungshilfe an. Dabei werden fehlende
Abhängigkeiten nachinstalliert und defekte Pakete eventuell
deinstalliert. Einen Paketnamen müssen Sie im Aufruf nicht angeben, da
die Paketzustände ausgewertet werden und darüber entschieden wird, was
zu tun ist.
APT kennt eine Reihe von Optionen, die in verschiedenen Situationen im Alltag nützlich sein können. Wir stellen Ihnen hier eine Auswahl davon vor.
-y
(Langform -assume-yes
und --yes
)
--trivial-only
.
-d
(Langform --download-only
)
--install-suggests
--no-install-recommends
--reinstall
--trivial-only
--assume-yes
. Damit werden alle Fragen
automatisch mit „NO“ beantwortet und kritische Aktionen bleiben außen
vor.
-V
(Langform --verbose-versions
)
Zwischen APT und aptitude
bestehen kleine Unterschiede. Dazu zählt
auch eine abweichende Vorgehensweise bei Verarbeitung von Paketaktionen.
Mit dem Aufruf aptitude install
installieren Sie nicht nur alle
bereits vorgemerkten Pakete, sondern führen alle bereits vorgemerkten
Aktionen zur Aktualisierung des Paketbestands durch. Das kann auch die
Aktualisierung und Entfernung von Paketen beinhalten. Ausführlicher
gehen wir zu dieser Thematik in Kapitel 11, Mit aptitude
Vormerkungen machen
ein.
Bei der Benutzung von Ubuntu besteht eine weitere Besonderheit. Diese
betrifft die Voreinstellungen, in der festgelegt ist, dass auch die
Empfehlungen eines Pakets mit berücksichtigt werden. Verwenden Sie zum
Schalter install
die Option -R
, werden nur die direkten
Abhängigkeiten mit installiert. Das Verhalten von aptitude
regeln Sie
über den Schlüssel APT::Install-Recommends
(siehe
Abschnitt 10.3, „Konfigurationsdateien von APT im Detail“).
Ab der Version 1.1 verfügt APT über interessante Erweiterungen. Diese
bzw. eine spätere Version ist ab Debian 9 Stretch verfügbar. Damit
können die beiden Aufrufe apt install
und apt-get install
nicht
nur Paketnamen verarbeiten, sondern auch Pfade zu lokal vorliegenden
deb
-Paketen als Parameter benutzen. Im Gegensatz zu gdebi
(siehe
Abschnitt 6.4.5, „GDebi“) besteht hier keine Beschränkung auf nur ein einziges
Paket, sondern es gelten die weiter oben benannten Möglichkeiten zur
Spezifikation von Paketen. Ein Beispielaufruf zur Installation der
beiden lokalen Pakete namens /tmp/foo.deb und bar.deb sieht wie
folgt aus:
Installation zweier deb
-Pakete mittels APT.
# apt install /tmp/foo.deb ./bar.deb ... #