Se me llenó el $HOME

Valoración del Usuario:  / 1
MaloBueno 

Hoy estaba trabajando normalmente cuando de repente una aplicación produjo un error indicando "No space left on device", "no queda espacio libre en el dispositivo" traducido. El dispositivo era la partición /dev/sda3, la cual aloja el sistema de archivos del directorio /home). El día que todo usuario linuxero debe enfrentar, se me llenó el $HOME.



Troubleshooting

Para determinar cuanto espacio disponible queda en la partición /dev/sda3 es posible utilizar el comando df. Este comando reporta el espacio en disco disponible. La opción -h permite expresar el tamaño en unidades amigables (human readabla) como K (kilos), M (megas) y G (gigas). Si no se especifica un archivo, df muestra por defecto el tamaño disponible en todos los filesystems montados actualmente.

$ df -h /dev/sda3
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        47G   44G   16M 100% /home

Por lo visto quedaban disponibles unos míseros 16 megabytes. ¿Cómo puedo saber qué subdirectorios son los que ocupan más espacio? Existen varias herramientas y técnicas. La más rápida y sencilla es utilizar el comando du:

$ du -hs $HOME/* | grep "G"
5.7G    /home/emi/Downloads
1.2G    /home/emi/Music
3.3G    /home/emi/packages
32G     /home/emi/Pictures

Aunque también existen herramientas gráficas como Baobab, que permiten hacer un análisis completo y preciso y generar reportes gráficos más fáciles de interpretar. Baobab es capaz de escanear un directorio específico o el sistema de archivos completo (local y remoto) para generar una representación gráfica en forma de árbol o anillo incluyendo el tamaño de cada directorio y porcentaje en la rama.

Ya que mi intención era resolver la cuestión de forma rápida opté por diagnosticar el problema utilizando du.

du sumariza el espacio en disco utilizado por un archivo, o de forma recursiva para directorios. En el ejemplo anterior le pido a du que me genere un reporte (en unidades amigables) sumarizando el tamaño que ocupan los subdirectorios de mi $HOME. Luego con grep obtengo sólo las líneas que contienen al menos una letra G mayúscula, es decir sólo los directorios que ocupan uno o varios gigabytes.

Según parece tengo un exceso de imágenes en el directorio /home/emi/Pictures (32 gigabytes). Luego de borrar algunas descargas y mover archivos de gran tamaño a otro filesystem pude hacerme con unos cuantos megabytes:

$ df -h /dev/sda3
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        47G   44G  1.2G  98% /home

Ahora a seguir descargando...



Suscribirse

    Registrate para recibir las novedades y artículos por correo electrónico.

Social

Linuxito en G+