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.