Einleitung
Wer Debian, Ubuntu oder eine darauf basierende Linux-Distribution verwendet, kommt an APT (Advanced Package Tool) nicht vorbei. Für viele Anwender besteht APT lediglich aus den Befehlen apt update, apt upgrade und apt install. Tatsächlich bietet APT jedoch wesentlich mehr Funktionen und Werkzeuge, mit denen sich Software verwalten, Paketquellen analysieren, Versionen kontrollieren und Fehler beheben lassen.
In diesem Beitrag lernst du die wichtigsten Bestandteile von APT kennen – darunter apt, apt-cache, apt-mark, apt policy, den Umgang mit Paketquellen sowie zahlreiche Tipps zur Fehlersuche und Problemlösung.
Was ist APT?
APT steht für Advanced Package Tool und bildet das Paketmanagement von Debian sowie zahlreicher darauf basierender Distributionen wie Ubuntu, Linux Mint oder Kali Linux.
APT übernimmt unter anderem:
- Installation neuer Software
- Aktualisierung installierter Programme
- Verwaltung von Abhängigkeiten
- Entfernen von Paketen
- Aktualisierung des Betriebssystems
- Prüfung von Paketversionen
- Verwaltung verschiedener Paketquellen
APT arbeitet dabei auf dem Paketformat .deb.
Die Architektur von APT
APT besteht aus mehreren Komponenten.
- Paketquellen (Repositories)
- Paketdatenbank
- Paketmanager
- Werkzeuge wie
apt,apt-cache,apt-mark - Paketdaten aus
/var/lib/apt - Paketquellen unter
/etc/apt
Die eigentlichen Pakete stammen dabei aus offiziellen oder eigenen Repositories.
apt – Der moderne Paketmanager
Seit Debian 8 wird hauptsächlich der Befehl apt verwendet. Er kombiniert zahlreiche Funktionen der älteren Werkzeuge apt-get und apt-cache.
Paketlisten aktualisieren
sudo apt update
Dieser Befehl lädt die aktuellen Paketlisten aller eingebundenen Repositories herunter.
Installierte Pakete aktualisieren
sudo apt upgrade
APT installiert alle verfügbaren Updates.
Vollständiges Upgrade
sudo apt full-upgrade
Im Gegensatz zu upgrade dürfen hierbei auch Pakete entfernt oder ersetzt werden.
Software installieren
sudo apt install htop
Mehrere Programme gleichzeitig:
sudo apt install htop curl wget git
Software entfernen
sudo apt remove htop
Pakete inklusive Konfiguration löschen
sudo apt purge htop
Nicht mehr benötigte Pakete entfernen
sudo apt autoremove
Paketinformationen anzeigen
apt show htop
Ausgabe unter anderem:
- Version
- Maintainer
- Homepage
- Abhängigkeiten
- Beschreibung
- Downloadgröße
Nach Paketen suchen
apt search apache
apt-cache – Informationen aus der Paketdatenbank
apt-cache dient hauptsächlich der Analyse der Paketdatenbank.
Obwohl viele Funktionen inzwischen direkt in apt integriert wurden, bleibt apt-cache insbesondere für Administratoren ein hilfreiches Werkzeug.
Paketinformationen
apt-cache show nginx
Paket suchen
apt-cache search php
Abhängigkeiten anzeigen
apt-cache depends nginx
Beispiel:
nginx ├── libc6 ├── libssl3 ├── nginx-common
Umgekehrte Abhängigkeiten
apt-cache rdepends openssl
Hier wird angezeigt, welche Programme von einem Paket abhängig sind.
Statistiken
apt-cache stats
Ausgabe:
- Anzahl Pakete
- Anzahl virtueller Pakete
- Paketgrößen
- Abhängigkeiten
apt-mark – Pakete verwalten
Mit apt-mark lässt sich festlegen, ob Pakete automatisch oder manuell installiert wurden.
Paket als manuell installiert markieren
sudo apt-mark manual nginx
Paket automatisch verwalten
sudo apt-mark auto nginx
APT kann das Paket später automatisch entfernen, wenn es nicht mehr benötigt wird.
Gehaltene Pakete anzeigen
apt-mark showhold
Paket sperren
sudo apt-mark hold nginx
Danach wird dieses Paket nicht mehr aktualisiert.
Sperre entfernen
sudo apt-mark unhold nginx
apt policy – Versionen analysieren
apt policy gehört zu den wichtigsten Werkzeugen bei Versionsproblemen.
Installierte Version anzeigen
apt policy nginx
Beispiel:
Installed: 1.28.0 Candidate: 1.30.0 Version table:
Alle verfügbaren Versionen anzeigen
apt policy firefox
Hier erkennt man sofort,
- welche Version installiert ist,
- welche Version installiert werden würde,
- aus welchem Repository sie stammt.
Paketquellen (Repositories)
APT lädt Software aus sogenannten Paketquellen.
Diese befinden sich unter
/etc/apt/sources.list
sowie
/etc/apt/sources.list.d/
Inhalt anzeigen
cat /etc/apt/sources.list
Paketquellen bearbeiten
sudo nano /etc/apt/sources.list
Neue Repository-Datei
Beispielsweise:
sudo nano /etc/apt/sources.list.d/docker.list
Nach Änderungen
sudo apt update
Signaturschlüssel
Jedes Repository sollte mit einem GPG-Schlüssel abgesichert sein.
Moderne Quellen verwenden meist:
/etc/apt/keyrings/
Beispiel:
sudo mkdir -p /etc/apt/keyrings
Paketquellen anzeigen
grep -r "^deb" /etc/apt/
Installierte Pakete auflisten
apt list --installed
Aktualisierbare Pakete anzeigen
apt list --upgradable
Dateiliste eines Pakets anzeigen
dpkg -L nginx
Welches Paket enthält eine Datei?
dpkg -S /usr/bin/htop
Typische Troubleshooting-Szenarien
Paketlisten beschädigt
sudo rm -rf /var/lib/apt/lists/* sudo apt update
Defekte Abhängigkeiten reparieren
sudo apt --fix-broken install
Unterbrochene Installation
sudo dpkg --configure -a
Cache bereinigen
sudo apt clean
Nur nicht mehr benötigte Pakete löschen
sudo apt autoclean
Gesperrte Paketverwaltung
Fehlermeldung:
Could not get lock
Prüfen:
ps aux | grep apt
oder
ps aux | grep dpkg
Repository nicht erreichbar
sudo apt update
liefert beispielsweise
404 Not Found
Mögliche Ursachen:
- Repository existiert nicht mehr
- falsche Debian-Version
- Netzwerkproblem
- DNS-Probleme
Paket kann nicht installiert werden
Hilfreiche Werkzeuge:
apt policy paketname apt-cache depends paketname apt search paketname
Praktische Administrator-Tipps
Simulieren einer Installation
sudo apt install -s nginx
Es erfolgt keine tatsächliche Installation.
Simulation eines Upgrades
sudo apt upgrade -s
Download ohne Installation
apt download nginx
Paketversion installieren
sudo apt install nginx=1.28.0
Paket erneut installieren
sudo apt install --reinstall nginx
Alle Pakete aktualisieren und aufräumen
sudo apt update sudo apt full-upgrade sudo apt autoremove sudo apt autoclean
Best Practices
Für eine stabile und sichere Paketverwaltung haben sich folgende Vorgehensweisen bewährt:
- Vor jeder Installation zunächst
apt updateausführen. - Regelmäßig Sicherheits- und Systemupdates einspielen.
- Nur vertrauenswürdige Paketquellen verwenden.
- Fremdrepositories sparsam einsetzen und dokumentieren.
- Nicht benötigte Pakete regelmäßig mit
autoremoveentfernen. - Den Paketcache gelegentlich mit
autocleanodercleanbereinigen. - Vor größeren Upgrades eine Datensicherung erstellen.
- Paketversionen mit
apt policyprüfen, bevor gezielt ältere oder neuere Versionen installiert werden. - Testinstallationen mit
-ssimulieren, um Auswirkungen auf das System abzuschätzen.
APT ist weit mehr als ein einfacher Installationsbefehl. Es bildet das Herzstück der Paketverwaltung unter Debian und Ubuntu und stellt eine Vielzahl leistungsfähiger Werkzeuge bereit, die weit über apt install hinausgehen. Ob Softwareinstallation, Versionsverwaltung, Paketanalyse oder Fehlerbehebung – mit Befehlen wie apt-cache, apt-mark und apt policy lassen sich selbst komplexe Administrationsaufgaben effizient lösen.
Wer diese Werkzeuge beherrscht, spart Zeit, erhöht die Systemsicherheit und kann Probleme deutlich schneller diagnostizieren. Für Administratoren und ambitionierte Linux-Anwender gehört ein fundiertes Verständnis von APT deshalb zu den wichtigsten Grundlagen im täglichen Betrieb.