VMware ESXi and vSphere Cluster Management

APT-Paketverwaltungssystem unter Debian und Ubuntu

Lerne APT unter Debian und Ubuntu kennen: Paketquellen, Suche, Installation, Updates, Abhängigkeiten, Entfernung, apt-cache und grafische Frontends.

APT steht für Advanced Package Tool und ist die zentrale Paketverwaltungsumgebung vieler Debian-basierter Linux-Distributionen, darunter Debian, Ubuntu und verwandte Systeme. Mit APT suchst, installierst, aktualisierst und entfernst du Software über Paketquellen.

Dieses Tutorial erklärt die wichtigsten Befehle für das Terminal, das Zusammenspiel mit dpkg, Paketquellen, Abhängigkeiten, Sicherheitsaspekte und grafische Alternativen. Grundkenntnisse im Linux-Terminal sowie ein sicherer Umgang mit sudo sind hilfreich.

Was ist APT?

Ein Paket ist eine installierbare Softwareeinheit. Sie enthält Programmdateien, Metadaten und Angaben zu benötigten weiteren Paketen. APT verwaltet diese Pakete und sorgt dafür, dass passende Versionen und Abhängigkeiten gefunden werden.

APT ist sowohl eine Bibliothek als auch eine Sammlung von Kommandozeilenwerkzeugen. Für interaktive Aufgaben wird heute meist der Befehl apt verwendet. Daneben gibt es spezialisierte Werkzeuge wie apt-get und apt-cache.

APT und dpkg

dpkg ist die niedrigere Paketverwaltungskomponente für lokale Debian-Pakete im Format .deb. Sie installiert, entfernt und registriert einzelne lokale Pakete, löst aber Abhängigkeiten nicht selbstständig über Paketquellen auf.

APT baut auf dpkg auf. APT ermittelt passende Paketversionen, lädt Pakete aus konfigurierten Repositorys herunter, berechnet Abhängigkeiten und übergibt die eigentliche Installation an dpkg.

WerkzeugTypische AufgabeVerändert das SystemBeispiel
aptInteraktive PaketverwaltungBei Installations- und Änderungsbefehlen jasudo apt install curl
apt-getInstallation, Aktualisierung und Entfernung; gut für SkripteBei Änderungsbefehlen jasudo apt-get upgrade
apt-cachePaketdatenbank durchsuchen und Informationen anzeigenNeinapt-cache policy curl
dpkgLokale .deb-Pakete und Paketstatus verwaltenJe nach Befehl jadpkg -l
SynapticGrafische GTK-Oberfläche für APTBei angewendeten Änderungen jaPaket vormerken und anwenden
aptitudeTextbasierter beziehungsweise konsolenorientierter APT-ClientBei Änderungsbefehlen jasudo aptitude install vim

Lokale Paketdateien und Paketquellen

Bei einer lokalen .deb-Datei liegt das Paket bereits auf dem Rechner. Es stammt nicht automatisch aus den aktuell konfigurierten Repositorys. APT arbeitet dagegen normalerweise mit Paketen, die aus konfigurierten Paketquellen geladen werden.

Ein Repository ist eine Paketquelle. Sie stellt Paketdateien und signierte Metadaten bereit. APT kann daraus verfügbare Versionen, Abhängigkeiten und Aktualisierungen ermitteln.

Paketquellen, Repositorys und Paketlisten

Die Paketquellen bestimmen, woher APT Informationen und Software bezieht. Ihre grundlegende Konfiguration befindet sich in /etc/apt/sources.list sowie in Dateien unter /etc/apt/sources.list.d/.

Mit sudo apt update lädt APT aktuelle Metadaten aus diesen Quellen herunter. Das verändert normalerweise keine installierten Programme. Stattdessen wird die lokale Paketliste erneuert: ein lokaler Bestand von Informationen über verfügbare Pakete und Versionen.

sudo apt update

Vor einer Installation oder einem Upgrade ist dieser Schritt sinnvoll, weil APT sonst mit veralteten Informationen arbeiten kann. Ein neues Paket, eine Sicherheitsaktualisierung oder eine korrigierte Abhängigkeit wird möglicherweise erst nach dem Aktualisieren der Paketlisten erkannt.

Die wichtigsten APT-Befehle

Die allgemeine Form lautet:

apt [Optionen] Aktion [Paketname oder Suchbegriff]

Für Aktionen, die das System verändern, werden meist administrative Rechte benötigt. Verwende dafür sudo. Informations- und Suchbefehle funktionieren häufig ohne erhöhte Rechte.

Nach Paketen suchen

apt search durchsucht Paketnamen und Beschreibungen. Suche beispielsweise nach einem Texteditor:

apt search texteditor

Die Suche nach einem allgemeinen Begriff kann viele Treffer liefern. Prüfe anschließend die Paketbeschreibung und die verfügbare Version.

Paketinformationen und Versionen anzeigen

Mit apt show erhältst du ausführliche Informationen zu einem Paket:

apt show nano

Die Ausgabe kann unter anderem Beschreibung, Version, Architektur, Größe und Abhängigkeiten enthalten. Mit apt policy prüfst du die installierte Version, die sogenannte Kandidatenversion und die Quellen, aus denen Versionen verfügbar sind:

apt policy nano

Die Kandidatenversion ist die Version, die APT unter den aktuellen Paketquellen normalerweise installieren oder als Upgrade verwenden würde.

Ein Paket installieren

Aktualisiere zuerst die Paketlisten und installiere danach das gewünschte Paket:

sudo apt update
sudo apt install nano

APT berechnet automatisch die erforderlichen Abhängigkeiten. Eine Abhängigkeit ist ein zusätzlich benötigtes Paket oder eine erforderliche Version, damit die Software korrekt funktioniert. Vor der Ausführung zeigt APT normalerweise eine Zusammenfassung der geplanten Änderungen und fragt nach einer Bestätigung.

Installierte Pakete aktualisieren

Für reguläre Aktualisierungen ist der übliche Ablauf:

sudo apt update
sudo apt upgrade

upgrade aktualisiert installierte Pakete auf verfügbare neuere Versionen, sofern dafür keine problematischen Paketentfernungen oder komplexen Änderungen erforderlich sind. APT zeigt ausstehende Aktualisierungen und mögliche Änderungen vor der Bestätigung an.

Pakete entfernen und bereinigen

remove entfernt die Programmdateien eines Pakets. Systemweite Konfigurationsdateien bleiben dabei üblicherweise erhalten:

sudo apt remove nano

purge entfernt zusätzlich die systemweiten Konfigurationsdateien des Pakets:

sudo apt purge nano

Persönliche Konfigurationsdateien im Home-Verzeichnis werden dadurch nicht automatisch entfernt.

Nicht mehr benötigte Abhängigkeiten entfernen

Wird ein direkt installiertes Programm entfernt, können Pakete zurückbleiben, die ursprünglich nur als Abhängigkeiten installiert wurden. autoremove entfernt automatisch installierte Pakete, die nach der aktuellen Paketbelegung nicht mehr benötigt werden:

sudo apt autoremove
AktionBefehlWirkungHinweis
Paketlisten aktualisierensudo apt updateLokale Metadaten erneuernÄndert normalerweise keine installierten Pakete
Pakete suchenapt search <suchbegriff>Namen und Beschreibungen durchsuchenKann viele Treffer liefern
Paketdetails anzeigenapt show <paketname>Metadaten und Beschreibung anzeigenVor der Installation sinnvoll
Paket installierensudo apt install <paketname>Paket und benötigte Abhängigkeiten installierenÄnderungen vor der Bestätigung prüfen
Pakete aktualisierensudo apt upgradeRegulär aktualisierbare Pakete upgradenVorher meist apt update ausführen
Paket entfernensudo apt remove <paketname>Programmdateien entfernenKonfiguration bleibt üblicherweise erhalten
Paket bereinigensudo apt purge <paketname>Programm und systemweite Konfiguration entfernenBewusst verwenden, wenn Einstellungen nicht erhalten bleiben sollen
Nicht benötigte Abhängigkeiten entfernensudo apt autoremoveVerwaiste automatisch installierte Pakete entfernenVorschlag vor der Bestätigung prüfen

remove, purge und autoremove im Vergleich

BefehlstypEntfernt ProgrammdateienEntfernt KonfigurationEntfernt ungenutzte AbhängigkeitenGeeigneter Einsatz
removeJaÜblicherweise neinNein, nicht als HauptzweckProgramm entfernen, Einstellungen eventuell behalten
purgeJaJa, systemweite PaketkonfigurationNein, nicht als HauptzweckPaket vollständig aus dem System bereinigen
autoremoveJa, bei ausgewählten AbhängigkeitenJe nach Paketstatus und APT-VerhaltenJaNach Deinstallationen verwaiste Abhängigkeiten aufräumen

apt-cache als Informationswerkzeug

apt-cache liest Informationen aus der lokalen APT-Paketdatenbank. Es ist ein Informationswerkzeug und führt im Gegensatz zu apt-get keine Installation, Entfernung oder Aktualisierung installierter Pakete aus.

apt-cache search editor
apt-cache show nano
apt-cache policy nano
  • apt-cache search <suchbegriff> durchsucht Paketmetadaten.
  • apt-cache show <paketname> zeigt Paketbeschreibungen und weitere Metadaten.
  • apt-cache policy <paketname> zeigt installierte Version, Kandidatenversion und verfügbare Quellen.

Für interaktive Nutzung ist apt meist übersichtlicher. In Skripten werden häufig apt-get und apt-cache eingesetzt, weil diese Werkzeuge für stabile, nicht-interaktive Abläufe gedacht sind. Lies dennoch immer die Dokumentation der jeweiligen Distribution und die Rückgabecodes eines Skripts.

Abhängigkeiten und Paketstatus

Programme bestehen selten aus nur einer einzelnen Datei. Sie benötigen beispielsweise Bibliotheken, Laufzeitumgebungen oder Hilfsprogramme. APT löst diese Abhängigkeiten automatisch auf und installiert passende Pakete.

APT unterscheidet dabei zwischen Paketen, die du ausdrücklich installiert hast, und Paketen, die automatisch als Abhängigkeiten hinzukamen. Entfernst du das direkt installierte Programm, kann APT die abhängigen Pakete später als nicht mehr benötigt erkennen.

Ein Upgrade kann zusätzliche Abhängigkeiten installieren, Pakete ersetzen oder in bestimmten Fällen Pakete entfernen. Deshalb solltest du die Zusammenfassung vor der Bestätigung lesen. Besonders kritisch sind große Paketwechsel oder Änderungen an grundlegenden Systempaketen.

Gehaltene Pakete und ausstehende Aktualisierungen

Ein gehaltenes Paket wird von einer Aktualisierung zurückgehalten. Gründe können eine bewusste Sperre, ein inkompatibler Versionswechsel oder eine unvollständige Paketlage sein. Ausstehende Aktualisierungen werden häufig durch veraltete Paketlisten, gehaltene Pakete oder nicht zusammenpassende Quellen verursacht.

Mit apt policy kannst du für ein betroffenes Paket Versionen und Quellen vergleichen. Entferne eine Pakethaltung nicht blind, sondern kläre zunächst, warum sie eingerichtet wurde.

Grafische und alternative APT-Frontends

APT-Frontends sind Benutzeroberflächen, die APT-Funktionen zugänglich machen. Sie verwenden grundsätzlich dieselben Paketquellen und Paketdaten wie die Kommandozeilenwerkzeuge. Eine grafische Oberfläche ist daher keine unabhängige Paketwelt.

  • Synaptic Package Manager: Eine leistungsfähige grafische GTK-Oberfläche. Du kannst Pakete suchen, markieren, Änderungen vormerken und die gesamte Transaktion anschließend anwenden.
  • Ubuntu Software Center beziehungsweise moderne Software-Center: Eine stärker einsteigerorientierte grafische Installationsoberfläche mit Suche, Kategorien und Paketdetails.
  • aptitude: Ein textbasierter beziehungsweise konsolenorientierter Client mit interaktiver Oberfläche und erweiterten Möglichkeiten zur Untersuchung von Abhängigkeiten.
  • KPackage beziehungsweise KDE-nahe Paketverwaltungsoberflächen: Grafische Paketverwaltung im KDE-Umfeld, abhängig von Distribution und installierten Komponenten.

Grafische Oberflächen erleichtern die Suche und machen geplante Änderungen sichtbar. Die Kommandozeile ist dagegen gut dokumentierbar, per Fernzugriff nutzbar und für wiederholbare Abläufe geeignet. Bei Fehlermeldungen liefert das Terminal oft die präziseste Erklärung.

Sicheres Arbeiten mit APT

  • Verwende administrative Rechte nur für Befehle, die sie benötigen. Suche und Informationsabfragen brauchen meist kein sudo.
  • Führe vor Installationen und Upgrades regelmäßig sudo apt update aus.
  • Lies die geplanten Installationen, Entfernungen und Aktualisierungen sorgfältig. Brich ab, wenn unerwartet viele Pakete oder grundlegende Systemkomponenten betroffen sind.
  • Sei besonders vorsichtig bei Kernel-, Init-System-, Desktop- und Netzwerkpaketen.
  • Installiere Sicherheitsupdates zeitnah, aber prüfe bei produktiven Systemen vorher Wartungsfenster und Änderungsumfang.
  • Verwende nur Paketquellen, die zur Distribution und Release-Version passen. Fremdquellen sollten vertrauenswürdig, signiert und technisch kompatibel sein.
  • Lösche Sperrdateien nicht ohne Ursachenprüfung. Eine Sperre zeigt häufig, dass ein anderer Paketprozess aktiv ist oder ein Vorgang unterbrochen wurde.

Fehlerbehebung bei typischen Problemen

Ein Paket wird nicht gefunden

Mögliche Ursachen sind veraltete Paketlisten, ein falsch geschriebener Paketname, eine nicht aktivierte Paketquelle oder ein Paket, das für deine Distribution beziehungsweise Release-Version nicht existiert.

  1. Aktualisiere die Paketlisten: sudo apt update.
  2. Suche nach ähnlichen Namen: apt search <suchbegriff>.
  3. Prüfe die Paketquellen in /etc/apt/sources.list und /etc/apt/sources.list.d/.
  4. Kontrolliere verfügbare Versionen und Quellen mit apt policy <paketname>.

APT meldet gesperrte Pakete oder beendet eine Transaktion nicht

Oft läuft bereits eine andere Paketverwaltung. Möglich ist auch, dass ein vorheriger Vorgang unterbrochen wurde oder sich die Paketdatenbank in einem unvollständigen Zustand befindet. Warte zunächst, wenn ein anderer Paketprozess aktiv ist. Lies danach die konkrete APT-Meldung und verwende nur die dort oder in der Systemdokumentation vorgeschlagene Reparatur.

Abhängigkeiten können nicht aufgelöst werden

Häufige Ursachen sind gemischte Distribution-Releases, nicht zusammenpassende Paketquellen, gehaltene Pakete oder ein teilweise aktualisiertes System. Prüfe die Quellen auf Konsistenz und untersuche betroffene Pakete mit apt policy. Kontrolliere außerdem, welche Pakete gehalten oder zurückgehalten werden. Bestätige keine Transaktion, die unerwartet zentrale Pakete entfernen möchte.

Zu wenig Speicherplatz

Ein volles Root-Dateisystem, zwischengespeicherte Paketdateien oder große Aktualisierungen können die Ursache sein. Prüfe zunächst den freien Speicherplatz. Entferne nicht mehr benötigte Pakete mit sudo apt autoremove und verwende geeignete APT-Bereinigungsfunktionen für den Paketcache nur nach Prüfung der Konsequenzen.

Ein sicherer Standardablauf

# Paketlisten aktualisieren
sudo apt update

# Paket suchen
apt search <suchbegriff>

# Details und Versionen prüfen
apt show <paketname>
apt policy <paketname>

# Paket installieren
sudo apt install <paketname>

# Später aktualisieren
sudo apt update
sudo apt upgrade

# Bei Bedarf entfernen oder bereinigen
sudo apt remove <paketname>
sudo apt purge <paketname>
sudo apt autoremove

Zusammenfassung

APT ist die benutzerfreundliche Paketverwaltungsumgebung für Debian-basierte Systeme. Es nutzt Repositorys und lokale Paketlisten, löst Abhängigkeiten auf und arbeitet für die eigentliche Paketinstallation mit dpkg zusammen.

  • apt update erneuert Paketlisten.
  • apt search, apt show und apt policy liefern Informationen.
  • apt install installiert Pakete samt Abhängigkeiten.
  • apt upgrade aktualisiert regulär installierte Pakete.
  • remove, purge und autoremove haben unterschiedliche Bereinigungswirkungen.
  • apt-cache ist ein separates Informationswerkzeug; apt-get führt Systemänderungen aus und eignet sich besonders für Skripte.

Eine weiterführende Übersicht findest du unter Das APT-Paketverwaltungssystem.