Introducción al problema de espacio lleno en Linux
Uno de los dolores de cabeza más comunes para los administradores de sistemas y usuarios avanzados de Linux es enfrentarse repentinamente al mensaje de No space left on device. A diferencia de otros sistemas operativos, Linux puede dejar de funcionar correctamente e incluso impedir que inicies sesión si la partición raíz (/) alcanza el 100% de su capacidad. En este artículo aprenderás a diagnosticar la causa exacta y a aplicar soluciones definitivas.
Principales causas del almacenamiento saturado en Linux
El agotar el espacio de almacenamiento o los inodos en Linux suele deberse a factores muy específicos:
- Acumulación excesiva de registros o logs del sistema en la ruta
/var/log. - Paquetes y cachés de instalación antiguos retenidos por el gestor de paquetes (APT o YUM).
- Archivos grandes ocultos generados por aplicaciones o volcados de memoria (core dumps).
- Inodos agotados debido a la creación masiva de archivos pequeños (muy común en entornos de desarrollo).
Método 1: Identificar y limpiar archivos pesados con du y ncdu
El primer paso es localizar exactamente dónde se está acumulando la mayor cantidad de datos. Sigue estos pasos para encontrarlos y borrarlos de forma segura:
- Abre tu terminal y ejecuta el siguiente comando para ver el uso general de las particiones:
df -h - Utiliza la herramienta de análisis rápido para la partición raíz:
sudo du -h --max-depth=1 / | sort -hr - Si prefieres una interfaz interactiva, instala y ejecuta
ncducon el comando:sudo apt install ncdu && sudo ncdu / - Navega por los directorios que ocupan más espacio (como
/varo/home) y elimina archivos temporales innecesarios.
Método 2: Vaciar la caché del gestor de paquetes y logs antiguos
Los archivos de registro y los paquetes descargados previamente consumen gigabytes de almacenamiento con el paso del tiempo. Limpia estos elementos ejecutando los siguientes comandos:
- Para distribuciones basadas en Debian/Ubuntu, limpia la caché de APT con:
sudo apt clean && sudo apt autoclean - Elimina paquetes huérfanos que ya no se necesitan usando:
sudo apt autoremove --purge - Reduce el tamaño de los logs del sistema journald reteniendo únicamente los últimos 2 días:
sudo journalctl --vacuum-time=2d
Método 3: Verificar y solucionar el agotamiento de inodos
A veces, df -h muestra espacio libre, pero el sistema sigue indicando que no hay espacio. Esto ocurre cuando se agotan los inodos (la cantidad máxima de archivos que se pueden crear). Compruébalo y arréglalo así:
- Verifica el uso de inodos ejecutando:
df -i - Si el uso de la partición raíz está al 100%, busca directorios con millones de archivos pequeños ejecutando:
sudo find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -nr | head -10 - Elimina los archivos temporales o cachés de sesiones acumulados (por ejemplo, en directorios de caché web o sesiones de PHP) para liberar inodos instantáneamente.