Linux Administration

APT verstehen – Mehr als apt install: Der umfassende Leitfaden für Debian und Ubuntu

APT kann weit mehr als nur Pakete installieren. Dieser Praxisleitfaden zeigt, wie du mit apt, apt-cache, apt-mark und apt policy Pakete analysierst, Versionen kontrollierst, Paketquellen verwaltest und typische Probleme unter Debian und Ubuntu systematisch behebst.

4 min Lesezeit
Grafik: Paketverwaltung unter Linux erklärt

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 update ausführen.
  • Regelmäßig Sicherheits- und Systemupdates einspielen.
  • Nur vertrauenswürdige Paketquellen verwenden.
  • Fremdrepositories sparsam einsetzen und dokumentieren.
  • Nicht benötigte Pakete regelmäßig mit autoremove entfernen.
  • Den Paketcache gelegentlich mit autoclean oder clean bereinigen.
  • Vor größeren Upgrades eine Datensicherung erstellen.
  • Paketversionen mit apt policy prüfen, bevor gezielt ältere oder neuere Versionen installiert werden.
  • Testinstallationen mit -s simulieren, 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.