Una de las ventajas de utilizar Sistemas Operativos sin GUI es la rapidez con la que son desplegados y los pocos recursos que consumen. Esta característica, antes exclusiva de las distribuciones Linux, fue introducida por Microsoft en Windows 2008 en su versión server Core y ampliada con nuevas características y funcionalidades en Windows Server 2012. Sin embargo, cuando aparece algún problema, lidiar con la shell a través de comandos puede ser un poco complicado.
Hace poco me he encontrado con un problema en el que un servidor basado en Debian tenía ocupada la partición root al 100%. En este estado el servidor no es capaz de arrancar ningún servicio y mucho menos el entorno gráfico, ni siquiera levantaba las interfaces de red. Nos tocaba usar la shell para liberar espacio.
Lo primero que debemos hacer es verificar que efectivamente tenemos la partición sin espacio libre, lo cual podremos comprobar con el comando:
# df
Aquí debemos mirar la columna donde nos habla del %used.
A continuación os dejo una serie de comandos que os ayudarán a encontrar qué archivos están saturando vuestra partición:
# cd /; du -xha |sort -r |head -n 30
Este comando nos devuelve los 30 archivos con mayor tamaño.
# cd /; du -sh *
Este comando nos muestra el tamaño de los directorios que se encuentran en el primer nivel de la partición.
De esta forma podréis encontrar los ficheros que han saturado la partición.