apt
Artikel wird überarbeitet
Dieser Artikel wird momentan überarbeitet.
Solltest du dir nicht sicher sein, ob an dieser Anleitung noch gearbeitet wird, kontrolliere das Datum der letzten Änderung und entscheide, wie du weiter vorgehst.
Achtung: Insbesondere heißt das, dass dieser Artikel noch nicht fertig ist und dass wichtige Teile fehlen oder sogar falsch sein können. Bitte diesen Artikel nicht als Anleitung für Problemlösungen benutzen!
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
apt ist ein Kommandozeilen-Programm für das Advanced Packaging Tool, der Paketverwaltung, die bei Debian, Ubuntu und damit auch allen offiziellen Ubuntu-Varianten zum Einsatz kommt.
apt kann Pakete installieren, deinstallieren oder auch nur Informationen zu Paketen anzeigen. Außerdem besitzt der Befehl sowohl eine farbige Ausgabe als auch eine Fortschrittsanzeige. Das Programm ist gegenüber apt-get stärker für das interaktive Arbeiten auf der Kommandozeile optimiert und kann wie dpkg auch einzelne .deb-Pakete installieren.
Installation¶
Das Advanced Package Tool ist grundlegender Bestandteil von Ubuntu und damit ist auch der Befehl apt auf jedem System verfügbar.
Benutzung¶
apt verwendet eine Reihe von Befehlen zum Verwalten von Paketen, zum Suchen und Durchsuchen von Paketen und deren Beschreibung als auch einen Befehl zum Editieren der Datei mit den Paketquellen.
Die allgemeine Syntax des Befehls lautet[1]:
apt BEFEHL [OPTIONEN]
Alle Befehle zum Verwalten von Paketen (also Installieren, Deinstallieren etc.) und Editieren benötigen Root-Rechte[2]. Die Befehle zum (Durch-)Suchen können mit normalen Nutzerrechten ausgeführt werden.
Pakete verwalten¶
Die Befehle zur Verwaltung von Paketen lauten:
apt Befehle zur Paketverwaltung | |
Befehl | Beschreibung |
update | Neueinlesen der Paketlisten |
upgrade | Installierte Pakete wenn möglich auf eine verbesserte Version aktualisieren. Um geänderte Abhängigkeiten zu erfüllen, werden gegebenenfalls auch neue Pakete installiert. |
full-upgrade | Wie upgrade , nur können bei dem Vorgang auch Pakete entfernt werden. Alternativ kann statt full-upgrade auch der Befehl dist-upgrade verwendet werden. Das Ergebnis ist identisch, allerdings ist dist-upgrade in der Hilfe und der Man-Page von apt nicht dokumentiert. |
install PAKETNAME | installiert das Paket PAKETNAME |
install /PFAD/ZUM/PAKET | installiert ein lokales Paket und dessen Abhängigkeiten (siehe auch Problembehebung) |
remove PAKETNAME | deinstalliert das Paket PAKETNAME |
purge PAKETNAME | wie remove , es werden aber zusätzlich auch alle Konfigurationsdateien gelöscht |
autoremove | deinstalliert alle automatisch installierten Pakete, die nicht mehr benötigt werden und keine Abhängigkeiten mehr zu anderen Paketen haben |
Suchen/Durchsuchen¶
Die Befehle zum Suchen und Durchsuchen von Paketen lauten:
apt Befehle zur Suche | |
Befehl | Beschreibung |
search SUCHBEGRIFF | Zeigt alle Pakete an, in deren Namen oder Beschreibung der Begriff SUCHBEGRIFF vorkommt. Als Suchbegriff kann auch ein regulärer Ausdruck verwendet werden. |
show PAKETNAME | zeigt Informationen zum Paket PAKETNAME an |
list SUCHMUSTER [OPTION] | Listet alle Paketnamen auf, deren Paketname auf das Suchmuster SUCHMUSTER passen. Das Suchmuster kann dabei auch ein Glob-Pattern sein. Als Optionen stehen z.B. --installed (listet nur Pakete auf, die auch installiert sind) und --upgradeable (listet nur Pakete auf, für die eine aktuelle Version in den Paketquellen bereit steht) zur Verfügung. |
sources.list editieren¶
Mit dem Befehl
sudo apt edit-sources
wird die Datei /etc/apt/sources.list mit einem Editor[3] geöffnet, so dass die Paketquellen editiert werden können. Sind auf dem System mehrere Editoren installiert, wird vor dem Öffnen gefragt, welcher Editor verwendet werden soll. (Da apt im Terminal ausgeführt wird, werden nur reine Texteditoren zum Editieren angeboten, keine grafischen.)
Hinweise¶
Verwendung in Skripten¶
Die Hilfeseiten empfehlen, apt nicht in Skripten zu benutzen, da es nicht zwingend abwärtskompatibel und nicht als Entwicklerwerkzeug konzipiert wurde. Dies wird auch in der Manpage zu apt explizit hervorgehoben:
"Die apt(8)-Befehlszeile wurde als Endanwenderwerkzeug entworfen und kann bei Versionswechseln die Ausgabe ändern. Obwohl es versucht, nicht die Abwärtskompatibilität zu unterbrechen, kann sie nicht garantiert werden. Alle Funktionalitäten von apt(8) sind in apt-cache(8) und apt-get(8) über APT-Optionen verfügbar. Bitte benutzen Sie vorzugsweise diese Befehle in Ihren Skripten."
Vergleich apt-get/apt¶
Vergleich apt/apt-get | |||
apt <BEFEHL> | apt-get <BEFEHL> | ||
update | Neueinlesen der Paketlisten | ||
upgrade | * Installierte Pakete wenn möglich auf eine neuere Version aktualisieren. * Um geänderte Abhängigkeiten zu erfüllen, werden gegebenenfalls auch neue Pakete installiert. | * Installierte Pakete wenn möglich auf eine neuere Version aktualisieren. * Es werden keine neuen Pakete installiert. | |
full-upgrade | * Installierte Pakete wenn möglich auf eine neuere Version aktualisieren. * Um geänderte Abhängigkeiten zu erfüllen, werden gegebenenfalls auch neue Pakete installiert. * Bei nicht mehr benötigten Abhängigkeiten werden gegebenenfalls auch Pakete entfernt. | - nicht dokumentiert - | |
dist-upgrade | - nicht dokumentiert - | * Installierte Pakete wenn möglich auf eine neuere Version aktualisieren. * Um geänderte Abhängigkeiten zu erfüllen, werden gegebenenfalls auch neue Pakete installiert. * Bei nicht mehr benötigten Abhängigkeiten werden gegebenenfalls auch Pakete entfernt. | |
install PAKETNAME | installiert das Paket PAKETNAME | ||
install /PFAD/ZUM/PAKET | installiert ein lokales Paket und dessen Abhängigkeiten (siehe auch Problembehebung) | –- | |
remove PAKETNAME | deinstalliert das Paket PAKETNAME | ||
purge PAKETNAME | wie remove , es werden aber zusätzlich auch alle Konfigurationsdateien gelöscht | ||
autoremove | deinstalliert alle automatisch installierten Pakete, die nicht mehr benötigt werden und keine Abhängigkeiten mehr zu anderen Paketen haben |
noch ein Vergleich¶
Vergleich apt/apt-get | ||||||
apt install | apt-get install | apt upgrade | apt-get upgrade | apt full-upgrade | apt-get dist-upgrade | |
installierte Pakete wenn möglich auf eine neuere Version aktualisieren | ja | ja | ja | |||
ggf. Installation neuer Pakete | ja | ja | nein | ja | ||
ggf. Löschung unnötig gewordener Abhängigkeiten | nein | nein | ja | |||
installiert ein lokales Paket und dessen Abhängigkeiten | ja | nein | –- | –- |
Problembehebung¶
Ein einzelnes Paket installieren¶
Apt kann auch ein lokal gespeichertes Einzelpaket installieren, wobei es im Gegensatz zu dpkg Abhängigkeiten automatisch auflösen und installieren kann. Allerdings ist zwingend eine Pfadangabe erforderlich. Das folgende Beispiel soll die Problematik verdeutlichen, wenn man ein im aktuellen Ordner gespeichertes Paket mit dem Namen foo_1.0_all.deb installieren möchte:
falsch:
sudo apt install foo_1.0_all.deb
Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig E: Paket foo_1.0_all.deb kann nicht gefunden werden. E: Mittels des Musters »foo_1.0_all.deb« konnte kein Paket gefunden werden. E: Mittels regulärem Ausdruck »foo_1.0_all.deb« konnte kein Paket gefunden werden.
richtig:
sudo apt install ./foo_1.0_all.deb
Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Hinweis: »foo« wird an Stelle von »./foo_1.0_all.deb« gewählt. Die folgenden zusätzlichen Pakete werden Installiert bar Die folgenden NEUEN Pakete werden installiert: foo bar 0 aktualisiert, 2 neu installiert, 0 zu entfernen Es müssen noch 1.272 kB von 1.365 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 13,2 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n]
Links¶
APT - Übersichtsseite zum Advanced Package Tool
Manpage 🇬🇧
Blogbeitrag 🇩🇪 zu apt auf Linuxundich.de (von März 2016)
Simplify Command-Line Package Management with APT instead of apt-get 🇬🇧 - Blogbeitrag, 11/2015