Inhaltsverzeichnis
Zur Verwaltung der Debian-Pakete gibt es verschiedene Programme, von grafischen oder textbasierten Oberflächen bis hin zu den elementaren Werkzeugen, die benutzt werden, um Pakete zu installieren. Alle verfügbaren Programme bauen auf den elementaren Werkzeugen auf und werden im folgenden - mit den elementaren beginnend und den komplexen schließend - vorgestellt.
Es ist wichtig zu verstehen, dass die komfortablen Paketverwaltungswerkzeuge wie aptitude oder synaptic auf apt aufbauen, welches seinerseits bei der Verwaltung der Pakete auf dpkg zurückgreift.
Sehen Sie sich Kapitel 2. Debian-Paketmanagement der Debian-Referenz an, falls Sie weitere Informationen über die Paketverwaltungswerkzeuge benötigen. Dieses Dokument ist in verschiedenen Sprachen und Formaten verfügbar, siehe den Eintrag zur Debian-Referenz auf der Übersichtsseite für DDP-Benutzerhandbücher.
Dies ist das Hauptpaketverwaltungswerkzeug. dpkg kann mit vielen verschiedenen Optionen aufgerufen werden. Häufig benutzt werden:
Alle verfügbaren Optionen anzeigen: dpkg --help
.
Die control
-Datei (und andere Informationen) für ein
Paket anzeigen: dpkg --info foo_VVV-RRR.deb
.
Ein Paket (inklusive Entpacken und Konfiguration) in das Dateisystem auf der
Festplatte installieren: dpkg --install foo_VVV-RRR.deb
.
Ein Debian-Archiv (ohne Konfiguration) in das Dateisystem auf der Festplatte
entpacken: dpkg --unpack foo_VVV-RRR.deb
. Bitte beachten
Sie, dass das Paket damit nicht verwendbar sein dürfte,
da Programmdateien oftmals erst nach gewissen Anpassungen ordnungsgemäß
zusammenspielen. Dieser Befehl entfernt jede auf der Festplatte installierte
Version des Programms und führt das mit dem Paket verbundene
»preinst«-Skript (siehe Abschnitt 7.6, „Was sind Debians »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte?“) aus.
Ein bereits ausgepacktes Paket konfigurieren: dpkg --configure
foo
. Neben anderen Sachen ruft diese Option das zugehörige
»postinst«-Skript (siehe Abschnitt 7.6, „Was sind Debians »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte?“) des Pakets
auf. Außerdem aktualisiert es die Dateien, die in der
conffiles
-Datei des Pakets aufgelistet sind. Beachten
Sie, dass die »configure«-Option als Argument einen Paketnamen benötigt
(z.B. foo), und nicht den Namen der Debian-Archivdatei
(also nicht foo_VVV-RRR.deb).
Eine einzelne Datei namens "blurf" (oder mehrere Dateien namens »blurf*«)
aus einem Debian-Archiv extrahieren: dpkg --fsys-tarfile
foo_VVV-RRR.deb | tar -xf - blurf*
.
Ein Paket entfernen (aber nicht seine Konfigurationsdateien): dpkg
--remove foo
.
Ein Paket vollständig, inklusive der Konfigurationsdateien entfernen:
dpkg --purge foo
.
Den Installationszustand aller Pakete anzeigen, auf die der reguläre
Ausdruck »foo*« zutrifft: dpkg --list 'foo*'
.
APT (für Advanced-Package-Tool) ist eine
leistungsfähige Programmoberfläche zur Debian-Paketverwaltung. Darin
enthalten ist das Programm apt-get. Es enthält
Befehlszeilenprogramme für Suche, Verwaltung und Abfrage von
Paketinformationen wie auch für Low-Level-Zugriffe auf tieferliegende
Funktionalitäten der libapt-pkg-Bibliothek. Lesen Sie dazu das
Benutzerhandbuch in
/usr/share/doc/apt-doc/guide.html/index.html
; Sie
benötigen dazu das Paket apt-doc
.
Seit Debian Jessie gibt es für einige häufig verwendete apt-get- und apt-cache-Befehle ein entsprechendes Äquivalent, das neue Binärprogramm apt. Das bedeutet, dass bekannte Befehle wie apt-get update, apt-get install, apt-get remove, apt-cache search oder apt-cache show jetzt auch einfach über apt aufgerufen werden können, also mit Befehlen wie apt update, apt install, apt remove, apt search oder apt show. Hier ein Überblick über die alten und neuen Befehle:
apt-get update -> apt update apt-get upgrade -> apt upgrade apt-get dist-upgrade -> apt full-upgrade apt-get install package -> apt install package apt-get remove package -> apt remove package apt-get autoremove -> apt autoremove apt-cache search string -> apt search string apt-cache policy package -> apt list -a package apt-cache show package -> apt show package apt-cache showpkg package -> apt show -a package
Das Werkzeug apt vereint Funktionalitäten von apt-get und apt-cache und hat eine nette farbige Ausgabedarstellung, somit ist es für den Benutzer angenehmer zu bedienen. Zur Verwendung in Skripten oder in fortgeschrittenen Anwendungsfällen könnte apt-get trotzdem noch empfehlenswert oder nötig sein.
apt-get bietet eine einfache Beschaffung und Installation
von Paketen aus verschiedenen Quellen mittels Befehlszeile. Im Gegensatz zu
dpkg erwartet apt-get nicht die
Debian-Archivdatei, sondern den korrekten Paketnamen als Eingabe und wird
ein Paket nur installieren, wenn dies durch eine in
etc/apt/sources.list
aufgeführte Quelle bereitgestellt
wird. apt-get ruft nach dem Download des
».deb«-Archivs[5] von den konfigurierten
Quellen direkt dpkg zur Installation auf.
Einige übliche Befehle zur Nutzung von apt-get sind:
Die Liste der Ihrem System bekannten Pakete aktualisieren:
apt update
(Sie sollten dies regelmäßig ausführen, um Ihre Paketliste aktuell zu halten.)
Das Paket foo
mit allen seinen Abhängigkeiten
installieren:
apt install foo
Das Paket foo
von Ihrem System entfernen:
apt remove foo
Das Paket foo
inklusive aller
Konfigurationsdateien von Ihrem System entfernen:
apt purge foo
Um alle Pakete aufzulisten, für die eine neuere Version verfügbar ist, rufen Sie auf:
apt list --upgradable
Eine Aktualisierung aller Pakete auf Ihrem System durchführen (ohne zusätzliche Pakete zu installieren oder Pakete zu entfernen):
apt upgrade
Alle Pakete auf Ihrem System aktualisieren (inklusive der Installation von zusätzlichen Paketen oder der Entfernung von Paketen, falls nötig):
apt full-upgrade
(Der Befehl upgrade
beläßt ein Paket in seiner
installierten, veralteten Version, falls zur Aktualisierung aufgrund von
Abhängigkeiten die Installation zusätzlicher Pakete erforderlich wäre. Der
Befehl full-upgrade
ist dabei weniger konservativ.)
Zum Ausführen von Befehlen, durch die Pakete verändert werden, müssen Sie als root-Benutzer angemeldet sein.
Bitte beachten Sie, dass apt-get jetzt standardmäßig auch alle Pakete installiert, die von anderen Paketen empfohlen werden (recommends-Abhängigkeit). Aufgrund seiner Robustheit wird das Konsolen-Programm apt-get zur Einrichtung und für größere System-Upgrades empfohlen.
Die apt-Werkzeugsammlung enthält auch apt-cache zum Durchsuchen der Paketliste. Im Paketverwaltungssystem können Sie mit einem einfachen Suchbegriff oder einem regulären Ausdruck oder aber durch das Durchsuchen von Abhängigkeiten Pakete finden, die spezielle Funktionen anbieten. Einige übliche Befehle für apt-cache sind:
Pakete finden, deren Beschreibung Wort
enthält:
apt search Wort
Detaillierte Informationen über ein Paket ausgeben:
apt show Paketname
Alle Pakete ausgeben, von denen ein angegebenes Paket abhängt:
apt-cache depends Paketname
Detaillierte Informationen über die verfügbaren Versionen eines Paketes und die Pakete, die von diesem Paket abhängen, ausgeben:
apt-cache showpkg Paketname
Für weitere Informationen installieren Sie bitte das apt
-Paket und lesen
apt(8),
apt-get(8)
und
sources.list(5),
sowie installieren Sie das apt-doc
-Paket und lesen
/usr/share/doc/apt-doc/guide.html/index.html
.
aptitude ist ein auf Debian GNU/Linux-Systeme abgestelltes Frontend für die Paketverwaltung durch APT. aptitude ist ein textbasiertes Programm, das die curses-Bibliothek benutzt. Aktionen können per interaktiver Bedienoberfläche oder über die Befehlszeile gestartet werden.
aptitude kann verwendet werden, um Verwaltungsaufgaben auf schnelle und einfache Weise zu erledigen. Es erlaubt dem Benutzer, die Liste der Pakete zu durchsuchen und Aufgaben wie Installation, Aktualisierung und Entfernung von Paketen zu erledigen.
Über die Funktionen von apt-get hinaus bietet aptitude viele zusätzliche Funktionalitäten:
aptitude bietet einfachen Zugriff auf alle Versionen eines Pakets.
aptitude gibt Ihnen eine einfache Möglichkeit, die Übersicht über veraltete Software zu behalten: sie werden unter »Veraltete und selbst erstellte Pakete« aufgelistet.
aptitude enthält ein ziemlich mächtiges System für die ausführliche Suche nach Paketen und zur Filterung der angezeigten Treffer. Benutzer, die mutt benutzen, werden schnell damit zurechtkommen, da die Ausdruckssyntax durch mutt inspiriert war.
aptitude kann auch verwendet werden, um die verfügbaren, vordefinierten Programmgruppen (Tasks) zu installieren. Weitere Informationen finden Sie in Abschnitt 8.1.5, „tasksel“.
Im Vollbildmodus hat aptitude integrierte su-Funktionalität und kann als normaler Benutzer ausgeführt werden. Es ruft su auf (und fragt nach dem Passwort des root-Benutzers, sofern vorhanden), wenn administrative Rechte benötigt werden.
Sie können aptitude mit einer visuellen (interaktiven)
Oberfläche (führen Sie einfach aptitude
aus) oder direkt
von der Befehlszeile starten. Die genutzte Befehlszeilensyntax ist der von
apt-get sehr ähnlich. Um zum Beispiel das Paket
foo
zu installieren, können Sie einfach
aptitude install
ausführen.
foo
Mit aptitude stellt Debian ein Programm für das alltägliche Paketmanagement von der Konsole aus bereit.
Weitere Informationen finden Sie auf der Handbuchseite
aptitude(8)
und im Paket aptitude-doc
.
synaptic ist ein grafisches Paketverwaltungs-Programm. Es ermöglicht Ihnen das Installieren, Aktualisieren und Entfernen von Paketen auf eine benutzerfreundliche Art und Weise. Neben all den Funktionalitäten, die aptitude bietet, erlaubt synaptic auch, die Liste der verwendeten Paketquellen zu editieren; auch können Sie alle verfügbare Dokumentation für ein Paket durchsuchen. Schauen Sie auf die Synaptic-Website, wenn Sie mehr Informationen benötigen.
Rechner fallen vielfach klar umrissene Aufgaben zu, doch häufig ergibt sich
die Schwierigkeit, den zu einer Aufgabe passenden Satz von Paketen zu
finden. Die Debian-Entwickler haben daher Programmgruppen
(Tasks
) definiert, eine Sammlung verschiedener
Debian-Pakete für eine spezielle Aufgabe. Diese Programmgruppen können über
die Programme tasksel oder aptitude
installiert werden.
Der Debian Installer wird typischerweise automatisch die Programmgruppe für
ein Standardsystem installieren sowie eine Arbeitsplatzumgebung (Desktop
Environment). Welche Arbeitsplatzumgebung installiert wird, hängt von dem
benutzten CD-/DVD-Installationsmedium ab, normalerweise ist dies der
GNOME-Desktop (Programmgruppe gnome-desktop
). Außerdem
werden, abhängig von den Auswahlen, die Sie während der Installation
getroffen haben, eventuell noch weitere Programmgruppen automatisch
installiert. Wenn Sie zum Beispiel eine andere Sprache als Englisch gewählt
haben, wird auch die entsprechende Programmgruppe für diese Sprache
installiert.
Dieses Programm führt Operationen an Debian-Archivdateien
(.deb
) aus. Einige Anwendungsfälle sind:
Alle Optionen anzeigen: dpkg-deb --help
.
Anzeigen, welche Dateien in einem Debian-Archiv enthalten sind:
dpkg-deb --contents foo_VVV-RRR.deb
.
Die Dateien, die in dem Debian-Archiv enthalten sind, in ein gewünschtes
Verzeichnis entpacken: dpkg-deb --extract foo_VVV-RRR.deb
tmp
entpackt jede Datei in foo_VVV-RRR.deb
in
das Verzeichnis tmp/
. Dies ist eine bequeme Methode, um
die Inhalte eines Pakets in einem lokalen Verzeichnis zu prüfen, ohne das
Paket in das Root-Dateisystem zu installieren.
Die Dateien mit den control-Informationen aus dem Paket entpacken:
dpkg-deb --control foo_VVV-RRR.deb tmp
.
Bitte beachten Sie, dass jedes Paket, das lediglich mit dpkg-deb
--extract
entpackt wird, falsch installiert ist. Stattdessen
sollten Sie dpkg --install
benutzen, um das Paket zu
installieren.
Weitere Informationen finden Sie auf der Handbuchseite dpkg-deb(1).
Die Implementierung des Dateisystems im Kernel unterstützt auf Debian GNU/Linux-Systemen das Ersetzen von Dateien, auch während sie benutzt werden.
Außerdem stellen wir ein Programm namens start-stop-daemon zur Verfügung, das benutzt wird, um Daemons während des Hochfahrens oder beim Wechsel des Runlevels (z.B. vom Mehrbenutzer- in den Einbenutzer-Modus oder zum Runterfahren) zu starten oder zu stoppen. Dasselbe Programm nutzen Installationsskripte für Softwarepakete, die unter Einbindung von Hintergrundprozessen oder direkt als solche arbeiten. Diese werden durch start-stop-daemon beendet und falls nötig neu gestartet.
Um den Status aller in einem Debian-System installierten Pakete zu sehen, führen Sie den Befehl
dpkg --list
aus. Es wird eine einzeilige Zusammenfassung für jedes Paket ausgegeben, mit einem 2-stelligen Buchstaben-Code (im Kopf erklärt), dem Paketnamen, der installierten Version und einer kurzen Beschreibung.
Um den Status jedes Paketes zu sehen, dessen Name mit »foo« beginnt, geben Sie folgenden Befehl ein:
dpkg --list 'foo*'
Wünschen Sie einen ausführlicheren Status für ein bestimmtes Paket, geben Sie dies ein:
dpkg --status Paketname
Um alle mit der Installation des Pakets foo
auf das
System übertragenen Dateien aufzulisten, verwenden Sie den Befehl:
dpkg --listfiles foo
Beachten Sie, dass Dateien, die von den Installationsskripten erzeugt werden, hier nicht auftauchen.
Um herauszufinden, aus welchem Paket eine bestimmte Datei stammt, führen Sie einen dieser Befehle aus:
dpkg --search foo
Dies sucht nach foo
in den installierten Paketen. (Dies
ist momentan gleichwertig mit der Suche nach allen Dateien mit der Endung
.list
im Verzeichnis
/var/lib/dpkg/info/
und dem Filtern der Ausgabe, so dass
alle Pakete, die dies beinhalten, aufgelistet werden plus Umleitungen.)
Eine schnellere Alternative dazu ist das dlocate-Werkzeug:
dlocate -S foo
zgrep foo Contents-ARCH.gz
Hiermit wird nach Dateien gesucht, die die Zeichenkette
foo
in ihrem vollständigen Pfadnamen enthalten. Die
Dateien Contents-ARCH.gz
(wobei ARCH die gewünschte
Architektur darstellt) befinden sich in den Hauptpaketverzeichnissen (main,
non-free, contrib) auf dem Debian-Archiv-Server (d. h. unter
/debian/dists/bookworm
). Eine
Contents
-Datei bezieht sich nur auf Pakete in den
Unterverzeichnissen unterhalb des Verzeichnisses, in dem es abgelegt
ist. Deshalb könnte es sein, dass Sie mehr als eine
Contents
-Datei durchsuchen müssen, um das Paket zu
finden, das foo
enthält.
Diese Methode hat gegenüber dpkg --search
den Vorteil,
dass Sie damit Dateien in Paketen finden können, die momentan nicht auf
Ihrem System installiert sind.
apt-file search
foo
Ähnlich wie bei dem Beispiel vorher sucht dies nach Dateien, welche die
Zeichenfolge oder den regulären Ausdruck foo
in ihrem
vollständigen Pfadnamen haben. Der Unterschied zum vorherigen Beispiel ist,
dass es nicht notwendig ist, die Contents-ARCH.gz
-Dateien
händisch herunterzuladen, da dies automatisch für alle Quellen in der
/etc/apt/sources.list
erledigt wird, wenn Sie
apt-file update
(als root) ausführen.
Einige Software ist in Programmpakete (»foo«) und Datenpakete (»foo-data«) (oder »foo« und »foo-doc«) aufgeteilt. Dies trifft in Debian auf viele Spiele, Multimedia-Anwendungen und Wörterbücher zu und wurde eingeführt, weil einige Benutzer auf die Rohdaten zugreifen wollten, ohne das Programm zu installieren, oder weil das Programm auch ohne die Daten läuft, so dass »foo-data« optional ist.
Ähnliche Situationen tauchen auf, wenn Sie mit Bibliotheken arbeiten: normalerweise werden diese Pakete installiert, wenn Pakete Programme enthalten, die von ihnen abhängen. Wenn das Programmpaket entfernt wird, bleibt das Bibliothekspaket auf dem System. Oder: Wenn das Programmpaket nicht länger z.B. von »libdb4.2« abhängt, aber stattdessen jetzt von »libdb4.3«, kann das »libdb4.2«-Paket installiert bleiben, wenn das Programmpaket aktualisiert wird.
In diesen Fällen hängt »foo-data« nicht von »foo« ab, so dass, wenn Sie das »foo«-Paket entfernen, die meisten Paketverwaltungswerkzeuge es nicht automatisch entfernen. Dasselbe gilt für die Bibliothekspakete. Dies ist nötig, um zirkuläre Abhängigkeiten zu vermeiden. Wenn Sie jedoch apt-get (siehe Abschnitt 8.1.2, „APT“) oder aptitude (siehe Abschnitt 8.1.3, „aptitude“) als Paketverwaltungswerkzeug benutzen, werden sich diese die automatisch installierten Pakete merken und sie entfernen, wenn kein Paket mehr auf Ihrem System existiert, das diese nutzt.
[5] Beachten Sie, dass es einige (Software)-Portierungen gibt, die dies auch für andere Paketverwaltungssysteme wie den Red-Hat Package-Manager (auch als rpm bekannt) ermöglichen.