¿Problemas de espacio libre? ncdu

disk_full.png
Solucionex
15
Jun 18

Lo admito, soy un enamorado de la consola desde que entré en el mundo linux, y éste me ha abierto la puerta a una cantidad ingente de pequeños comandos y aplicaciones realmente prácticas. Y ncdu es una de ellas.

Supongo que a la mayoría os ha pasado (a mí sí) que ya esa el ordenador de casa, el del trabajo o algún servidor se queda sin espacio y no sabes el porqué. Borras algún vídeo por aquí, una discografía por allá, unos kernel más allá, pero nada, no es suficiente.

Siempre podemos tirar de los comandos df y du e ir analizando por nuestra cuenta, pero es un poco engorroso para esta tarea. Pues aquí viene ncdu a nuestro rescate.

ncdu viene de (NCurses Disk Usage) y como su nombre indica tiene una interfaz basada en NCurses, como gestor de torrents rtorrent o el navegador web lynx. Esto quiere decir que esta interfaz es para consola, una ventana muy grande para consumir pocos recursos en general y tenerlo disponible en sistemas sin entorno gráfico (servidores).

Lo que hace es analizar recursivamente las carpetas y ficheros del sistema hasta determinar el espacio que ocupa cada una de ellas en los distintos niveles de profundidad y después nos permite navegar a través de las mismas. Es alto tan sencillo y a la vez tan útil como eso.

Nos muestra la jerarquía de directorio inicial con el tamaño ocupado por su contenido en cada una de las carpetas:

ncdu nivel 1

 

Una vez que tenemos identificado un directorio que creemos que tiene un espacio inusual, bajamos al mismo y lo seleccionamos para que nos muestre su contenido. Supongamos que es /lib:

ncdu nivel 2

 

Nos muestra de nuevo los directorios y ficheros que contiene así como su tamaño contenido. Volvemos a repetir la misma operación: vamos al directorio sospechoso y vemos su interior. Supongamos de nuevo que es /lib:

ncdu nivel 3

 

Y repetimos este proceso hasta que damos con un directorio con un espacio de ocupación alto y con ficheros prescindibles o bien simplemente algunos ficheros que podemos borrarlos para hacer hueco y liberar espacio.

Algunas consideraciones o información adicional:

  • La aplicación está en los repositorios oficiales, con lo que es de fácil instalación
  • También nos permite ver información sobre el fichero o directorio, borrarlo, etc
  • Obviamente para que pueda analizar ciertos directorios restringidos, tendréis que lanzarlo con sudo o con un usuario que tenga acceso.
  • Si tenéis un sistema con varios discos duros, o uno con mucho espacio y muchos ficheros, el indexado que hace la aplicación al inicio se puede demorar unos minutos, acorde al número de ficheros.
  • Para evitar lo anterior, podéis restringir la rama de la estructura de directorios a analizar, por ejemplo en lugar de / queremos ver sólo /home, o /home/alvaro.
  • Podéis afinar aún más excluyendo un patrón dado por vosotros.

Para más información respecto a estos últimos puntos y en general, podéis consultar el man del mismo o consultarlo en la página man online de su proyecto.

Espero que os sea tan práctico como me resulta a mí.

¡Hasta la próxima!