===== 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 installieren
sudo aptitude remove # Paket entfernen (Konfiguration bleibt)
sudo aptitude purge # Paket vollständig entfernen
sudo aptitude reinstall # 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 halten
sudo aptitude unhold # Hold aufheben
==== Suchen und Informationen ====
# Nach Paketen suchen
aptitude search
aptitude search '~n' # Nach exaktem Paketnamen suchen
aptitude search '~d' # In Beschreibung suchen
# Paketinformationen anzeigen
aptitude show
aptitude versions # 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 | grep Depends
aptitude why # Warum ist Paket installiert?
aptitude why-not # 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 als manuell installiert markieren
sudo aptitude unmarkauto
# 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
aptitude --simulate upgrade
aptitude -s full-upgrade
# Verbose-Ausgabe
aptitude -v install
aptitude -vv install # Noch mehr Details
# Download ohne Installation
aptitude download
# Nur herunterladen, nicht installieren
sudo aptitude -d install
==== Problemlösung ====
# Kaputte Abhängigkeiten reparieren
sudo aptitude install -f
# Paket mit spezifischer Version installieren
sudo aptitude install =
# Paket von bestimmtem Repository installieren
sudo aptitude install /testing
sudo aptitude install /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
sudo aptitude purge '~g'
# Oder in einem Schritt
sudo aptitude purge '~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 | 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:apt|APT]] (Moderner Standard-Paketmanager)
* [[sammlung:dpkg|dpkg]] (Low-Level-Paketmanager)
* [[sammlung:paketverwaltung|Paketverwaltung Übersicht]]
* [[sammlung:apt-get|apt-get]] (Klassischer APT-Befehl)
----
{{tag>cli package management deb basics, advanced}}
----