In Ubuntu-Systemen, die über mehrere Versionen aktualisiert wurden oder die viele Extra-Repositories verwenden, kann es vorkommen, dass veraltete Pakete Probleme bei der Installation von Software oder bei der Aktualisierung bereiten.
Oft hilft es, die veralteten Pakete komplett zu deinstallieren. Dabei kann es jedoch vorkommen, dass sich Pakete der Deinstallation verweigern.
Ein Problem kann sein, dass „apt-get“ behauptet, das Paket ist gar nicht installiert. Ein Blick in die Paketdatenbank zeigt es jedoch noch an. Von solchen Paketen sind häufig noch Konfigurationsdateien vorhanden. Solche Pakete lassen sich wie folgt auflisten:
$ dpkg -l|grep -v ^ii [...] rc xserver-xorg-video-via 1:0.2.2-5 X.Org X server -- VIA display driver rc xulrunner-1.9.1 1.9.1.9+nobinonly-0ubuntu0.9.10.1 XUL + XPCOM application runner
Dass tatsächlich noch Dateien zum Paket xulrunner-1.9.1 gehören, kann man wie folgt sehen:
$ dpkg -L xulrunner-1.9.1 /etc /etc/gre.d /etc/gre.d/1.9.1.9.system.conf /etc/xulrunner-1.9.1 /etc/xulrunner-1.9.1/system-greprefs.js /etc/gre.d/1.9.1.9pre.system.conf
Der naheliegende Versuch, das Paket mit „apt-get remove“ oder „apt-get purge“ zu löschen, schlägt fehl. Man kann das Paket aber mit „dpkg –purge“ löschen:
$ sudo apt-get remove xulrunner-1.9.1 Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Status-Informationen einlesen... Fertig Paket xulrunner-1.9.1 ist nicht installiert, wird also auch nicht entfernt. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 14 nicht aktualisiert. $ sudo apt-get purge xulrunner-1.9.1 Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Status-Informationen einlesen... Fertig Paket xulrunner-1.9.1 ist nicht installiert, wird also auch nicht entfernt. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 14 nicht aktualisiert. $ sudo dpkg --purge xulrunner-1.9.1 (Lese Datenbank ... 207565 Dateien und Verzeichnisse sind derzeit installiert.) Entferne xulrunner-1.9.1 ... Lösche Konfigurationsdateien von xulrunner-1.9.1 ...
Ein anderes Problem können Abhängigkeitskonflike sein. Generell sollte man vorsichtig sein, denn Abhängigkeiten haben schon ihren Zweck. Wenn man aber umbedingt ein bestimmtes Paket loswerden muss, zumindest temporär, hilft auch hier „dpkg“. Man kann „dpkg“ zwingen trotz Abhängigkeitsproblemen oder anderen Problemen ein Paket zu deinstallieren. Die Hilfe dazu erhält man wie folgt:
$ dpkg --force-help dpkg-Optionen zum Erzwingen - Verhalten steuern, wenn Probleme gefunden werden: Warnen aber fortsetzen: --force-,,... Mit Fehler anhalten: --refuse-,,... | --no-force-,... Dinge erzwingen: all [!] Alle Optionen zum Erzwingen setzen [...] depends-version [!] Versionsabhängigkeitsprobleme in Warnungen umwandeln depends [!] Alle Abhängigkeitsprobleme in Warnungen umwandeln
Im folgenden Beispiel wird das Paket „yelp“ deinstalliert (und anschließend wieder installiert), obwohl die Deinstallation Abhängigkeitskonflikte anzeigt.
$ sudo dpkg --purge yelp dpkg: Abhängigkeitsprobleme verhindern Entfernen von yelp: gnome-user-guide hängt ab von yelp; aber: Paket yelp soll entfernt werden. dpkg: Fehler beim Bearbeiten von yelp (--purge): Abhängigkeitsprobleme - entferne nicht Fehler traten auf beim Bearbeiten von: yelp $ sudo dpkg --purge --force-all yelp dpkg: yelp: Abhängigkeitsprobleme, aber entferne es auf Anfrage dennoch: gnome-user-guide hängt ab von yelp; aber: Paket yelp soll entfernt werden. (Lese Datenbank ... 207516 Dateien und Verzeichnisse sind derzeit installiert.) Entferne yelp ... Lösche Konfigurationsdateien von yelp ... Verarbeite Trigger für man-db ... Verarbeite Trigger für hicolor-icon-theme ... $ sudo apt-get install yelp Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Status-Informationen einlesen... Fertig Die folgenden NEUEN Pakete werden installiert: yelp 0 aktualisiert, 1 neu installiert, 0 zu entfernen und 14 nicht aktualisiert. Es müssen noch 0B von 428kB an Archiven heruntergeladen werden. Nach dieser Operation werden 5.399kB Plattenplatz zusätzlich benutzt. Wähle vormals abgewähltes Paket yelp. (Lese Datenbank ... 207467 Dateien und Verzeichnisse sind derzeit installiert.) Entpacke yelp (aus .../yelp_2.30.0-0ubuntu2_i386.deb) ... Verarbeite Trigger für hicolor-icon-theme ... Verarbeite Trigger für man-db ... Richte yelp ein (2.30.0-0ubuntu2) ...