dpkg und Status "deinstall"

26. Juli 2020 · Betriebssysteme · andreas · Kein Kommentar

Beim gelegentlichen Erstellen der Liste aller installierten Pakete mit “dpkg –get-selections” ist mir aufgefallen, daß ein paar Pakete mit dem Status “deinstall” angezeigt werden, z.B.

python3.7					install
python3.7-minimal				install
qemu-kvm					deinstall
qemu-system-common				deinstall
qemu-system-x86					deinstall
qt5-gtk-platformtheme:amd64			install

Diese waren zum größten Teil Überbleibsel von Experimenten mit virutellen Maschinen, in deren Verlauf ich “virt-manager” installiert und anschließend mittels “apt purge …” wieder vom System entfernt habe, inklusive anschließendem “apt autoremove”.

Warum sind die Pakete offensichtlich noch vorhanden und werden von einem “autoremove” nicht entfernt? Ein Blick in die man-Page brachte leider nicht die erhoffte Erleuchtung:

deinstalliere
  Das Paket ist zur Deinstallation ausgewählt 
  (d.h. wir wollen alle Dateien außer den
  Konfigurationsdateien entfernen).

Im englischen Debian-Forum findet sich eine plausible Erklärung , zwar aus 2009, aber sie passt:

… this means that all package files have been selected for removal except the configuration files.

sowie

If there is no configuration, cache files or whatever to be removed, then the package will be completely removed and not left in ‘c’ (deinstall) state.

Dependencies that were installed automatically are never purged by default (if not uninstalled manually, using the purge command).

Das erklärt, warum manche Pakete noch im Status “deinstall” vorhanden waren:

Der “virt-manager” war weg, weil mittels “apt purge …” deinstalliert. Alle Depencencies ohne Konfigurationsdatei(en) waren ebenfalls weg, gelistet wurden noch die Reste, bei denen zwar die Pakete entfernt wurden, nicht aber die Konfigurationen.