Limpiando Ubuntu y SO derivados a fondo.

Con el fin de mantener los equipos limpios, he ido recopilando unos cuantos scripts para pasar la escoba en cualquier sistema basado en Debian. Mantener el equipo limpio nos sirve para aprovechar mejor el espacio en disco, eliminar procesos y librerías innecesarias y, lo más importante, eliminar agujeros de seguridad que pudieran existir. Los comandos recopilados que paso a explicar a continuación son meramente informativos y para recordar su sintaxis y uso en el futuro.

Ver nuestras aplicaciones instaladas:

dpkg --get-selections | more

Nos mostrará una lista con todos los paquetes y aplicaciones instalados en nuestro equipo. Útil si sabemos qué queremos eliminar pero no conocemos el nombre exacto del paquete.

Encontrar archivos de gran tamaño:

find / -type f -size +100000k -exec ls -lh {} \;

Por partes. Con este comando le estamos indicando al sistema que localice, en todo el sistema de archivos / los ficheros que sean mayores de ~100Mb y nos los muestre por pantalla indicando el tamaño en un idioma entendible para humanos (KB, MB, GB…). Si queremos buscar en una carpeta en concreto podemos cambiar / por la ruta en cuestión. Si ponemos un punto «.» nos buscará en la carpeta actual.

Mostrar el tamaño que ocupa una carpeta:

du -ch | grep total

Nos mostrará de un vistazo cuánto ocupa en nuestro sistema la carpeta en la que nos encontramos. Si queremos indicar otra ruta podemos hacerlo antes del operador de canalización (|).

Borrar logs antiguos:

En ubuntu podemos borrar y liberar espacio eliminando logs que ya no se usan y no son necesarios. Cada aplicación puede dejar las versiones antiguas de los log de una forma distinta, renombrar el archivo, empaquetarlo en un tar.gz… Aquí las más comunes.

find /var/log -type f -name "*.gz" -exec rm -f {} \;
find /var/log -type f -name "*.0" -exec rm -f {} \;
find /var/log -type f -name "*.1" -exec rm -f {} \;
find /var/log -type f -name "*.old" -exec rm -f {} \;

No se recomienda el borrado de los ficheros .log, ya que alguna aplicación podría estar escribiendo sobre ellos.

Limpiando la caché de aplicaciones:

Si nos hemos pasado un tiempo instalando y desinstalando programas, puede que nos hayan quedado aplicaciones y paquetes que ya no nos sirvan e incluso paquetes descargados en caché que ya no necesitamos (/var/cache/apt/archives/ y /var/cache/apt/archives/partial/). No se recomienda borrar esta carpeta directamente, para borrar su contenido y desinstalar las dependencias que ya no necesitamos usamos los siguientes comandos.

apt-get autoremove --purge
apt-get autoclean
apt-get clean

A mí me gusta usar autoremove junto con –purge cuando desinstalo paquetes, ya que esto nos elimina también los ficheros de configuración de las aplicaciones que ya no necesitamos, liberando más espacio. En cuanto a diferencias entre autoclean y clean, el primero elimina únicamente los paquetes que ya no están disponibles para descargar, mientras que el segundo elimina todos los paquetes.

Paquetes olvidados:

En ocasiones apt-get autoremove no es tan eficaz como nos gustaría y deja paquetes inservibles en el equipo. Existe una pequeña herramienta que los busca y elimina: Deborphan.

apt-get install deborphan

Para usarla, podemos hacerlo con el siguiente comando:

aptitude purge $(deborphan)

ó

apt-get remove $(deborphan) --purge

Automáticamente nos buscará y eliminará los paquetes que ya no dependen de ningún software. Lo ideal es ejecutarlo varias veces hasta que ya no encuentre nada. Cabe mencionar que debemos revisar lo que elimina antes de confirmar.

Idiomas innecesarios:

Otro software interesante para eliminar los idiomas que no necesitamos es localepurge. Promete eliminar todos los manuales, archivos de ayuda, etc… que estén en idiomas que no necesitemos.

apt-get install localepurge

En la instalación podemos marcar en una terminal gráfica qué idiomas queremos conservar (Español UTF-8 e Inglés seguramente sean los más comunes).

Para ejecutar la limpieza usamos:

localepurge

 

¿No necesitas una interfaz gráfica? (usar con cuidado)

Si hemos instalado una ISO de Ubuntu normal en vez del CD de instalación servidor, habremos instalado un entorno gráfico completo con todas sus aplicaciones que tendremos que eliminar tarde o temprano, ya que si queremos un equipo sin entorno gráfico ni aplicaciones, etc… Podemos proceder del tirón a borrar todo aquello que no nos interesa:

apt-get remove lxde* xfce* kde* mate* gnome* unity* desktop* --purge

Seguro que me dejo alguna cosa, pero con esto nos basta por ahora, luego podemos listar los paquetes para ver si se nos queda algo.

dpkg --get-selections | more

Eliminamos dependencias y paquetes ya inservibles:

apt-get autoremove --purge
aptitude purge $(deborphan)
...
apt-get clean

Reiniciamos la máquina y tendremos una bonita y limpia consola de comandos para empezar de cero.