Enfermos terminales (I): Purga general

Enviado por pvaldes el 3 Diciembre, 2009 - 17:43.

Purgando todos los ficheros de configuración "huérfanos" de nuestro sistema con un solo comando

A menos que pongamos algo de cuidado, en todo sistema Debian GNU/Linux se van acumulando restos de paquetes eliminados. Esto se debe a que cuando "desinstalamos" un paquete (con aptitude remove o apt-get remove por ejemplo) no se borran ni sus archivos de configuración ni sus datos asociados, ni tampoco los de los paquetes que dependen de él y se eliminan automáticamente al mismo tiempo. A la larga es inevitable tener desperdigados por el sistema archivos que probablemente no volveremos a utilizar (restos de antiguos escritorios, librerías o la configuración de programas que sólo probamos un día o hemos sustituido por otros y ya no usamos).

Para eliminar tanto un paquete como sus archivos de configuracion hay que "purgarlo", un proceso sencillo, pero que puede convertirse en un trabajo tedioso y repetitivo si ha pasado algún tiempo desde que instalamos el sistema base ya que hay que hacerlo paquete a paquete. Además hay que asegurarse de no tocar la configuración de los paquetes instalados.

Podemos simplificar notablemente la tarea usando redirección y algo de maña. El siguiente comando localiza por nosotros y elimina en un sólo paso todos estos restos ahorrándonos un tiempo considerable. También creará un archivo de texto llamado paquetes_purgados que nos indica qué se ha limpiado y podemos borrar sin problemas cuando queramos. Si no encuentra ningún paquete apto se escribirá un mensaje de error.

    Notas:

  1. Atención, este comando BORRA inmediatamente y sin preguntar los ficheros de configuración de TODOS los paquetes que hayan sido desinstalados previamente. Si no se desea ésto, puede separarse en dos pasos cortando el comando a la altura de && y editando el archivo paquetes_purgados antes de lanzar lo que queda a la derecha de &&
  2. Uso con Bases de datos. Al limpiar un paquete como mysql tenemos que tener en cuenta que podemos querer conservar las bases de datos creadas con dicho paquete aunque se trate de una versión antigua que ya no utilicemos. En mysql al menos nos aparecerá un cuadro de diálogo donde podemos elegir entre conservar esas bases de datos (por defecto) o borrarlas, pero por precaución hay que hacer copias actualizadas de cualquier base de datos que tengamos y moverlas a un lugar seguro antes de usar el comando.
# dpkg-query -W -f='${Package} ${Status}\n'|gawk -v ORS=' ' 'BEGIN {print "dpkg --purge"} /deinstal/ {print $1}' > paquetes_purgados  &&  $0 < paquetes_purgados || echo 'No queda nada por limpiar'

Imagen de cnicolas
Enviado por cnicolas el 3 Diciembre, 2009 - 20:16.

Lo he ejecutado por partes , el fichero paquetes_purgados me lo crea perfectamente , pero la segunda parte me da error

bash command not found

Edito: Es necesario ser root y para ello es necesario escribir bien la contraseña, la habia escrito mal y pensaba que era root y no lo era. Funciona bien, el error es con un usuario normal y debido a que escribi mal.

Imagen de jam
Enviado por jam el 4 Diciembre, 2009 - 00:41.

Más fácil todavía:

Instalamos deborphan

#aptitude install deborphan

Y ahora utilizamos dpkg, deborphan y el poder del lenguaje de bash para en una sencilla línea purgar todos los paquetes huérfanos de nuestra instalación

#dpkg --purge $(deborphan)

Et voilá!

Imagen de pvaldes
Enviado por pvaldes el 4 Diciembre, 2009 - 10:40.

No hacen lo mismo, tu comando elimina más cosas, pero desde luego es otra manera de enfocarlo. Para que fueran iguales tendría que escribirse como:

dpkg --purge $(deborphan --find-config)

Imagen de jam
Enviado por jam el 7 Diciembre, 2009 - 22:29.

Ok, pensaba que tu propuesta también borraba los paquetes "huérfanos", no solamente las configuraciones.

Gracias por la puntualización.

Imagen de kamex
Enviado por kamex el 8 Diciembre, 2009 - 14:34.

Gracias pvaldes
Aplicar este comando me ha alivianado demasiado mi máquina que ya empezaba a arrastrar un poquito ahora es supersónica

saludos

Imagen de kamex
Enviado por kamex el 8 Diciembre, 2009 - 14:36.
kamex escribió:

Gracias pvaldes
Aplicar este comando me ha alivianado demasiado mi máquina que ya empezaba a arrastrar un poquito ahora es supersónica

saludos

Con tu permiso lo copio y me lo guardo

Imagen de macondo
Enviado por macondo el 21 Diciembre, 2009 - 21:37.

pvaldes, gracias, me quitó 1 mega de basura :)