Solución a: “No space left on device” en Linux (aunque haya espacio libre)
Uno de los errores más confusos y frustrantes en Linux es cuando el sistema muestra el mensaje:
No space left on deviceLo peor es que, muchas veces, al revisar el disco parece haber espacio disponible. Este problema es extremadamente común en Debian, Ubuntu, Linux Mint y derivadas, y no siempre tiene que ver con el tamaño del disco. En este artículo te explicamos las causas reales y cómo solucionarlo paso a paso, sin perder datos y sin reinstalar el sistema.
¿Por qué aparece este error si el disco no está lleno?
Las causas más frecuentes son:
- Se agotaron los inodes del sistema de archivos.
- La partición
/bootestá llena. - Logs del sistema crecieron sin control.
- Archivos temporales acumulados.
- Snapshots o cachés que nadie limpió.
Vamos a revisar cada escenario, empezando por el diagnóstico correcto.
1. Verificar el espacio real en disco
Ejecutá:
df -hEsto muestra el espacio usado y disponible. Si ves una partición al 100%, ya encontraste el problema. Pero si parece haber espacio libre, seguí con el siguiente paso.
2. Revisar si se agotaron los inodes (muy común)
Cada archivo consume un inode. Si tenés millones de archivos pequeños (logs, cachés, builds, contenedores), podés quedarte sin inodes aunque sobre espacio.
Comprobalo así:
df -iSi alguna partición aparece con 100% en IUse%, ese es el verdadero motivo del error.
Cómo liberar inodes
Buscar directorios con demasiados archivos:
sudo find / -xdev -type f | wc -lUbicar los más problemáticos:
sudo du -x --inodes -d 3 / | sort -nLimpiar cachés típicas:
sudo rm -rf /var/cache/apt/archives/*
sudo rm -rf ~/.cache/*3. /boot lleno: el culpable silencioso
En sistemas Debian y Ubuntu, es muy común que la partición /boot se llene con kernels antiguos. Cuando esto pasa, APT no puede instalar ni actualizar nada.
Verificá:
df -h /bootListar kernels instalados:
dpkg --list | grep linux-imageEliminar kernels viejos (dejando el actual):
sudo apt autoremove --purgeEsto suele liberar espacio suficiente de inmediato.
4. Logs del sistema fuera de control
Systemd guarda logs que, si no se limpian, pueden ocupar varios gigabytes.
Ver su tamaño:
journalctl --disk-usageLimitar su tamaño:
sudo journalctl --vacuum-size=200MO por tiempo:
sudo journalctl --vacuum-time=7d5. Limpiar archivos temporales
Los directorios temporales también pueden provocar este error.
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*Este paso es seguro en sistemas de escritorio normales.
6. Identificar qué ocupa realmente el espacio
Para encontrar carpetas gigantes:
sudo du -h / --max-depth=2 | sort -hPrestá atención a:
/var/log/var/lib/home
7. Casos especiales: Docker, Flatpak y Snap
Si usás contenedores o paquetes universales, estos directorios pueden crecer mucho:
/var/lib/docker~/.local/share/flatpak/var/lib/snapd
Ejemplos de limpieza:
docker system prune -a
flatpak uninstall --unused
sudo snap remove --purge nombre-del-snapConclusión
El error “No space left on device” no siempre significa que tu disco esté lleno. En la mayoría de los casos, el verdadero problema está en los inodes, en la partición /boot o en archivos del sistema que crecieron sin control. Con un diagnóstico correcto y una limpieza cuidadosa, el sistema vuelve a funcionar en minutos sin necesidad de reinstalar.
Si este error aparece con frecuencia, conviene revisar periódicamente el uso de disco y automatizar limpiezas básicas para evitar futuros dolores de cabeza.
