Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 02.06.2026 · 10 min Lesezeit

Pakete verwalten mit apt und dpkg unter Debian/Ubuntu

Pakete unter Debian und Ubuntu sicher verwalten: apt update, apt upgrade, installieren, entfernen, lokale .deb-Dateien nutzen und Paketquellen modern einrichten.

Geprüft am 29.09.2026

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Gestapelte neutrale Pakete aus Karton auf einem Holztisch neben Laptop und kleinem Server als Sinnbild für Softwarepakete

Pakete verwalten mit apt und dpkg unter Debian und Ubuntu gehört zu den wichtigsten Linux-Grundlagen überhaupt. Fast alles, was Sie später auf einem Debian- oder Ubuntu-System tust, baut darauf auf: Dienste installieren, Sicherheitsupdates einspielen, Zusatzsoftware nachladen, Pakete sauber entfernen oder neue Quellen einbinden.

Einsteiger stolpern dabei oft über zwei Dinge gleichzeitig: erstens über die Frage, wann sie apt und wann sie dpkg verwenden sollen, und zweitens über die Unsicherheit, was ein Befehl wie upgrade, full-upgrade, remove oder purge im Ergebnis wirklich verändert. Genau deshalb gehen wir hier bewusst Schritt für Schritt vor und prüfen nach jeder wichtigen Aktion, was sich auf dem System geändert hat.

Voraussetzungen

  • Ein Debian- oder Ubuntu-System mit Internetzugang (x86 oder ARM, ein aktuelles Release wie Debian 12/13 oder Ubuntu 24.04 LTS); für die Übungen reichen 1 CPU-Kern, 1 GB RAM und einige GB freier Speicher, als Server mit mehreren Diensten sind 2 Kerne und 4 GB RAM sinnvoll
  • Sudo-Rechte oder Root-Zugang
  • Grundlegender Terminal-Zugriff
  • Etwas freie Aufmerksamkeit: Paketverwaltung ist kein Hexenwerk, aber ein falscher Befehl wie purge oder eine schlechte Fremdquelle kann unnötig Ärger verursachen

Wichtig vorab: Diese Anleitung ist bewusst auf Debian und Ubuntu ausgerichtet. Auf RHEL, Rocky, AlmaLinux oder Fedora gelten andere Werkzeuge wie dnf oder yum.

Schritt 1: Verstehen, was apt und dpkg jeweils tun

Bevor Sie Befehle ausführen, brauchen Sie ein sauberes Bild von den beiden Werkzeugen:

  • apt ist das Werkzeug für den normalen Alltag. Es kann Paketlisten aktualisieren, Abhängigkeiten auflösen, Pakete installieren, aktualisieren und entfernen.
  • dpkg arbeitet eine Ebene tiefer. Es kennt einzelne Debian-Pakete und deren installierte Dateien, löst aber Abhängigkeiten nicht so komfortabel wie apt.

Eine gute Faustregel lautet deshalb: Wenn Sie nicht bewusst mit einer lokalen .deb-Datei oder einer Detailprüfung arbeiten, nehmen Sie zuerst apt.

Verifizieren: apt --version und dpkg --version geben jeweils eine Versionsnummer aus. Beide Werkzeuge sind also vorhanden, und Sie können die Rollen trennen: apt für den Paket-Alltag, dpkg für lokale Pakete und Detailfragen.

Schritt 2: Paketlisten aktualisieren und Updates einspielen

Bevor Sie installieren oder aktualisieren, müssen Sie dem System zuerst sagen, welche Pakete und Versionen aus den konfigurierten Quellen überhaupt verfügbar sind. Genau das macht apt update.

sudo apt update

apt list --upgradable

sudo apt upgrade

Die Reihenfolge dahinter ist wichtig:

  • apt update lädt aktuelle Paketinformationen
  • apt list --upgradable zeigt Ihnen, welche Pakete aktualisiert werden könnten
  • apt upgrade installiert normale Updates, ohne Pakete zu entfernen

Daneben gibt es noch:

sudo apt full-upgrade

full-upgrade geht weiter als upgrade. Dabei dürfen auch Abhängigkeiten neu sortiert oder in manchen Fällen Pakete entfernt werden. Genau deshalb sollten Sie diesen Befehl bewusster einsetzen und die geplanten Änderungen vorher genau lesen.

Verifizieren: Der Schritt ist erfolgreich, wenn apt update ohne Fehler durchläuft, apt list --upgradable Ihnen eine nachvollziehbare Liste zeigt und nach apt upgrade keine halb fertige Paketaktion zurückbleibt. Wenn Fehler wie NO_PUBKEY oder nicht erreichbare Quellen auftauchen, gehen Sie nicht einfach weiter, sondern beheben zuerst die Ursache.

Schritt 3: Pakete suchen und Informationen prüfen

Bevor Sie etwas installieren, ist es oft sinnvoll, den exakten Paketnamen, die Beschreibung oder den Status zu prüfen. So vermeiden Sie Tippfehler und installieren eher das richtige Paket.

apt search nginx

apt show nginx

apt list --installed | grep nginx

dpkg -l | grep nginx

Typische Nutzung:

  • apt search sucht nach Paketen
  • apt show zeigt Details wie Version, Maintainer und Beschreibung
  • apt list --installed oder dpkg -l helfen Ihnen zu prüfen, ob ein Paket schon installiert ist

Wenn Sie später zum Beispiel Dienste mit systemd verwalten, ist dieser Schritt oft der Einstieg: erst prüfen, wie ein Paket genau heißt und ob es schon vorhanden ist, dann installieren, dann den Dienststatus anschauen. Dazu passt unsere Anleitung systemd-Service erstellen und verwalten.

Verifizieren: Der Schritt ist erfolgreich, wenn Sie für ein Beispielpaket den Namen suchen, die Paketbeschreibung lesen und anschließend erkennen können, ob es auf Ihrem System schon installiert ist oder nicht.

Schritt 4: Pakete installieren, entfernen und bereinigen

Jetzt kommt der eigentliche Alltag: Software installieren, bei Bedarf wieder entfernen und aufräumen.

sudo apt install nginx

sudo apt remove nginx

sudo apt purge nginx

sudo apt autoremove

Der Unterschied zwischen den Befehlen ist wichtig:

  • install installiert das Paket samt nötiger Abhängigkeiten
  • remove entfernt das Paket, lässt aber meist Konfigurationsreste zurück
  • purge entfernt zusätzlich Konfigurationsdateien des Pakets
  • autoremove räumt nicht mehr benötigte Abhängigkeiten auf

Wichtig: purge ist kein besseres remove, sondern ein bewussterer, gründlicherer Schritt. Gerade auf Servern wollen Sie Konfigurationen manchmal absichtlich behalten, wenn Sie ein Paket später wieder aktivieren möchten.

Verifizieren: Nach einer Installation zeigt dpkg -l | grep PAKETNAME eine Zeile mit dem Status ii (installiert). Nach remove steht dort rc (entfernt, Konfiguration noch vorhanden), nach purge erscheint das Paket gar nicht mehr. Wenn ein Paket zu einem Dienst gehört, ist oft auch ein Blick in systemctl status oder in die Logs sinnvoll. Dazu passt unser Grundlagenartikel Logs lesen mit journalctl und /var/log.

Schritt 5: Lokale .deb-Dateien mit dpkg installieren

Nicht jede Software kommt direkt aus den Standardquellen. Manche Hersteller liefern einzelne .deb-Dateien. Dafür brauchen Sie meist dpkg.

sudo dpkg -i paketdatei.deb

sudo apt --fix-broken install

Warum zwei Schritte? dpkg -i installiert die Datei selbst, löst aber fehlende Abhängigkeiten nicht so bequem wie apt. Genau deshalb folgt oft direkt apt --fix-broken install, damit alle nötigen Pakete sauber nachgezogen werden.

Nützliche Zusatzbefehle:

dpkg -l | grep paketname

dpkg -L paketname

dpkg -r paketname

dpkg --configure -a
  • dpkg -L zeigt Ihnen, welche Dateien ein installiertes Paket abgelegt hat
  • dpkg -r entfernt ein Paket auf dpkg-Ebene
  • dpkg --configure -a hilft, wenn eine Paketkonfiguration unterbrochen wurde

Verifizieren: Der Schritt ist erfolgreich, wenn nach einer lokalen Installation keine offenen Abhängigkeitsfehler zurückbleiben und Sie das Paket anschließend über dpkg -l oder apt list --installed wiederfindest.

Schritt 6: Paketquellen modern mit signed-by und Keyrings einrichten

Fremde Paketquellen sind praktisch, aber auch ein echter Vertrauenspunkt. Genau deshalb sollten Sie sie sauber und modern einrichten. Das alte apt-key gilt heute als veraltet und sollte nicht mehr Ihr Standardweg sein.

Der moderne Ansatz sieht so aus:

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://example.org/repo.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/beispiel.gpg

echo 'deb [signed-by=/etc/apt/keyrings/beispiel.gpg] https://example.org/debian stable main' | sudo tee /etc/apt/sources.list.d/beispiel.list > /dev/null

sudo apt update

Das Grundprinzip dahinter:

  • Der Schlüssel liegt als eigene Datei im Keyring-Verzeichnis
  • Die Quelle verweist mit signed-by= gezielt auf genau diesen Schlüssel
  • Andere Quellen bekommen dadurch nicht automatisch dasselbe Vertrauen

Wichtig: Den genauen URL-Pfad, den richtigen Distributionsnamen und die echte Quellenzeile übernehmen Sie immer aus der offiziellen Herstellerdokumentation. Hier im Artikel geht es um das saubere Muster, nicht um das Erfinden einer beliebigen Fremdquelle.

Verifizieren: Der Schritt ist erfolgreich, wenn nach dem Einbinden einer Quelle sudo apt update ohne Schlüssel- oder Signaturfehler durchläuft. Tauchen Fehler wie NO_PUBKEY oder eine falsch benannte Distribution auf, stimmt die Quelle oder der Keyring-Eintrag noch nicht.

Schritt 7: Pakete gezielt festhalten und den Cache bereinigen

Manche Pakete wollen Sie nicht sofort aktualisieren, zum Beispiel weil eine bestimmte Version stabil laufen muss. Dafür gibt es apt-mark hold. Gleichzeitig sammelt APT im Laufe der Zeit Cache-Dateien an, die Sie bei Bedarf aufräumen können.

sudo apt-mark hold nginx

apt-mark showhold

sudo apt-mark unhold nginx

sudo apt clean

sudo apt autoclean

Die wichtigsten Unterschiede:

  • hold verhindert automatische Aktualisierungen eines Pakets
  • showhold zeigt Ihnen alle festgehaltenen Pakete
  • unhold gibt das Paket wieder frei
  • clean leert den Paketcache gründlich
  • autoclean entfernt vor allem nicht mehr brauchbare ältere Paketdateien

Mit solchen Schritten sollten Sie bewusst umgehen. Ein vergessenes Hold kann später dazu führen, dass Sie veraltete Pakete übersehen.

Verifizieren: Der Schritt ist erfolgreich, wenn ein per hold markiertes Paket in apt-mark showhold auftaucht und nach unhold wieder verschwindet. Beim Cache-Aufräumen gilt: Damit wird nicht das installierte Paket selbst entfernt wird, sondern nur heruntergeladene Paketdateien.

Schritt 8: Automatische Sicherheits-Updates mit unattended-upgrades

Gerade auf Servern wollen Sie nicht darauf vertrauen, dass kritische Sicherheitsupdates immer sofort manuell eingespielt werden. Dafür gibt es unter Debian und Ubuntu häufig das Paket unattended-upgrades.

sudo apt install unattended-upgrades

sudo dpkg-reconfigure unattended-upgrades

Damit aktivieren Sie automatische Sicherheitsupdates in einem unterstützten Standardweg. Je nach Distribution und Ausgangslage kann das Paket schon vorhanden oder schon aktiv sein.

Wenn Sie prüfen wollen, ob es installiert ist:

dpkg -l | grep unattended-upgrades

Und wenn Sie die Konfiguration später genauer lesen wollen, schauen Sie typischerweise in:

/etc/apt/apt.conf.d/20auto-upgrades
/etc/apt/apt.conf.d/50unattended-upgrades

Verifizieren: Der Schritt ist erfolgreich, wenn das Paket installiert ist, /etc/apt/apt.conf.d/20auto-upgrades die Zeile APT::Periodic::Unattended-Upgrade "1"; enthält und sudo unattended-upgrade --dry-run --debug ohne Fehler durchläuft. Automatische Sicherheitsupdates sind dabei etwas anderes als ein komplettes unbeaufsichtigtes Versions-Upgrade aller Pakete.

Troubleshooting

  • apt update meldet NO_PUBKEY: Dann fehlt der passende Schlüssel oder die Quelle verweist nicht sauber per signed-by= auf den richtigen Keyring.
  • dpkg -i endet mit Abhängigkeitsfehlern: Genau dafür ist danach sudo apt --fix-broken install gedacht.
  • Eine Paketaktion wurde unterbrochen: Dann helfen oft sudo dpkg --configure -a und anschließend sudo apt --fix-broken install.
  • Nach full-upgrade sollen Pakete entfernt werden: Dann brechen Sie ab, lesen die Liste genau und entscheiden bewusst, ob diese Änderungen zu Ihrem System passen.
  • Sie können Paketdateien oder Konfigurationsreste nicht einordnen: Dann lohnt sich ein Blick auf Rechte und Besitzverhältnisse. Dafür passt unsere Anleitung Linux-Benutzer, Gruppen und Rechte verstehen.

Häufige Fragen

Was ist der Unterschied zwischen apt und apt-get?

apt ist die modernere, benutzerfreundlichere Oberfläche für die interaktive Arbeit im Terminal. apt-get wird weiterhin oft in Skripten oder älteren Dokumentationen verwendet.

Wann nehme ich remove und wann purge?

remove ist sinnvoll, wenn Sie das Paket loswerden, die Konfiguration aber vielleicht behalten möchten. purge nutzen Sie, wenn auch die Konfigurationsreste bewusst entfernt werden sollen.

Muss ich immer zuerst apt update ausführen?

Immer dann, wenn Sie mit aktuellen Paketinformationen arbeiten wollen, also vor Installationen oder Upgrades. Ohne apt update arbeitet das System eventuell mit veralteten Paketlisten.

Warum sollte ich apt-key nicht mehr verwenden?

Weil der alte Mechanismus Vertrauensgrenzen unsauber macht. Die moderne Kombination aus Keyring-Datei und signed-by= ist klarer und sicherer.

Wofür ist dpkg -L nützlich?

Damit sehen Sie, welche Dateien ein installiertes Paket auf dem System abgelegt hat. Das ist praktisch bei Fehlersuche, Konfigurationssuche oder Aufräumarbeiten.

Was ist der Unterschied zwischen clean und autoclean?

clean leert den Paketcache grundsätzlich. autoclean entfernt vor allem alte Paketdateien, die nicht mehr sinnvoll verwendet werden können.

Fazit

Wenn Sie Debian- oder Ubuntu-Systeme sicher betreiben wollen, ist eine ruhige und saubere Paketverwaltung Pflicht. Die wichtigste Grundlage ist dabei nicht nur das Wissen über einzelne Befehle, sondern die Reihenfolge: erst verstehen, dann prüfen, dann aktualisieren oder installieren, und nach jeder Änderung kontrollieren, was wirklich passiert ist. Genau so vermeiden Sie blinde Paketaktionen.

Als nächste passende Bausteine ergänzen dazu besonders Logs lesen mit journalctl und /var/log, systemd-Service erstellen und verwalten und Cron und crontab richtig nutzen – die Grundlagen das Fundament sinnvoll.

Weiterführende Anleitungen und Quellen

Quellen: apt(8) Debian Manpage, dpkg(1) Debian Manpage, Debian Wiki: UseThirdParty, unattended-upgrades(8) Debian Manpage.