Marcio Cunha

Servidor Linux sin espacio? Cómo rastrear archivos con Ncdu

Se congeló tu servidor Linux por falta de espacio en disco? Aprende a usar Ncdu para rastrear archivos pesados visualmente en la terminal de forma rápida.

Marcio Cunha•4 min
También disponible en:PortuguêsEnglish
Resumen
  • La falta de espacio en servidores de producción suele paralizar servicios críticos repentinamente
  • Comandos tradicionales como du exigen cálculos mentales complejos para hallar qué consume disco
  • Ncdu transforma la terminal en una interfaz visual interactiva basada en bloques navegables
  • Limpiar archivos huérfanos sin criterio puede romper aplicaciones dependientes de logs antiguos
  • Automatizar limpiezas preventivas evita que fallas de almacenamiento ocurran durante la madrugada

El pánico del disco lleno en servidores Linux

Trabajar con infraestructura de servidores significa lidiar tarde o temprano con el fatídico mensaje de error que indica que el sistema de archivos está al 100% de su capacidad. En la práctica, esto significa que las aplicaciones dejan de escribir registros, las bases de datos rechazan nuevas transacciones y sistemas enteros entran en colapso. El gran desafío en entornos de producción es diagnosticar la raíz del problema con agilidad, sin perder tiempo ejecutando comandos a ciegas que no revelan dónde se consumió realmente el almacenamiento.

Cuando la alarma de monitoreo se dispara, la primera reacción de muchos administradores es recurrir al clásico comando df -h para verificar qué particiones están agotadas. Sin embargo, df solo muestra una visión macro del almacenamiento, dejando al ingeniero sin saber qué directorio específico está creciendo sin control. Es precisamente en este momento de apuro donde entra en juego Ncdu (NCurses Disk Usage), una herramienta ligera y visual que simplifica drásticamente el análisis de archivos directamente en la terminal.

Por qué los comandos tradicionales fallan bajo presión

Durante una crisis de almacenamiento, la tentación de usar el comando du combinado con sort y head es alta para intentar listar los directorios más grandes del sistema. En la práctica, este enfoque consume muchos ciclos de procesamiento y genera una lista estática y confusa que no permite profundizar en subdirectorios sin escribir nuevos comandos largos. Otra herramienta común, el comando find, ayuda a localizar archivos modificados recientemente, pero requiere parámetros complejos y no ofrece una perspectiva visual intuitiva del consumo total.

Además, el uso incorrecto de herramientas nativas puede enmascarar problemas causados por procesos en ejecución que aún mantienen referencias abiertas a archivos eliminados. En muchos escenarios de emergencia, incluso antes de usar Ncdu, vale la pena verificar si hay residuos bloqueando espacio en disco, algo muy común en entornos que exigen limpiezas complejas como cuando el pipeline falla por falta de espacio y limpiamos Docker para recuperar el respiro de la máquina sin derribar el ecosistema.

Instalando y preparando Ncdu para el análisis

Ncdu se basa en la librería NCurses, lo que significa que dibuja una interfaz gráfica ligera basada en texto directamente en la ventana negra de su terminal SSH. Para instalarlo en distribuciones basadas en Debian o Ubuntu, simplemente ejecute el administrador de paquetes predeterminado del sistema con privilegios administrativos de superusuario.

sudo apt update && sudo apt install ncdu -y

En ecosistemas basados en Red Hat como CentOS o AlmaLinux, el proceso utiliza el administrador dnf o yum de manera equivalente. El consumo de recursos para instalar y ejecutar esta utilidad es prácticamente nulo, lo que la hace segura para uso inmediato incluso en servidores que operan bajo cargas de trabajo muy pesadas y con poca memoria libre.

Navegando por la interfaz visual para hallar los villanos del disco

Una vez instalado, iniciar el escaneo de un directorio específico es sumamente sencillo. Para analizar todo el sistema de archivos a partir de la raíz, basta con invocar el comando apuntando al directorio principal, teniendo en cuenta que un escaneo completo puede tomar unos segundos dependiendo de la velocidad de los discos conectados.

ncdu /var/log

Al abrir la interfaz, Ncdu lista ordenadamente los directorios desde el mayor hasta el menor consumidor de espacio, acompañados de barras visuales intuitivas. Puede usar las teclas de flecha del teclado para navegar hacia arriba y hacia abajo, presionar Enter para entrar en una carpeta específica y ver su contenido interno detallado, o presionar la tecla 'd' para eliminar un archivo o directorio directamente desde la interfaz tras una confirmación de seguridad.

Esta interactividad ágil permite aislar rápidamente archivos de log gigantescos, volcados de bases de datos olvidados o artefactos de compilación antiguos que ocupan valiosos gigabytes. Si encuentra archivos corruptos o claves generadas indebidamente que comprometen la seguridad y el espacio del entorno, el proceso de auditoría manual complementa otras prácticas preventivas de higiene digital, alineándose con estrategias de seguridad como cuando auditamos claves expuestas en el código con Gitleaks para garantizar que ningún dato sensible ocupe espacio innecesario en el repositorio.

Buenas prácticas para evitar que el disco vuelva a llenarse

Encontrar el problema con Ncdu resuelve el síntoma inmediato, pero la verdadera ingeniería de sistemas exige evitar que el incidente se repita la semana siguiente. Es fundamental implementar políticas de rotación de registros usando herramientas nativas del sistema operativo, configurar alertas automáticas de espacio libre a través de plataformas de observabilidad y revisar periódicamente directorios temporales como /tmp y /var/tmp.

En servidores modernos que manejan múltiples servicios en nube y flujos continuos de datos, mantener una rutina de mantenimiento automatizada garantiza estabilidad operacional y tranquilidad para el equipo técnico. El dominio de herramientas ágiles como Ncdu transforma un momento de potencial crisis en un procedimiento quirúrgico rápido y controlado, asegurando que su servidor Linux continúe funcionando con alto rendimiento y sin sorpresas indeseadas.