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.
| Werkzeug | Typische Aufgabe | Verändert das System | Beispiel |
|---|---|---|---|
apt | Interaktive Paketverwaltung | Bei Installations- und Änderungsbefehlen ja | sudo apt install curl |
apt-get | Installation, Aktualisierung und Entfernung; gut für Skripte | Bei Änderungsbefehlen ja | sudo apt-get upgrade |
apt-cache | Paketdatenbank durchsuchen und Informationen anzeigen | Nein | apt-cache policy curl |
dpkg | Lokale .deb-Pakete und Paketstatus verwalten | Je nach Befehl ja | dpkg -l |
| Synaptic | Grafische GTK-Oberfläche für APT | Bei angewendeten Änderungen ja | Paket vormerken und anwenden |
aptitude | Textbasierter beziehungsweise konsolenorientierter APT-Client | Bei Änderungsbefehlen ja | sudo 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
| Aktion | Befehl | Wirkung | Hinweis |
|---|---|---|---|
| Paketlisten aktualisieren | sudo apt update | Lokale Metadaten erneuern | Ändert normalerweise keine installierten Pakete |
| Pakete suchen | apt search <suchbegriff> | Namen und Beschreibungen durchsuchen | Kann viele Treffer liefern |
| Paketdetails anzeigen | apt show <paketname> | Metadaten und Beschreibung anzeigen | Vor der Installation sinnvoll |
| Paket installieren | sudo apt install <paketname> | Paket und benötigte Abhängigkeiten installieren | Änderungen vor der Bestätigung prüfen |
| Pakete aktualisieren | sudo apt upgrade | Regulär aktualisierbare Pakete upgraden | Vorher meist apt update ausführen |
| Paket entfernen | sudo apt remove <paketname> | Programmdateien entfernen | Konfiguration bleibt üblicherweise erhalten |
| Paket bereinigen | sudo apt purge <paketname> | Programm und systemweite Konfiguration entfernen | Bewusst verwenden, wenn Einstellungen nicht erhalten bleiben sollen |
| Nicht benötigte Abhängigkeiten entfernen | sudo apt autoremove | Verwaiste automatisch installierte Pakete entfernen | Vorschlag vor der Bestätigung prüfen |
remove, purge und autoremove im Vergleich
| Befehlstyp | Entfernt Programmdateien | Entfernt Konfiguration | Entfernt ungenutzte Abhängigkeiten | Geeigneter Einsatz |
|---|---|---|---|---|
remove | Ja | Üblicherweise nein | Nein, nicht als Hauptzweck | Programm entfernen, Einstellungen eventuell behalten |
purge | Ja | Ja, systemweite Paketkonfiguration | Nein, nicht als Hauptzweck | Paket vollständig aus dem System bereinigen |
autoremove | Ja, bei ausgewählten Abhängigkeiten | Je nach Paketstatus und APT-Verhalten | Ja | Nach 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 updateaus. - 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.
- Aktualisiere die Paketlisten:
sudo apt update. - Suche nach ähnlichen Namen:
apt search <suchbegriff>. - Prüfe die Paketquellen in
/etc/apt/sources.listund/etc/apt/sources.list.d/. - 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 updateerneuert Paketlisten.apt search,apt showundapt policyliefern Informationen.apt installinstalliert Pakete samt Abhängigkeiten.apt upgradeaktualisiert regulär installierte Pakete.remove,purgeundautoremovehaben unterschiedliche Bereinigungswirkungen.apt-cacheist ein separates Informationswerkzeug;apt-getführt Systemänderungen aus und eignet sich besonders für Skripte.
Eine weiterführende Übersicht findest du unter Das APT-Paketverwaltungssystem.