sammlung:aptitude
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Aptitude
Aptitude ist ein fortgeschrittener Paketmanager für Debian-basierte Systeme mit einer interaktiven Textoberfläche (TUI) und einer Kommandozeilenschnittstelle. Es bietet erweiterte Funktionen zur Paketverwaltung und bessere Abhängigkeitsauflösung als APT.
Grundlagen
- Arbeitet mit .deb-Paketen
- Nutzt dieselben Repositories wie APT (/etc/apt/sources.list)
- Bietet sowohl interaktive als auch Kommandozeilen-Modi
- Intelligentere Abhängigkeitsauflösung als APT
- Merkt sich automatisch installierte Pakete (Abhängigkeiten)
Installation
# Aptitude ist nicht standardmäßig installiert sudo apt update sudo apt install aptitude
Wichtige Befehle
# Paketlisten aktualisieren sudo aptitude update # System aktualisieren sudo aptitude upgrade # Sichere Aktualisierung (keine Paket-Entfernung) sudo aptitude safe-upgrade # Alias für upgrade sudo aptitude full-upgrade # Vollständiges Upgrade (kann Pakete entfernen) # Pakete installieren und entfernen sudo aptitude install <paket> # Paket installieren sudo aptitude remove <paket> # Paket entfernen (Konfiguration bleibt) sudo aptitude purge <paket> # Paket vollständig entfernen sudo aptitude reinstall <paket> # Paket neu installieren # Mehrere Pakete gleichzeitig sudo aptitude install paket1 paket2 paket3 sudo aptitude remove paket1 paket2 # Paket installieren und andere entfernen sudo aptitude install paket1 paket2- # Paket-Holds (vor Updates schützen) sudo aptitude hold <paket> # Paket halten sudo aptitude unhold <paket> # Hold aufheben
Suchen und Informationen
# Nach Paketen suchen aptitude search <suchbegriff> aptitude search '~n<name>' # Nach exaktem Paketnamen suchen aptitude search '~d<beschreibung>' # In Beschreibung suchen # Paketinformationen anzeigen aptitude show <paket> aptitude versions <paket> # Verfügbare Versionen anzeigen # Installierte Pakete anzeigen aptitude search '~i' # Alle installierten Pakete aptitude search '~i!~M' # Manuell installierte Pakete aptitude search '~M' # Automatisch installierte Pakete (Abhängigkeiten) # Verwaiste Pakete aptitude search '~o' # Veraltete/obsolete Pakete aptitude search '~c' # Pakete mit Konfigurationsresten
Erweiterte Suchmuster
# Aptitude verwendet mächtige Suchmuster ~i # Installierte Pakete ~M # Automatisch installiert ~A # Automatisch installierbar (nicht mehr benötigt) ~g # "Garbage" (verwaiste Pakete) ~c # Pakete mit Konfigurationsdateien (aber nicht installiert) ~o # Obsolete Pakete ~U # Aktualisierbare Pakete # Kombinationen aptitude search '~i~nssh' # Installierte Pakete mit "ssh" im Namen aptitude search '~i!~M~nssh' # Manuell installierte ssh-Pakete aptitude search '~i~dsecurity' # Installierte Pakete mit "security" in Beschreibung # Negation aptitude search '~i!~nssh' # Installierte Pakete OHNE "ssh" im Namen
Abhängigkeiten verwalten
# Nicht mehr benötigte Pakete entfernen sudo aptitude autoclean # Veraltete .deb-Dateien aus Cache entfernen sudo aptitude clean # Gesamten Paket-Cache leeren # Verwaiste Pakete entfernen (nicht mehr benötigte Abhängigkeiten) sudo aptitude search '~g' # Verwaiste Pakete anzeigen sudo aptitude purge '~g' # Verwaiste Pakete entfernen # Abhängigkeiten eines Pakets anzeigen aptitude show <paket> | grep Depends aptitude why <paket> # Warum ist Paket installiert? aptitude why-not <paket> # Warum kann Paket nicht installiert werden?
Interaktiver Modus
# Interaktive TUI starten sudo aptitude # Navigation im interaktiven Modus: # ↑/↓ - Navigieren # Enter - Kategorie öffnen/schließen # + - Paket zur Installation markieren # - - Paket zur Entfernung markieren # _ - Paket zum Purge markieren # = - Paket halten (Hold) # : - Paket unhold # g - Vorschau der Änderungen / Änderungen ausführen # q - Beenden # ? - Hilfe # / - Suchen # \ - Rückwärts suchen # n - Nächstes Suchergebnis # u - Paketlisten aktualisieren # U - Alle aktualisierbaren Pakete markieren
Paket-Status ändern
# Paket als automatisch installiert markieren sudo aptitude markauto <paket> # Paket als manuell installiert markieren sudo aptitude unmarkauto <paket> # Nützlich um Pakete zu behalten, die sonst als "verwaist" entfernt würden sudo aptitude unmarkauto wichtiges-paket
Simulation und Debugging
# Aktionen simulieren (Dry-Run) aptitude -s install <paket> aptitude --simulate upgrade aptitude -s full-upgrade # Verbose-Ausgabe aptitude -v install <paket> aptitude -vv install <paket> # Noch mehr Details # Download ohne Installation aptitude download <paket> # Nur herunterladen, nicht installieren sudo aptitude -d install <paket>
Problemlösung
# Kaputte Abhängigkeiten reparieren sudo aptitude install -f # Paket mit spezifischer Version installieren sudo aptitude install <paket>=<version> # Paket von bestimmtem Repository installieren sudo aptitude install <paket>/testing sudo aptitude install <paket>/unstable # Konfliktlösung # Wenn aptitude Konflikte findet, bietet es mehrere Lösungsvorschläge # Durchlaufen mit: n (next), q (quit), ! (akzeptieren)
Konfiguration
# Aptitude-Konfiguration /etc/apt/apt.conf.d/ # Globale Konfiguration ~/.aptitude/config # User-spezifische Konfiguration # Beispiel-Konfigurationen # Empfohlene Pakete nicht automatisch installieren: aptitude::Recommends-Important "false"; # Vorgeschlagene Pakete nicht anzeigen: aptitude::Suggest-Important "false";
Log-Dateien
# Aptitude führt ein detailliertes Log /var/log/aptitude # Hauptlog-Datei # Log anzeigen less /var/log/aptitude tail -f /var/log/aptitude # Zeigt alle Paketoperationen mit Zeitstempel
Unterschiede zu APT
| Feature | apt/apt-get | aptitude |
|---|---|---|
| Abhängigkeitsauflösung | Basis | Intelligenter, bietet Alternativen |
| Interaktiver Modus | Nein | Ja (TUI) |
| Automatische Pakete | Teilweise | Vollständig (merkt sich Dependencies) |
| Konfliktlösung | Einfach | Erweitert mit Lösungsvorschlägen |
| Suchmuster | Basis | Erweiterte Pattern-Syntax |
| Logs | APT-Logs | Eigene detaillierte Logs |
| why/why-not | Nein | Ja |
| Empfehlung | Standard | Fortgeschrittene Nutzer |
Häufige Anwendungsfälle
Verwaiste Pakete entfernen
# Alle nicht mehr benötigten Pakete anzeigen aptitude search '~g' # Verwaiste Pakete entfernen sudo aptitude purge '~g' # Oder im interaktiven Modus sudo aptitude # Dann 'g' drücken, um verwaiste Pakete zu sehen und zu entfernen
Paket mit allen Abhängigkeiten entfernen
# Paket entfernen und Abhängigkeiten als "verwaist" markieren sudo aptitude purge <paket> sudo aptitude purge '~g' # Oder in einem Schritt sudo aptitude purge <paket> '~g'
System-Upgrade
# Sichere Aktualisierung sudo aptitude update sudo aptitude safe-upgrade # Vollständiges Upgrade (für Distribution-Upgrade) sudo aptitude update sudo aptitude full-upgrade # Mit Simulation vorher sudo aptitude -s full-upgrade
Pakete nach Größe suchen
# Größte installierte Pakete anzeigen aptitude search '~i' --sort '~installsize' | tail -20 # Paketgröße anzeigen aptitude show <paket> | grep "Installed Size"
Konfigurationsreste aufräumen
# Pakete mit Konfigurationsresten finden aptitude search '~c' # Alle Konfigurationsreste entfernen sudo aptitude purge '~c'
Tipps und Best Practices
- Erste Wahl für komplexe Abhängigkeiten - Bessere Konfliktlösung als apt
- Interaktiver Modus nutzen - Übersichtliche Darstellung aller Pakete
- Suchmuster lernen - Mächtige Filterfunktionen für große Paketverwaltung
- markauto/unmarkauto - Wichtige Pakete vor versehentlichem Entfernen schützen
- Simulation zuerst - Große Operationen mit -s testen
- why/why-not Befehle - Abhängigkeiten verstehen
- Log-Dateien nutzen - Detaillierte Historie aller Operationen
- Kombination mit apt - Beide Tools können parallel genutzt werden
Bekannte Einschränkungen
- Langsamer als apt - Komplexere Berechnungen brauchen mehr Zeit
- Höherer Speicherbedarf - Mehr RAM für Abhängigkeitsberechnung
- Nicht mehr Standard - APT ist der neue Standard in modernen Debian/Ubuntu
- Learning Curve - Suchmuster und TUI benötigen Einarbeitung
Weitere Informationen
man aptitude man aptitude-doc-en # Ausführliche Dokumentation (aptitude-doc-en installieren) # Online-Hilfe aptitude --help aptitude -h # In der TUI # ? drücken für Hilfe
Siehe auch
sammlung/aptitude.1767695727.txt.gz · Zuletzt geändert: von Branislav Zeljak
