apt-get — Das klassische Paket-Werkzeug für Debian und Ubuntu

Praxis-Guide zu apt-get — das stabile Low-Level-APT-Werkzeug für Debian und Ubuntu: ideal für Skripte, CI und Docker dank vorhersagbarer Ausgabe.

apt-get ist das klassische, skript-stabile Low-Level-Werkzeug der APT-Paketverwaltung unter Debian und Ubuntu. Während das neuere apt auf eine hübsche, interaktive Bedienung am Terminal optimiert ist, behält apt-get über Versionen hinweg eine stabile Ausgabe und ein festes Set an Optionen bei – genau deshalb solltest du es in Skripten, CI-Pipelines und Dockerfiles dem interaktiven apt vorziehen. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag: vom Aktualisieren des Paketindex über das Installieren und Entfernen von Paketen bis zu den Optionen für vollautomatische, nicht-interaktive Läufe.

Aktualisieren & Upgrade

apt-get update — Aktualisiert den Paketindex.

sudo apt-get update

apt-get upgrade — Aktualisiert alle Pakete (entfernt nie Pakete).

sudo apt-get upgrade -y

apt-get dist-upgrade — Intelligentes Upgrade: kann Pakete hinzufügen oder entfernen, um Abhängigkeiten aufzulösen.

sudo apt-get dist-upgrade

Installieren & Entfernen

apt-get install <package> — Installiert ein Paket.

sudo apt-get install -y nginx

apt-get install --no-install-recommends <package> — Installiert ohne empfohlene Pakete (kleinerer Fußabdruck).

sudo apt-get install --no-install-recommends php8.3

apt-get install -f — Repariert kaputte Abhängigkeiten.

sudo apt-get install -f

apt-get remove <package> — Entfernt ein Paket (Konfiguration bleibt erhalten).

sudo apt-get remove nginx

apt-get purge <package> — Entfernt ein Paket samt seiner Konfigurationsdateien.

sudo apt-get purge nginx

apt-get autoremove — Entfernt nicht mehr benötigte Abhängigkeiten.

sudo apt-get autoremove -y

Herunterladen & Quellpakete

apt-get download <package> — Lädt ein .deb-Paket herunter, ohne es zu installieren.

apt-get download nginx

apt-get source <package> — Lädt das Quellpaket herunter.

apt-get source nginx

apt-get build-dep <package> — Installiert die Build-Abhängigkeiten für ein Quellpaket.

sudo apt-get build-dep nginx

apt-get install --reinstall <package> — Installiert ein Paket neu.

sudo apt-get install --reinstall openssh-server

Cache & Aufräumen

apt-get clean — Löscht alle zwischengespeicherten .deb-Pakete aus /var/cache/apt/archives.

sudo apt-get clean

apt-get autoclean — Löscht veraltete zwischengespeicherte Pakete.

sudo apt-get autoclean

apt-get check — Prüft, ob es keine kaputten Abhängigkeiten gibt.

apt-get check

Optionen für Skripte

apt-get install -y <package> — Bestätigt automatisch (beantwortet alle Rückfragen mit Ja).

sudo apt-get install -y curl wget

apt-get install -q <package> — Stiller Modus (weniger Ausgabe, gut für Skripte).

sudo apt-get install -qq -y nginx

apt-get install --dry-run <package> — Simuliert die Installation, ohne Änderungen vorzunehmen.

apt-get install --dry-run docker-ce

DEBIAN_FRONTEND=noninteractive apt-get install -y <package> — Vollständig nicht-interaktive Installation (für Docker/CI).

DEBIAN_FRONTEND=noninteractive sudo apt-get install -y tzdata

Fazit

apt-get ist die verlässliche Wahl überall dort, wo Maschinen statt Menschen die Pakete verwalten: In Skripten, Dockerfiles und CI-Pipelines bekommst du eine stabile, vorhersagbare Ausgabe und ein über Jahre konstantes Optionen-Set. Am Terminal von Hand ist das modernere apt oft komfortabler – für Automatisierung bleibt apt-get aber erste Wahl. Sei vorsichtig mit remove, purge und autoremove: Sie löschen Pakete, und purge entfernt zusätzlich die Konfigurationsdateien. Auch dist-upgrade kann Pakete entfernen, um Abhängigkeiten aufzulösen – prüfe vorher mit --dry-run, was tatsächlich passieren würde. Schreibende Befehle brauchen Root-Rechte (sudo); lesende Befehle wie check oder download kommen ohne aus.

Verwandte Kommandos

  • apk – Paketmanager von Alpine Linux, schlank für Container
  • apt – das moderne, interaktive APT-Frontend fürs Terminal
  • brew – Homebrew, der Paketmanager für macOS und Linux