10/09/2006

Eliminando paquetes huerfanos

 

Después de repetidas instalaciones y desinstalaciones, lo normal es que tengamos una serie de paquetes que no necesitamos ocupando sitio en nuestro ordenador. Esto es debido a las diferentes dependencias entre paquetes, de modo que al eliminar cierto paquetes, sus dependencias no suelen ser eliminadas, acumulandose en el disco duro, para poder ver los paquetes huérfanos (porque aquellos de los que dependian ya no están) tenemos la utilidan deborphan, para instalarla simplemente ejecutamos:

    sudo apt-get install deborphan    

Para automatizar el proceso anterior, podemos ejecutar este script que realiza la desinstalación de los paquetes huerfanos de forma automática. Creamos un fichero llamado limpiar_huerfanos.sh y copiamos en su interior lo siguiente: 

 #!/bin/bash

############################################
# C0r3Dump #
# limpiar_huerfanos.sh #
############################################

for i in `deborphan --guess-all`
do
paquetes="$paquetes $i"
done

echo
echo "*************************************************"
echo "Paquetes que se van a borrar:"
echo "*************************************************"
echo $paquetes
echo "*************************************************"
echo "¿Desea continuar (S/n)?"

read
if [ "$REPLY" = "n" ]; then
cancel
else
sudo aptitude remove $paquetes
fi

A continuación, le damos permisos de ejecución al fichero anterior:

 sudo chmod 700 limpiar_huerfanos.sh     

Debido a que al eliminar algun fichero huerfano, esto puede producir a su vez más ficheros huerfanos (que dependían de alguno de los anteriores) se aconseja ejecutar el script un par de veces seguidas para eliminar todos los posibles ficheros innecesarios. 

Por último, es buena idea copiar el script dentro del directorio /usr/sbin para que se pueda ejecutar desde cualquier punto sin tener que incluir la ruta del fichero.

    sudo mv ./limpiar_huerfanos.sh /usr/sbin/     

Enlaces relacionados:

Guia Ubuntu Dapper