apt
apt (Advanced Packaging Tool) ist ein Paketmanager für Debian-Systeme
Beschreibung
APT („Advanced Package Tool“) stellt die nächste Generation der Debian GNU/Linux-Paketverwaltung dar.
In diesem Abschnitt wird zunächst auf die Konfiguration und Benutzung von Kommandozeilentools wie apt und dpkg sowie deren Verwandten eingegangen.
- Später werden dann auch grafische Frontends zur Paketverwaltung beschrieben.
apt ist ein Werkzeug, um Software-Pakete zu verwalten
- installiert
- Abhängigkeiten automatisch auflösen
- Konfigurationsdateien beim Installieren bzw. Aktualisieren berücksichtigen
- Funktion
- Suche und Verwaltung von Paketen
- Abfrage von Informationen zu Paketen
- apt-get
- Vorgänger von apt
- Gleiche Funktionalität
Installation
Das Advanced Package Tool ist grundlegender Bestandteil von Debian und ist auf jedem System verfügbar.
Syntax
# apt [Befehl [Optionen]] (Paket)
Befehle
Befehl | Option | Beschreibung |
---|---|---|
update | Aktualisierung der Paketquellen | |
upgrade | Aktualisierung aller installierten Pakete des Systems (Neuinstallation von Paketen, falls Abhängigkeiten dies erfordern - jedoch keine Entfernung von existierenden Paketen) | |
full-upgrade | wie upgrade - jedoch können installierte Pakete entfernt werden, wenn dies erforderlich ist, um das Upgrade des Systems zu gewährleisten | |
autoremove | entfernt automatisch installierte Pakete, wenn diese nicht mehr benötigt werden (beispielsweise durch geänderte Abhängigkeiten) | |
remove | entfernt das angegebene Paket, ohne jedoch dessen Konfigurationsdateien zu löschen | |
purge | vollständige Entfernung des angegebenen Paketes (inklusive Konfigurationsdateien) | |
list | --upgradable --installed | Ausgabe einer Liste aktualisierbarer bzw. installierbarer Pakete |
show | zeigt Informationen zu einem angegebenen Paket: Beschreibung, Version, Abhängigkeiten, Download-Größe etc. | |
search Begriff | durchsucht den Volltext sämtlicher Paketbeschreibungen nach dem angegebenen Suchbegriff und gibt eine Liste gefundener Pakete aus (inklusive Kurzbeschreibung) | |
install | Angegebenes Paket installieren | |
remove | remove ist identisch mit install, mit der Ausnahme, dass Pakete entfernt anstatt installiert werden. | |
purge | purge entspricht remove mit der Ausnahme, dass Pakete entfernt und vollständig gelöscht werden (jegliche Konfigurationsdateien werden mitgelöscht ) | |
update | update wird verwendet, um von allen konfigurierten Quellen Paketinformationen herunterzuladen. | |
upgrade | upgrade wird verwendet, um verfügbare Upgrades für alle derzeit auf dem System installierten Pakete .Neue Pakete werden installiert, falls dies nötig ist. | |
autoremove | autoremove wird benutzt, um Pakete zu entfernen, die automatisch installiert wurden, um Abhängigkeiten für andere Pakete zu erfüllen und die nicht mehr benötigt werden, da sich die Abhängigkeiten geändert haben oder die Pakete, die sie benötigten, in der zwischenzeit entfernt wurden. | |
full-upgrade | full-upgrade verrichtet die Funktion von »upgrade«, wird aber auch installierte Pakete entfernen, falls dies erforderlich ist, um ein Upgrade des Systems als Ganzes durchzuführen. | |
show | show zeigt Informationen über die angegebenen Pakete einschließlich ihrer Abhängigkeiten, Installations- und Herunterladegröße, Quellen, in denen das Paket verfügbar ist, der Beschreibung des Paketinhalts und vieles mehr. Es kann z.B. hilfreich sein, einen Blick auf diese Informationen zu werfen, bevor du apt erlaubst, ein Paket zu entfernen oder wenn du neue Pakete zur Installation suchen. |
Optionen
-t, --tempdir | Verzeichnis, in dem temporäre Dateien abgelegt werden |
-h, --help | Kurze Hilfe |
-v, --version | Programmversion |
-c, --config-file | Konfigurationsdatei, die vor der /etc/apt/apt.conf gelesen wird |
-o, --option | Setzt Konfigurationsoptionen
|
Parameter
Umgebungsvariablen
Exit-Status
Anwendungen
Kommandovervollständigung
In der unter Linux verwendeten Shell bash lassen sich teilweise eingegebene Befehlsnamen durch Drücken der TAB-Taste vervollständigen.
- Zunächst funktioniert das ausschließlich für den Programmnamen und nicht für Kommandos und Optionen.
Mit dem Kommando source /etc/bash_completion können einige weitere Makros für die Shell geladen werden.
- Danach ist es möglich, auch Optionen von Befehlen automatisch zu vervollständigen (tippen Sie beispielsweise dpkg -TABTAB, so werden alle Optionen zum Befehl dpkg angezeigt).
- Dies funktioniert natürlich nicht nur mit Befehlen zur Verwaltung von Debian Paketen, sondern auch mit jedem anderen Befehl.
Darüber hinaus ist es möglich, auch Paketnamen, beispielsweise bei der Installation, zu vervollständigen.
- Tippen Sie hierzu: apt-get install im TABTAB, so werden alle verfügbaren Pakete angezeigt, die mit „im“ beginnen.
Fehlerbehebung
Konfiguration
Dateien
sources.list
Sicherheit
Siehe auch
Befehl | Beschreibung |
---|---|
apt-cache | |
apt-config | |
apt-file | |
apt-get | |
apt-listbugs | |
apt-show-versions | |
apt-add-repository | |
apt-cdrom | |
apt-extracttemplates | |
apt-ftparchive | |
apt-key | |
apt-mark | |
apt-sortpkgs |
Unterseiten
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
Advanced Package Tool (APT)
Paketbeschreibungen
Zugriff auf ältere Debian Releases
Manchmal kann es notwendig oder sinnvoll sein, ältere Debian Releases einzusetzen, beispielsweise um Debian auf älterer Hardware zu installieren.
- Eine Übersicht der verfügbaren Debian Releases ist unter http://www.debian.org/distrib/archive zu finden.
Zugriff auf tägliche Versionen von Paketen
Die jeweils aktuell in der Entwicklung befindliche Debian Version („testing“ oder „unstable“) unterliegt einem häufigen Wechsel der Paketversionen.
- Manchmal ist ein Paket nur für einen oder wenige Tage verfügbar.
- Da nun neuere Versionen nicht immer eine Verbesserung mit sich bringen, wollen Sie vielleicht auf ein älteres Paket ausweichen.
Leider sind auf den Debian Servern ältere Pakete nicht mehr verfügbar.
- Unter http://snapshot.debian.net sind alle Pakete, auch in älteren Versionen, weiterhin zugänglich.
Der Zugriff auf dieses Archiv erfolgt mit einigen besonderen Einträgen in der Datei /etc/sources.list.
- Hierbei kann zwischen dem Zugriff über ein absolutes oder ein relatives Datum gewählt werden.
deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free deb-src http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free deb-src http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free
Im vorhergehenden Beispiel kann gezielt auf den tagesaktuellen Stand zugegriffen werden.
- Die Buchstabenkombination YYYY/MM/DD ist dabei durch das gewünschte Datum zu ersetzen.
deb http://snapshot.debian.net/archive/date/datestr/debian unstable main contrib non-free deb http://snapshot.debian.net/archive/date/datestr/debian-non-US unstable/non-US main contrib non-free deb-src http://snapshot.debian.net/archive/date/datestr/debian unstable main contrib non-free deb-src http://snapshot.debian.net/archive/date/datestr/debian-non-US unstable/non-US main contrib non-free
In diesem Beispiel muss datestr durch einen String ersetzt werden, der dem Kommando date als Datum bekannt ist.
- Dies kann beispielsweise yesterday, 2-days-ago oder last-week sein.
apt.conf
APT innerhalb von dselect
Wird APT als Zugriffsmethode von dselect verwendet, so können die folgenden Parameter zur Konfiguration verwendet werden.
Clean | Modus, um den Paketcache zu verwalten. |
options | Der Inhalt dieser Variablen wird an apt-get als Kommandozeilenoption weitergereicht, wenn eine Installation durchgeführt wird. |
Updateoptions | Der Inhalt dieser Variablen wird an apt-get als Kommandozeilenoption weitergereicht, wenn ein Update durchgeführt wird. |
PromptAfterUpdate | Wird die Funktion Update im Programm dselect verwendet, so wird immer nachgefragt, um eine Aktion fortzusetzen, wenn diese Variable auf True gesetzt ist. |
Aufruf von DPKG über APT
Im Abschnitt DPkg der Konfigurationsdatei können verschiedene Parameter eingestellt werden, die sich mit dem Aufruf von dpkg aus APT-basierenden Programmen beschäftigen.
options | Eine Liste von Optionen, die dem Aufruf von dpkg übergeben werden. |
Pre-Invoke, Post-Invoke | Eine Liste von Shell-Kommandos, die vor bzw.
|
Pre-Install-Pkgs | Dies ist eine Liste von Kommandos, welche vor dem Aufruf von dpkg ausgeführt werden.
|
Run-Directory | APT wechselt in das hier angegebene Verzeichnis vor dem Aufruf von dpkg.
|
Build-options | Diese Optionen werden dem Programm dpkg-buildpackage übergeben.
|
apt-get
apt_preferences
Prioritäten
Paketversionen und Distributionseigenschaften
Die Paketquellen, welche in der Datei /etc/apt/sources.list aufgeführt werden, enthalten im Idealfall die Dateien Packages (bzw. Packages.gz) und Release, mit denen die an der jeweiligen Quelle verfügbaren Pakete beschrieben werden.
Die Datei Packages befindet sich normalerweise im Pfad .../dists/dist-name/component/arch, also beispielsweise .../dists/stable/main/binary-i386/Packages.
- Diese Datei besteht aus einem mehrzeiligen Eintrag für jedes Paket, von dem für die APT Prioritäten lediglich die beiden Zeilen Package und Version benötigt werden.
Die Datei Release befindet sich im Pfad .../dists/dist-name, also beispielsweise unter .../dists/stable/Release oder auch .../dists/sarge/Release.
- Abweichend von der Datei Packages werden fast alle Informationen aus der Release-Datei benötigt.
- Diese sind
Archive
# Bezeichnet das Archiv, zu dem alle Pakete dieses Verzeichnisses gehören.
- Beispielsweise gibt die Zeile Archive: stable an, dass alle Pakete in dem Verzeichnisbaum unterhalb der Datei Release zum „stable“-Release von Debian gehören.
# In der APT Konfigurationsdatei wird dieser Wert wie folgt gesetzt:
# Pin: release a=stable
Version
# Diese Zeile bezeichnet die Release-Version der Distribution.
- Der Wert „3.1“ besagt auch, dass alle Pakete im Verzeichnisbaum zur Release 3.1 „Sarge“ von Debian gehören.
- Für Versionen wie „testing“ und „unstable“ werden keine Versionsnummern vergeben, da diese Versionen noch nicht veröffentlicht sind.
- Um diesen Wert in der APT-Konfigurationsdatei anzugeben, ist eine der folgenden Zeilen notwendig:
# Pin: release v=3.0 Pin: release a=stable, v=3.0 Pin: release 3.0
Component
# Bezeichnet den Abschnitt der Distribution, aus der die Pakete stammen.
- Beispielsweise bezeichnet die Zeile Component: main in der Release-Datei, dass alle Pakete unterhalb diese Verzeichnisses zum Abschnitt „main“ gehören.
- Dies bedeutet auch, dass alle diese Pakete einer Lizenz entsprechen, die in den Debian Free Software Guidelines (siehe auch DFSG) festgelegt ist.
- Diese Angabe wird wie folgt in der APT-Konfigurationsdatei preferences festgelegt
# Pin: release c=main
Origin
# Bezeichnet den Ursprung der Pakete, meist ist hier „Debian“ angegeben.
- In der APT preferences-Datei sieht diese Zeile wie folgt aus:
# Pin: release o=Debian
Label
# Eine Bezeichnung für die Pakete in diesem Verzeichnisbaum, dieser Eintrag hat meistens den Wert „Debian“.
- In der APT preferences-Datei sieht diese Zeile wie folgt aus:
# Pin: release l=Debian
Alle verfügbaren Dateien (Packages und Release), die über Quellen in der Datei /etc/apt/sources.list verfügbar sind, werden im Verzeichnis /var/lib/apt/lists/ abgelegt.
- Dieses Verzeichnis kann durch die Variable Dir::State::Lists in der Datei apt.conf verändert werden.
- Die Dateinamen der gespeicherten Packages und Release-Dateien werden mit dem Namen des Servers sowie dem Pfad und der Architektur ergänzt, beispielsweise debiananwenderhandbuch.de_debian_dists_stable_main_binary-i386_Packages.
Weiterhin ist es möglich, eine oder mehrere Zeilen, beginnend mit dem Schlüsselwort Explanation:, mit einer Erklärung dieses Eintrages einzufügen.
Die Zeile Pin-Priority: in jedem Eintrag ist nicht zwingend erforderlich.
- Wird ein solcher Eintrag nicht gefunden, so wird eine um den Wert 1 reduzierte Priorität gegenüber dem vorhergehenden Eintrag vergeben.
Beispiele
Das erste Beispiel zeigt, wie man allen Paketen der „stable“ Distribution eine Priorität über der vorgegebenen (von 500) zuweist.
- Bei allen anderen Paketen wird die Priorität um den Wert 10 verringert.
# Explanation: Uninstall or do not install any Debian-originated Explanation: package versions other than those in the stable distro Package: * Pin: release a=stable Pin-Priority: 900
Package: * Pin: release o=Debian Pin-Priority: -10
Die beschriebene Konfiguration führt dazu, dass alle Pakete aus der aktuellen „stable“ Distribution installiert werden bzw. bereits installierte Pakete immer aktuell gehalten werden. Darüber hinaus ist es möglich, einzelne Pakete aus anderen Distributionen zu installieren, hier am Beispiel eines Paketes aus „testing“ gezeigt:
# apt-get install paketname/testing
Das so aus „testing“ installierte Paket wird zu einem späteren Zeitpunkt nicht weiter aktualisiert.
- Dies muss von Hand durch den erneuten Aufruf des oben beschriebenen Kommandos erfolgen.
Das zweite Beispiel setzt eine hohe Priorität für Pakete aus dem „testing“-Zweig, eine etwas niedrigere Priorität für den „unstable“-Zweig und eine noch geringere Priorität für Pakete aus anderen Bereichen.
# Package: * Pin: release a=testing Pin-Priority: 900
Package: * Pin: release a=unstable Pin-Priority: 800
Package: * Pin: release o=Debian Pin-Priority: -10
Diese Konfiguration bewirkt, dass bevorzugt Pakete aus „testing“ in den jeweils aktuellen Versionen installiert werden.
- Einzelne Pakete aus dem „unstable“-Bereich installieren
# apt-get install paketname/unstable