¿me engaña dpkg --get-selections con paquetes desinstalados o qué?

Imagen de gotxa
0 puntos

holas varias
a ver si alguien me saca de dudas...

La ayuda de dpkg dice:

...
PACKAGE SELECTION STATES
install
The package is selected for installation.

deinstall
The package is selected for deinstallation (i.e. we want to remove all files, except configuration
files).

purge
The package is selected to be purged (i.e. we want to remove everything, even configuration files).
...
--get-selections [package-name-pattern...]
Get list of package selections, and write it to stdout. Without a pattern, packages marked with
state purge will not be shown.

--set-selections
Set package selections using file read from stdin. This file should be in the format ’
’, where state is one of install, hold, deinstall or purge. Blank lines and comment lines
beginning with ’#’ are also permitted.
...

Con estas, un listado de

$ dpkg --get-selections | egrep -w "deinstall$"

me saca unos cuantos paquetes de los cuales Synaptic me dice que no están instalados, sin embargo algunos sí que lo están (puedo ejecutarlos en consola tranquilamente). Es el caso de xcalc, xman, xlogo, oclock, editres y algún otro (casualmente son programas de X "a la antigua usanza", esto es: antes de existir siquiera Gnome o KDE).

$ which xcalc
/usr/bin/xcalc

Pero también me saca otros que, efectivamente, no están instalados según Synaptic y no los puedo ejecutar: f-spot, wired, agave, scribus...

$ which scribus
$

y hay otros paquetes que son claramente librerías: libcinepaint0,
libclamav2, libcrypto++5.2c2a, libcrypto++6, libdb3, libdiacanvas2-1, libdirectfb-0.9-25, libdiscover1, libexiv2-0, libexiv2-0.12, libexiv2-2, libflac++5c2...

$ locate libdiscover
/var/lib/dpkg/info/libdiscover1.list
/var/lib/dpkg/info/libdiscover1.postrm

Creo que de todos ellos (de los que encuentro el ejecutable y de los que no) existe al menos un archivo (el *.list) en /var/lib/dpkg/info/ (no los he comprobado todos, pero unos poco sí, como el de justo arriba).

Y para rematar la faena, si le digo a Synaptic que me los instale, de unos me los marca para instalar con sus dependencias como es habitual, pero de otros me dice que no quiere, p.ej.:

xcalc:
El paquete xcalc no tiene una versión disponible, pero existe en la base de datos.
Esto generalmente significa que el paquete fue mencionado en una dependencia y nunca fue subido, ha sido declarado obsoleto o no está disponible en el contenido de sources.list

He de decir, como dato a tener en cuenta, que muchos programas de estos recuerdo haberlos tenido y usado antes de actualizar a Hardy. Además, los paquetes con estátus install son 1922 frente a los 162 como deinstall.

Bueno, después de tanto rollo, aclaro que mi objetivo no es instalar esos paquetes sino más bien lo contrario y, sobre todo, saber qué pasa con ellos. En un principio mi objetivo de todo esto era purgar los ficheros de configuración de paquetes que no tengo instalados, por cuestiones de limpieza básicamente, aparte de hacer un pelín más de sitio en mis apretadas particiones. Pero ahora me asaltan unas dudas, como a Descartes pero salvando las enooooormes diferencias.

Ahora las preguntas:

  1. ¿Puedo entender de todo esto que los paquetes deinstall se desinstalaron en su momento pero no se purgaron, como yo había pensado inicialmente?
  2. ¿Qué pasa con los paquetes deinstall de los que encuentro el ejecutable? ¿porqué está ahi?
  3. ¿Me puedo fiar de purgar a saco todos los paquetes marcados como deinstall? ¿o me cargaré algo que no debo?
  4. Si son paquetes de versiones de Ubuntu anteriores, ¿porqué la actualización a Hardy no me ha mentenido esos ejecutables (en su versión correctamente actualizada, claro)?
  5. ¿Hay alguna manera de buscar y purgar los paquetes de los que quede sólo los archivos de configuración más sencillo que mi "cuenta de la vieja"?:
    $ dpkg --get-selections | \
      egrep -w "deinstall$" | \
      cut -f1 | \
      awk '{print "sudo apt-get remove --purge --yes "$1}' | \
      sh
    

He leído la info de por aquí, pero claramente seleccionan los que no son deinstall para indicar los paquetes instalados, aunque no dicen porqué... tampoco fuera de aquí lo especifican siempre:
http://www.ubuntu-es.org/index.php?q=node/62040
http://www.ubuntu-es.org/index.php?q=node/78520#comment-214875
http://www.arsgeek.com/?p=564
Puede que unas explicaciones a mis preguntas (no las acabo de pillar al 100%):
http://unixadmintalk.com/f11/re-dpkg-status-deinstall-question-86078/
http://lists.samba.org/archive/linux/2002-June/003399.html
http://www.debian.org/doc/manuals/quick-reference/ch-package.en.html#s-r...

Saludos y gracias por leer hasta aquí
g