Ubuntu-Paketverwaltung: APT- und dpkg-Cheatsheet
Wichtige APT- & dpkg-Befehle für Ubuntu-Pakete
Das Paketverwaltungssystem von Ubuntu ist das Rückgrat der Softwareinstallation und -wartung und damit essenzielles Wissen für jeden Linux-Nutzer oder Systemadministrator.
Dieses Bild wurde von AI-Modell Flux 1 dev generiert.
Was ist APT-Paketverwaltung?
APT (Advanced Package Tool) ist das primäre Paketverwaltungssystem von Ubuntu, geerbt von Debian. Es ist ein leistungsfähiges Command-Line-Tool zum Installieren, Aktualisieren und Entfernen von Softwarepaketen. APT übernimmt die automatische Abhängigkeitsauflösung, verbindet sich mit den offiziellen Ubuntu-Repositories und ist die traditionelle Methode zur Verwaltung von Systempaketen auf Ubuntu und Debian-basierten Distributionen. Wenn Sie neu bei Ubuntu sind, werfen Sie einen Blick auf unsere Anleitung zum Installieren von Ubuntu 24.04 und nützliche Tools, um mit einem richtig konfigurierten System zu beginnen.
Wichtige Merkmale:
- Nativer Bestandteil von Ubuntu/Debian: Integriert, keine zusätzliche Installation erforderlich
- Geteilte Bibliotheken: Effiziente Festplattennutzung durch geteilte Systemabhängigkeiten
- Manuelle Updates: Sie kontrollieren, wann Pakete aktualisiert werden
- Keine Sandboxing: Pakete haben vollen Systemzugriff (geeignet für Systemtools)
- Leichtgewichtig: Kein Hintergrund-Daemon, läuft nur bei Aufruf
- Ausgereiftes Ökosystem: Jahrzehnte der Entwicklung, extrem stabil
Vergleich der Paketmanager
Ubuntu unterstützt mehrere Paketverwaltungssysteme. Hier ein Vergleich der Hauptoperationen:
| Operation | APT | Snap | Flatpak |
|---|---|---|---|
| Suche | apt search keyword |
snap find keyword |
flatpak search keyword |
| Installation | sudo apt install package |
sudo snap install package |
flatpak install flathub app.id |
| Installierte Liste | apt list --installed |
snap list |
flatpak list --app |
| Info anzeigen | apt show package |
snap info package |
flatpak info app.id |
| Alles aktualisieren | sudo apt update && sudo apt upgrade |
sudo snap refresh |
flatpak update |
| Einzelnes Paket aktualisieren | sudo apt install --only-upgrade pkg |
sudo snap refresh package |
flatpak update app.id |
| Entfernen | sudo apt remove package |
sudo snap remove package |
flatpak uninstall app.id |
| Aufräumen | sudo apt autoremove |
snap remove --revision=N |
flatpak uninstall --unused |
| Repository | /etc/apt/sources.list |
Snap Store (integriert) | Hinzufügen mit flatpak remote-add |
Schnellvergleich der Funktionen
| Funktion | APT | Snap | Flatpak |
|---|---|---|---|
| Automatische Updates | Nein | Ja | Nein |
| Sandboxing | Nein | Ja | Ja |
| Abhängigkeiten | Systembibliotheken | Mitgeliefert | Geteilte Laufzeitumgebungen |
| Paketgröße | Klein (5-50MB) | Groß (50-500MB) | Mittel (20-200MB) |
| Root-Berechtigung erforderlich | Ja | Ja | Nein (Benutzerinstallation) |
| Startgeschwindigkeit | Schnell | Langsamer | Schnell |
| Beste Verwendung | Systempakete | Universelle Anwendungen | Desktop-Anwendungen |
Über diese Anleitung
Diese Anleitung konzentriert sich auf APT (apt/apt-get/dpkg) - das traditionelle Paketverwaltungssystem von Ubuntu. APT ist essenziell für die Verwaltung von Systempaketen, Bibliotheken und Diensten auf Ubuntu und Debian-basierten Systemen.
Für andere Paketmanager:
- 📦 Snap-Paketmanager-Anleitung - Universelle Pakete mit automatischen Updates und Sandboxing
- 📦 Flatpak-Paketmanager-Anleitung - Plattformübergreifende Desktop-Anwendungen mit granularen Berechtigungen
Jeder Paketmanager hat seine Stärken. Verwenden Sie APT für Systempakete und Abhängigkeiten, Snap für plattformübergreifende Kompatibilität und automatische Updates sowie Flatpak für Desktop-Anwendungen mit fein abgestuften Berechtigungen.
APT-Paketverwaltung - Detaillierte Anleitung
APT vs apt-get verstehen
APT (apt) - Moderne Wahl
Eingeführt in Ubuntu 14.04, kombiniert apt Funktionen von apt-get und apt-cache mit einer verbesserten Benutzererfahrung:
Vorteile:
- Fortschrittsbalken und farbige Ausgabe
- Intuitivere Befehle
- Übersichtlichere Ausgabe für menschliche Lesbarkeit
- Kombination mehrerer Tool-Funktionen
Wann verwenden: Tägliche interaktive Command-Line-Operationen
apt-get - Traditionelle Wahl
Das ursprüngliche Paketverwaltungstool, das weiterhin weit verbreitet ist:
Vorteile:
- Stabilere API (besser für Skripte)
- Abwärtskompatibilität
- Vorhersehbares Ausgabeformat
- Feinere Kontrolle
Wann verwenden: Shell-Skripte, Automatisierung, Legacy-Systeme
Tipp: Für schnellere Terminal-Navigation und effizientere Arbeitsabläufe werfen Sie einen Blick auf unseren Ubuntu-Tastaturkürzel-Cheatsheet, um Ihre Produktivität bei der Paketverwaltung zu steigern.
Wesentliche Paketverwaltungsbefehle
Aktualisierung der Paketlisten
Aktualisieren Sie immer die Paketlisten vor der Installation oder dem Upgrade:
# Paketindex aktualisieren
sudo apt update
# Oder mit apt-get
sudo apt-get update
Dieser Befehl aktualisiert die lokale Datenbank mit Informationen über verfügbare Pakete und deren Versionen aus den konfigurierten Repositorys.
Installation von Paketen
Grundlegende Installation:
# Einzelnes Paket installieren
sudo apt install paketname
# Mehrere Pakete installieren
sudo apt install paket1 paket2 paket3
# Spezifische Version installieren
sudo apt install paketname=versionsnummer
Beispiele:
# Nginx-Webserver installieren
sudo apt install nginx
# Python und pip installieren
sudo apt install python3 python3-pip
# Build-Essentials installieren
sudo apt install build-essential
# Systemüberwachungstools installieren
sudo apt install htop
Für spezielle Überwachungsanforderungen, wie die Verfolgung der GPU-Leistung auf Systemen mit NVIDIA-Karten, sehen Sie sich unsere Anleitung zu GPU-Überwachungsanwendungen in Linux/Ubuntu an.
Installation ohne Abfragen (nützlich für Skripte):
sudo apt install -y paketname
# Oder
sudo DEBIAN_FRONTEND=noninteractive apt install -y paketname
Installation aus einer .deb-Datei:
# Methode 1: Mit apt (empfohlen, verwaltet Abhängigkeiten)
sudo apt install ./paket.deb
# Methode 2: Mit dpkg
sudo dpkg -i paket.deb
sudo apt install -f # Fehlende Abhängigkeiten beheben
Hinweis: Wenn Sie mit heruntergeladenen .deb-Dateien arbeiten, möchten Sie möglicherweise einen Dateimanager mit einem guten Kontextmenü verwenden. Sehen Sie sich unseren Vergleich der Dateimanager für Ubuntu 24.04 (Nautilus vs Nemo vs Dolphin vs Caja) an, um einen zu finden, der zu Ihrem Workflow passt.
Upgrade von Paketen
Upgrade installierter Pakete:
# Alle Pakete aktualisieren (sicher, entfernt keine Pakete)
sudo apt upgrade
# Spezifisches Paket aktualisieren
sudo apt install --only-upgrade paketname
# Vollständiges Upgrade (kann Pakete entfernen, um Abhängigkeiten zu lösen)
sudo apt full-upgrade
# Distributions-Upgrade (für Major-Version-Updates)
sudo apt dist-upgrade
Vollständige Update-Sequenz:
# Empfohlenes Update-Verfahren
sudo apt update
sudo apt upgrade -y
sudo apt autoremove
sudo apt autoclean
Upgrade der Ubuntu-Version:
# Für LTS zu nächster LTS
sudo do-release-upgrade
# Für jedes Release-Upgrade
sudo do-release-upgrade -d
Auflistung von Paketen
Liste installierter Pakete:
# Alle installierten Pakete
apt list --installed
# Mit grep-Filter
apt list --installed | grep paketname
# Anzahl installierter Pakete
apt list --installed | wc -l
# Mit dpkg
dpkg -l
dpkg --list
dpkg -l | grep paketname
Liste aktualisierbarer Pakete:
# Pakete mit verfügbaren Updates anzeigen
apt list --upgradable
# Detaillierte Upgrade-Simulation
apt list --upgradable -a
Liste aller verfügbaren Pakete:
# Alle Pakete in Repositorys
apt list
# Liste aus einem bestimmten Repository
apt list | grep "quellenname"
Suche nach Paketen
Suche nach Paketnamen und Beschreibungen:
# Suche mit apt
apt search keyword
# Groß-/Kleinschreibung ignorierende Suche
apt search -i keyword
# Nur Paketnamen anzeigen
apt-cache search keyword
# Nur Paketnamen suchen (schneller)
apt-cache search --names-only keyword
Beispiele:
# Suche nach Editor
apt search text editor
# Suche nach Datenbank
apt search database
# Suche nach Python-Paketen
apt search python | grep python3
Anzeige von Paketinformationen
Detaillierte Paketinformationen:
# Paketdetails anzeigen
apt show paketname
# Mit apt-cache
apt-cache show paketname
# Paketabhängigkeiten anzeigen
apt-cache depends paketname
# Umgekehrte Abhängigkeiten anzeigen
apt-cache rdepends paketname
# Paketrichtlinie und Versionen prüfen
apt-cache policy paketname
# Paketstatistiken anzeigen
apt-cache stats
Prüfen, ob ein Paket installiert ist:
# Methode 1
dpkg -s paketname
# Methode 2
dpkg -l paketname
# Methode 3
apt list --installed paketname
# Methode 4 (Exit-Code 0, wenn installiert)
dpkg-query -W paketname
Entfernen von Paketen
Pakete entfernen:
# Paket entfernen (Konfigurationsdateien behalten)
sudo apt remove paketname
# Paket und Konfigurationsdateien entfernen (löschen)
sudo apt purge paketname
# Mit Abhängigkeiten entfernen
sudo apt autoremove paketname
# Paket und Konfigurationen vollständig entfernen
sudo apt purge paketname && sudo apt autoremove
System bereinigen:
# Nicht verwendete Abhängigkeiten entfernen
sudo apt autoremove
# Mit Löschen
sudo apt autoremove --purge
# Heruntergeladene Paketdateien löschen
sudo apt clean
# Alte Versionen von Paketen löschen
sudo apt autoclean
Plattenspeicher prüfen:
# Cache-Größe prüfen
du -sh /var/cache/apt/archives
# Gesamtpaketgröße prüfen
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n
Paket-Holds (Upgrades verhindern)
Pakete halten:
# Paket auf aktueller Version halten
sudo apt-mark hold paketname
# Paket freigeben
sudo apt-mark unhold paketname
# Gehaltene Pakete anzeigen
apt-mark showhold
# Mehrere Pakete halten
sudo apt-mark hold paket1 paket2 paket3
Anwendungsfall: Verhindern Sie, dass bestimmte Softwareversionen automatisch aktualisiert werden.
Verwendung von dpkg - Low-Level-Paket-Tool
dpkg ist das zugrunde liegende Paketverwaltungstool, das APT verwendet:
Grundlegende dpkg-Befehle:
# Paket installieren
sudo dpkg -i paket.deb
# Paket entfernen
sudo dpkg -r paketname
# Paket löschen
sudo dpkg -P paketname
# Installierte Pakete auflisten
dpkg -l
# Dateien im Paket auflisten
dpkg -L paketname
# Finden, welches Paket eine Datei besitzt
dpkg -S /pfad/zur/datei
# Paketstatus prüfen
dpkg -s paketname
# Paket neu konfigurieren
sudo dpkg-reconfigure paketname
# Paketintegrität prüfen
dpkg -V paketname
Behebung beschädigter Pakete:
# Beschädigte Pakete neu konfigurieren
sudo dpkg --configure -a
# Fehlende Abhängigkeiten beheben
sudo apt install -f
# Paket erzwingen neu installieren
sudo apt install --reinstall paketname
Repository-Verwaltung
Anzeige von Repositorys
Konfigurierte Repositorys prüfen:
# Quellenliste anzeigen
cat /etc/apt/sources.list
# Zusätzliche Quellen anzeigen
ls /etc/apt/sources.list.d/
# Alle aktivierten Repositorys anzeigen
grep -r --include '*.list' '^deb ' /etc/apt/
Hinzufügen von Repositorys
PPA (Personal Package Archive) hinzufügen:
# PPA-Repository hinzufügen
sudo add-apt-repository ppa:benutzer/ppa-name
sudo apt update
# Beispiel: Git-PPA hinzufügen
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
Repository manuell hinzufügen:
# Repository zur sources.list hinzufügen
echo "deb http://repository-url distribution component" | sudo tee -a /etc/apt/sources.list.d/custom.list
# GPG-Schlüssel hinzufügen
wget -qO - https://example.com/key.gpg | sudo apt-key add -
# Paketlisten aktualisieren
sudo apt update
Moderne Schlüsselverwaltung (Ubuntu 22.04+):
# Schlüssel herunterladen und zum Keyring hinzufügen
wget -qO - https://example.com/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/custom.gpg
# Signiertes Repository hinzufügen
echo "deb [signed-by=/etc/apt/keyrings/custom.gpg] http://repo-url dist component" | sudo tee /etc/apt/sources.list.d/custom.list
Entfernen von Repositorys
# PPA entfernen
sudo add-apt-repository --remove ppa:benutzer/ppa-name
# Oder die Listendatei löschen
sudo rm /etc/apt/sources.list.d/ppa-name.list
# Aktualisieren
sudo apt update
Alternative Paketmanager
Ubuntu unterstützt auch Snap und Flatpak für universelle Anwendungsverpackung:
-
Snap: Sehen Sie sich unsere umfassende Snap-Paketmanager-Anleitung für detaillierte Informationen zur Installation, Nutzung, Kanäle, Einschränkungen und Fehlerbehebung an.
-
Flatpak: Sehen Sie sich unsere umfassende Flatpak-Paketmanager-Anleitung für detaillierte Informationen zur Installation, Flathub, Berechtigungen, Laufzeiten und Verwaltung an.
Fortgeschrittene Paketverwaltung
Operationen simulieren (Testlauf)
# Installation simulieren
apt install -s paketname
# Upgrade simulieren
apt upgrade -s
# Anzeigen, was installiert würde
apt-cache showpkg paketname
Pakete herunterladen ohne Installation
# Nur Paket herunterladen
apt download paketname
# Mit Abhängigkeiten herunterladen
apt install --download-only paketname
# In ein bestimmtes Verzeichnis herunterladen
cd /pfad/zum/verzeichnis
apt download paketname
Paketdateien finden
# Welches Paket eine Datei bereitstellt
dpkg -S /pfad/zur/datei
# Suche nach Dateien in Paketen (einschließlich nicht installiert)
apt-file search dateiname
# apt-file zuerst installieren
sudo apt install apt-file
sudo apt-file update
Paket-Pinning
Erstellen Sie /etc/apt/preferences, um Paketversionen zu steuern:
# Paket auf eine bestimmte Version pinning
sudo nano /etc/apt/preferences
Fügen Sie hinzu:
Package: paketname
Pin: version 1.2.3*
Pin-Priority: 1001
Paketsicherheitslücken prüfen
# Auf Sicherheitsupdates prüfen
sudo apt list --upgradable | grep security
# Bestimmtes Paket auf CVEs prüfen
apt-cache policy paketname
Fehlerbehebung bei häufigen Problemen
Defekte Pakete reparieren
# Methode 1: Abhängigkeiten reparieren
sudo apt install -f
# Methode 2: Pakete neu konfigurieren
sudo dpkg --configure -a
# Methode 3: Bereinigen und aktualisieren
sudo apt clean
sudo apt update
sudo apt upgrade
# Methode 4: Erzwingene Reparatur
sudo apt --fix-broken install
“Gesperrte” Datenbank reparieren
# Sperrdateien entfernen (nur wenn kein apt-Prozess läuft!)
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a
Zuerst laufende Prozesse überprüfen:
ps aux | grep -i apt
sudo lsof /var/lib/dpkg/lock-frontend
Hash-Summen-Fehler
# Cache bereinigen und erneut versuchen
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
GPG/Schlüssel-Fehler
# Schlüssel erneut hinzufügen
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID
# Oder Schlüssel herunterladen
wget -qO - https://repo-url/key.gpg | sudo apt-key add -
# Moderne Methode (Ubuntu 22.04+)
wget -qO - https://repo-url/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/repo.gpg
Unbefriedigte Abhängigkeiten
# aptitude versuchen (besserer Abhängigkeitslöser)
sudo apt install aptitude
sudo aptitude install package-name
# Oder manuelle Lösung
sudo apt install package-name package-dependency
Repository nicht gefunden (404)
# Auf korrektes Repository aktualisieren
sudo nano /etc/apt/sources.list
# Alten Releasename durch aktuellen ersetzen
# Oder veraltetes PPA entfernen
sudo add-apt-repository --remove ppa:name/ppa
Beste Praktiken
Regelmäßige Wartung
Wöchentliche Routine:
#!/bin/bash
# Systemaktualisierungsskript
echo "Paketlisten werden aktualisiert..."
sudo apt update
echo "Pakete werden aktualisiert..."
sudo apt upgrade -y
echo "Nicht mehr benötigte Pakete werden entfernt..."
sudo apt autoremove -y
echo "Paketcache wird bereinigt..."
sudo apt autoclean
echo "Aktualisierung abgeschlossen!"
Sicherheitsupdates
Automatische Updates für Sicherheitspatches:
# unattended-upgrades installieren
sudo apt install unattended-upgrades
# Konfigurieren
sudo dpkg-reconfigure unattended-upgrades
# Konfiguration bearbeiten
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Serverkonfiguration: Wenn Sie einen Ubuntu-Server verwalten, ist eine ordnungsgemäße Netzwerkkonfiguration für zuverlässige Paketherunterladungen und Systemaktualisierungen unerlässlich. Erfahren Sie wie Sie eine statische IP-Adresse in Ubuntu Server ändern, um eine stabile Konnektivität für Ihre Paketverwaltungsvorgänge sicherzustellen.
Paketliste sichern
Installierte Pakete exportieren:
# Sicherung erstellen
dpkg --get-selections > ~/package-list.txt
# Oder mit explizit installierten Paketen
apt-mark showmanual > ~/manually-installed.txt
# Auf einem anderen System wiederherstellen
sudo dpkg --set-selections < ~/package-list.txt
sudo apt-get dselect-upgrade
Systemzustand überprüfen
# Auf defekte Abhängigkeiten prüfen
sudo apt check
# Alle Pakete verifizieren
sudo debsums -c
# Systemprotokolle überprüfen
journalctl -xe | grep -i apt
tail -f /var/log/apt/history.log
Leistungsoptimierung
Schnellere Paketherunterladungen
Parallelherunterladungen aktivieren:
Datei /etc/apt/apt.conf.d/99parallel bearbeiten:
echo 'Acquire::Queue-Mode "host";' | sudo tee /etc/apt/apt.conf.d/99parallel
echo 'Acquire::http::Pipeline-Depth "5";' | sudo tee -a /etc/apt/apt.conf.d/99parallel
Schnellsten Spiegel verwenden:
# apt-fast installieren
sudo add-apt-repository ppa:apt-fast/stable
sudo apt update
sudo apt install apt-fast
# apt-fast statt apt verwenden
sudo apt-fast install package-name
Cache-Größe reduzieren
# Cache auf 100MB begrenzen
echo 'APT::Archives::MaxSize "100";' | sudo tee /etc/apt/apt.conf.d/99max-cache
Nützliche Paketverwaltungsskripte
Alle Paketmanager aktualisieren
#!/bin/bash
# Alle Paketmanager aktualisieren
echo "=== APT-Aktualisierung ==="
sudo apt update && sudo apt upgrade -y
echo "=== Snap-Aktualisierung ==="
sudo snap refresh
echo "=== Flatpak-Aktualisierung ==="
flatpak update -y
echo "Alle Systeme aktualisiert!"
Große Pakete finden
# Größte installierte Pakete auflisten
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20
# Oder lesbares Format
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20 | awk '{printf "%.2f MB\t%s\n", $1/1024, $2}'
Paketaudit
#!/bin/bash
# Paketsystemaudit
echo "=== Systempaketstatistiken ==="
echo "Installierte Pakete: $(dpkg -l | grep ^ii | wc -l)"
echo "Aktualisierbare Pakete: $(apt list --upgradable 2>/dev/null | grep -c upgradable)"
echo "Gesperrte Pakete: $(apt-mark showhold | wc -l)"
echo "Automatisch entfernbar: $(apt autoremove --dry-run | grep -Po '^\d+')"
echo "Cache-Größe: $(du -sh /var/cache/apt/archives | cut -f1)"
Schnellreferenz-Cheatsheet
Wesentliche Befehle:
# Aktualisieren & Aktualisieren
sudo apt update && sudo apt upgrade -y
# Paket installieren
sudo apt install package-name
# Paket entfernen
sudo apt remove package-name
# Paket suchen
apt search keyword
# Paketinformationen anzeigen
apt show package-name
# Installierte Pakete auflisten
apt list --installed
# System bereinigen
sudo apt autoremove && sudo apt autoclean
# Defekte Pakete reparieren
sudo apt install -f && sudo dpkg --configure -a
Fazit
Die Beherrschung des Paketverwaltungssystems von Ubuntu ist für eine effiziente Systemverwaltung unerlässlich. Ob Sie den modernen apt-Befehl für interaktive Sitzungen, apt-get für Skripte oder universelle Pakete mit Snap und Flatpak verwenden, das Verständnis dieser Tools hilft Ihnen, ein sicheres, aktuelles und gut organisiertes Ubuntu-System zu erhalten.
Beginnen Sie mit den grundlegenden Befehlen, integrieren Sie nach und nach fortgeschrittene Techniken und halten Sie Ihr System immer auf dem neuesten Stand. Regelmäßige Wartung in Kombination mit bewährten Verfahren gewährleistet ein reibungsloses und zuverlässiges Ubuntu-Erlebnis.
Professioneller Tipp: Führen Sie immer sudo apt update aus, bevor Sie Pakete installieren oder aktualisieren, um sicherzustellen, dass Sie mit den neuesten Paketinformationen arbeiten!
Nützliche Links
- Offizielle Ubuntu-Dokumentation
- APT-Benutzerhandbuch
- Ubuntu-Paketsuche
- Snap-Store
- Flathub-Repository
- Debian-Administrator’s Handbook
- Ubuntu-Server-Guide
- Man-Seiten:
man apt,man apt-get,man dpkg