===== 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}} ----