Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Alle Kommandos von apt-get werden im Terminal eingegeben [1]. Allgemein besteht ein apt-get-Befehl aus den Optionsschaltern, dem "command" (Kommando) und gegebenenfalls aus einem oder mehreren Paketnamen. Manche Kommandos benötigen keine Angabe von Paketnamen. Allerdings benötigt apt-get außer im Fall von -h
oder --help
die Angabe eines Kommandos. Ein Paketname besteht nur aus dem Namen des Pakets ohne Versionsangabe.
Eine Übersicht der auf APT aufsetzenden Programme bzw. graphischen Oberflächen findet sich im Artikel Paketverwaltung.
apt-get benötigt in den allermeisten Fällen Root-Rechte [2].
Die allgemeine Form sieht so aus:
[sudo] apt-get [OPTIONEN] KOMMANDO [PAKET1] [PAKET2]
Kommandos zu apt-get | |
update | Neueinlesen der Paketlisten |
upgrade | installierte Pakete wenn möglich auf verbesserte Version aktualisieren |
install PAKET(E) | Installation von PAKET(E) |
remove PAKET(E) | Deinstallation von PAKET(E) |
autoremove [PAKET(E)] | Deinstallation ungenutzter Abhängigkeiten [inkl PAKET(E) ] |
purge PAKET(E) | wie remove , zusätzlich werden alle globalen Konfigurationen von PAKET(E) entfernt |
source PAKET(E) | Quelltext von PAKET(E) herunterladen, entpacken und Patches anwenden |
build-dep PAKET(E) | zum Erstellen von PAKET(E) notwendigen Abhängigkeiten installieren |
dist-upgrade | wie upgrade , nur können bei dem Vorgang auch Pakete installiert bzw. entfernt werden |
dselect-upgrade | in dselect gemachten Anweisungen folgen |
clean | Leeren des Paketcaches (Entfernen von zur Installation heruntergeladenen Paketen) |
autoclean | wie clean , nur werden ausschließlich Pakete, die nicht mehr in den Quellen verfügbar sind, gelöscht |
check | Überprüfung auf Abhängigkeitsfehler |
markauto PAKET(E) | PAKET(E) als "automatisch installiert" markieren |
unmarkauto PAKET(E) | PAKET(E) als "manuell installiert" markieren |
changelog PAKET(E) | Herunterladen und Anzeige des Changelogs von PAKET(E) |
download PAKET(E) | PAKET(E) herunterladen |
update
liest alle in der /etc/apt/sources.list und in /etc/apt/sources.list.d/ eingetragenen Paketquellen neu ein. Hierbei erfolgt eine Prüfung auf die Signatur der Paketlisten. update
benötigt keine Angabe von Paketnamen.
Dieser Schritt ist vor einem upgrade
, dist-upgrade
oder nach dem Hinzufügen einer neuen Quelle zu empfehlen, um die aktuellsten Informationen zu den verfügbaren Paketen zu erhalten.
sudo apt-get [Option(en)] update
upgrade
bringt die installierten Pakete auf den neuesten in den Paketquellen verfügbaren Stand. Hierbei werden weder neue Pakete installiert noch durch neue Abhängigkeiten unnötig gewordene Pakete deinstalliert. upgrade
benötigt keine Angabe von Paketnamen.
sudo apt-get [Option(en)] upgrade
dist-upgrade
bringt die installierten Pakete auf den neuesten in den Paketquellen verfügbaren Stand. Hierbei werden im Gegensatz zu upgrade
neue Pakete installiert und durch neue Abhängigkeiten unnötig gewordene Pakete ersetzt, auch wenn dies alte Abhängigkeiten beeinflusst. dist-upgrade
benötigt keine Angabe von Paketnamen.
sudo apt-get [Option(en)] dist-upgrade
dist-upgrade
führt kein Upgrade auf eine neue Ubuntu-Version durch.
install
lädt das Paket bzw. die Pakete inklusive der noch nicht installierten Abhängigkeiten (und eventuell der vorgeschlagenen weiteren Pakete) herunter und installiert diese. Wendet man install
auf ein bereits installiertes Paket an, wird dieses unabhängig vom aktuellen Status als "manuell installiert" markiert. install
benötigt die Angabe mindestens eines Paketnamens, es können beliebig viele Pakete gleichzeitig angegeben werden. Diese werden durch ein Leerzeichen voneinander getrennt.
sudo apt-get [Option(en)] install PAKET1 [PAKET2]
Es lässt sich auch eine bestimmte verfügbare Version eines Paketes angeben:
sudo apt-get [Option(en)] install PAKET1=VERSION [PAKET2=VERSION]
clean
löscht die bereits heruntergeladenen Installationsdateien aus dem Paket-Cache /var/cache/apt/archives/ und gibt so Festplattenspeicher frei. clean
benötigt keine Angabe von Paketnamen.
sudo apt-get [Option(en)] clean
autoclean
löscht alle heruntergeladenen Paketinstallationsdateien, die aktuell nicht mehr in den Quellen verfügbar sind (Unterschied: clean
löscht ausnahmslos alle Installationsdateien). autoclean
benötigt keine Angabe von Paketnamen:
sudo apt-get [Option(en)] autoclean
remove
deinstalliert ein oder mehrere Paket(e). Die Konfigurationsdateien, die durch die manuelle oder Autokonfiguration des Pakets erstellt wurden, bleiben erhalten. remove
benötigt die Angabe mindestens eines Paketnamens. Wenn mehrere Pakete gleichzeitig gelöscht werden sollen, müssen diese durch Leerzeichen voneinander getrennt werden.
sudo apt-get [Option(en)] remove PAKET1 [PAKET2]
autoremove
deinstalliert nicht mehr benötigte Pakete, die als Abhängigkeit installiert wurden. autoremove
kann auf zwei Arten verwendet werden:
Ohne Angabe eines Paketnamens. Hierbei werden alle zur Zeit nicht mehr benötigten Abhängigkeiten deinstalliert (remove
)
Mit Angabe eines oder mehrerer Paketnamen. Hierbei wird zuerst das oder die angegebenen Paket(e) deinstalliert (remove
), dann die frei gewordenen Abhängigkeiten deinstalliert.
autoremove
benötigt keine Angabe von Paketnamen:
sudo apt-get [Option(en)] autoremove [PAKET1] [PAKET2]
purge
kann auf zwei Arten verwendet werden:
Zur Deinstallation eines Pakets inklusive Löschung der globalen Konfiguration. Dies entspricht remove
mit dem Parameter --purge
Zum Löschen der globalen Konfiguration eines Pakets nach der Deinstallation mit remove
purge
benötigt die Angabe mindestens eines Paketnamens. Sollen mehrere Pakete und ihre globalen Konfigurationsdateien gelöscht werden, werden diese durch Leerzeichen voneinander getrennt. Der gleiche Effekt lässt sich mit dem Kommando remove --purge
erzielen.
sudo apt-get [Option(en)] purge PAKET1 [PAKET2]
build-dep
installiert die zum Erstellen von Paket aus dem Quelltext nötigen Abhängigkeiten. build-dep
benötigt die Angabe mindestens eines Paketnamens.
sudo apt-get [Option(en)] build-dep PAKET1 [PAKET2]
check
überprüft die Liste der installierten Pakete auf Abhängigkeitsfehler. check
benötigt keine Angabe eines Paketnamens.
sudo apt-get [Option(en)] check
source
lädt das Quelltext-Paket des Pakets in das aktuelle Verzeichnis herunter, entpackt es und wendet evtl. vorhandene Patches an. source
benötigt die Angabe mindestens eines Paketnamens, aber keine Root-Rechte.
apt-get [Option(en)] source PAKET1 …
help
zeigt den Hilfetext an. Er kann auch via Option -h
oder --help
aufgerufen werden. Eine ausführliche Informationsseite findet man in der Manpage zu apt-get.
apt-get help
dselect-upgrade
führt die von dselect gemachten oder manuell markierten Änderungen aus. dselect-upgrade
benötigt keine Angabe eines Paketnamens.
sudo apt-get [Option(en)] dselect-upgrade
markauto
markiert die übergebenen Pakete als automatisch installiert. markauto
benötigt die Angabe mindestens eines Paketnamens.
sudo apt-get [Option(en)] markauto PAKET1 [PAKET2]
Dies gilt jedoch als veraltet, es sollte stattdessen verwendet werden:
sudo apt-mark auto PAKET1 [PAKET2]
unmarkauto
markiert die übergebenen Pakete als "manuell installiert". unmarkauto
benötigt die Angabe mindestens eines Paketnamens.
sudo apt-get [Option(en)] unmarkauto PAKET1 [PAKET2]
Dies gilt jedoch als veraltet, es sollte stattdessen verwendet werden:
sudo apt-mark manual PAKET1 [PAKET2]
changelog
lädt den Änderungsbericht (Changelog) des angegebenen Paket herunter und zeigt ihn an. changelog
benötigt sinnvollerweise die Angabe eines Paketnamens, aber keine Root-Rechte.
apt-get [Option(en)] changelog PAKET
download
funktioniert erst ab Ubuntu 11.04 und lädt die Installationsdateien des angegebenen Pakets in das aktuelle Verzeichnis herunter. download
benötigt die Angabe mindestens eines Paketnamens, aber ebenfalls keine Root-Rechte.
apt-get [Option(en)] download PAKET1 [PAKET2]
Unter älteren Ubuntu-Versionen kann man stattdessen die Option -d
(siehe unten) verwenden:
sudo apt-get -d --reinstall install PAKET1 [PAKET2]
Die heruntergeladenen Pakete sind dann im Ordner /var/cache/apt/archives/ zu finden.
apt-get bietet zahlreiche Schalter, um das Verhalten zu beeinflussen.
Kommandozeilenoptionen zu apt-get | ||
Lange Option | Kürzel | Beschreibung |
--arch-only | Nur Pakete mit der zum System passenden Architektur werden heruntergeladen. | |
--assume-yes --yes | -y | Interaktive Fragen werden automatisch mit "YES"/"JA" beantwortet |
--compile --build | -b | Den Quelltext kompilieren, nachdem er heruntergeladen wurde. Benutzung in Verbindung mit source . |
--config-file | -c | Die angegebene Konfigurationsdatei benutzen, die die Standardkonfiguration ersetzt. |
--diff-only | Nur das Diff-File eines Patchsets herunterladen. | |
--download-only | -d | Pakete werden nur heruntergeladen, nicht installiert. |
--fix-broken | -f | Fehlende Abhängigkeiten werden nachinstalliert, kaputte Pakete werden eventuell deinstalliert. Es erlaubt die Nutzung von install oder remove ohne Angabe von Paketnamen. |
--fix-missing --ignore-missing | -m | Nicht downloadbare Pakete werden auf "hold" gesetzt. In Verbindung mit --no-download werden nur Pakete im Paket-Cache benutzt. |
--force-yes | Ausnahmslos alle Rückfragen mit "YES"/"JA" beantwortet, auch wenn die Fragen als "kritisch" gekennzeichnet sind. Sehr gefährliche Option! | |
--ignore-hold | Ein Paket wird trotz gesetztem Status "hold" auf die neueste Version gebracht. | |
--install-suggests | Vorgeschlagene Pakete werden mitinstalliert. | |
--list-cleanup | apt löscht nach update gespeicherte Listen aus Quellen, die nicht mehr in der sources.list stehen (standardmäßig aktiv). | |
--no-install-recommends | Empfohlene Pakete werden nicht automatisch installiert. | |
--no-list-cleanup | apt behält nach update die Paketlisten nicht mehr existenter Quellen der sources.list. Nützlich bei häufigem Wechsel des Mirrors. | |
--no-upgrade | Bereits installierte Pakete werden auf dem alten Stand belassen und nicht auf die neueste Version gebracht. In Verbindung mit install ist es so eventuell möglich, alte Abhängigkeiten beizubehalten. | |
--only-upgrade | Ausschließlich bereits installierte Pakete werden auf eine neue Version gebracht, keine neuen Pakete werden installiert. | |
--option | -o | Option: Die angegebene Option benutzen, statt dem in der Standardkonfiguration festgelegten Wert. |
--print-uris | Ausgabe der "download URIs" statt Herunterladen der Quellen bzw Pakete in Verbindung mit update oder install . | |
--purge | Wird in Verbindung mit remove oder autoremove benutzt. Es werden zusätzlich zu den Paketen Konfigurationsdateien gelöscht. | |
--quiet | -q | Programmausgabe ohne Fortschrittsanzeige mit logbarer Ausgabe. Erhöhung des "Stille"-Levels mit -qq möglich. -qq impliziert -y , um einen automatischen Ablauf zu ermöglichen. |
--reinstall | Ein bereits installiertes Paket wird in Verbindung mit install neu aus den Quellen installiert, obwohl es bereits auf der aktuellen Version ist. | |
--show-upgraded | -u | Ausgabe einer Liste aller Pakete, die auf die neueste Version gebracht werden. |
--simulate --just-print --dry-run --recon --no-act | -s | Die angedachten Änderungen werden simuliert, keine Änderung am System. Seit Version ?? ohne Root-Rechte möglich. |
--tar-only | Ausschließlich das TAR-File des Quelltextes herunterladen. | |
--target-release --default-release | -t | Setzt die Priorität für die Quellen des genannten Release-Namens auf 990. |
--trivial-only | Gegenstück zu --assume-yes . Alle Fragen werden mit "NO" beantwortet, so dass nur unkritische Operationen automatisch ausgeführt werden. | |
--verbose-versions | -V | Die Textausgabe der heruntergeladenen Daten wird um die vollen Versionsangaben erweitert. |
Wie bei Shell-Befehlen üblich, lassen sich kurze Optionen zu einem Block zusammenfassen. Beispiel:
apt-get -s -t lucid update
lässt sich zusammenfassen in
apt-get -st lucid update
Durch die Kombinationen von Kommando und Optionen hat man die Möglichkeit, mehrere Aktionen zu bündeln. Zum Beispiel die Deinstallation eines Pakets, der dann nicht mehr benötigten Abhängigkeiten sowie die Löschung der zugehörigen systemweiten Konfiguration des Pakets.
sudo apt-get --purge autoremove PAKET
Viele Anwendungsprogramme legen ihre spezifische Konfiguration durch den Benutzer in dessen Homeverzeichnis ab. Diese Daten werden niemals automatisch gelöscht.
Der Ablauf eines "update"-Vorgangs lässt sich als Skript abbilden und zum Beispiel mit cron aufrufen. Hier werden einige Beispiele je nach gewünschtem Ergebnis gezeigt, die allerdings nur einen kleinen Teil der Möglichkeiten von apt
nutzen.
Falls man bei einem selten kontrollierten Rechner die Aktualisierungen vor dem Einspielen zwar einsehen möchte, aber den Zeitaufwand möglichst gering halten will, bietet sich (von diversen Automatismen abgesehen) folgender Ablauf an:
1 2 3 4 | #!/bin/bash
apt-get update
apt-get -d dist-upgrade
apt-get autoclean
|
Hier werden zuerst die Paketlisten auf den neuesten Stand gebracht, dann vorhandene Aktualisierungspakete heruntergeladen und schließlich in den Quellen nicht mehr vorhandene Pakete aus dem Cache gelöscht, um Speicherplatz zu sparen. Dieser Ablauf kann automatisiert werden, so dass bei der nächsten Anmeldung die nötigen Pakete für einen "update"-Vorgang bereits vorliegen.
Zusätzlich zum zuvor beschriebenen Verfahren kann man auch sicherheitskritische Aktualisierungen sofort einspielen:
1 2 3 4 5 | #!/bin/bash apt-get update apt-get -yt $(lsb_release -cs)-security dist-upgrade apt-get -d dist-upgrade apt-get autoclean |
Zusätzlich kann man unkritische Aktualisierungen auch automatisch einspielen und nur noch diejenigen Pakete manuell aktualisieren, die eine Nachfrage stellen:
1 2 3 4 5 | #!/bin/bash apt-get update apt-get -yt $(lsb_release -cs)-security dist-upgrade apt-get --trivial-only dist-upgrade apt-get autoclean |
Tipps zum Umgang mit der Paketverwaltung finden sich im Artikel Paketverwaltung/Tipps.
APT Übersichtsseite
apt-pinning - Festsetzen der Prioritäten von APT
apt - Kommandozeilenprogramm zum Verwalten und Durchsuchen von Paketen
Advanced Packaging Tool - Wikipedia
APT - Wartung u. Aktualisierung (PDF) - 28 Seiten, 4,2 MB. Auszug aus dem "debian handbook", Kapitel 6, v. 14.11.2011
Packstation - Paketverwaltung auf der Kommandozeile - Artikel aus EasyLinux 11/2005
apt-fast - Shellwrapper für apt-get und aptitude, um Pakete schneller herunterzuladen
cron - Zeitgesteuerte automatische Ausführung von Skripten
cron-apt - Automatisierung der Aktualisierungsprozesse
dpkg - Debian-Paketmanager
Aktualisierungen - Problematische Version deinstallieren
Recovery Modus - apt-get im Wiederherstellungsmodus anwenden
apt-get, apt-cache lässt sich schon lange mit apt abkürzen - Blog-Beitrag
Diese Revision wurde am 27. April 2016 20:18 von noisefloor erstellt.