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 device

Lo 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.

Las causas más frecuentes son:

  • Se agotaron los inodes del sistema de archivos.
  • La partición /boot está 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.

Ejecutá:

df -h

Esto 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.

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 -i

Si 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 -l

Ubicar los más problemáticos:

sudo du -x --inodes -d 3 / | sort -n

Limpiar cachés típicas:

sudo rm -rf /var/cache/apt/archives/*
sudo rm -rf ~/.cache/*

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 /boot

Listar kernels instalados:

dpkg --list | grep linux-image

Eliminar kernels viejos (dejando el actual):

sudo apt autoremove --purge

Esto suele liberar espacio suficiente de inmediato.

Systemd guarda logs que, si no se limpian, pueden ocupar varios gigabytes.

Ver su tamaño:

journalctl --disk-usage

Limitar su tamaño:

sudo journalctl --vacuum-size=200M

O por tiempo:

sudo journalctl --vacuum-time=7d

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.

Para encontrar carpetas gigantes:

sudo du -h / --max-depth=2 | sort -h

Prestá atención a:

  • /var/log
  • /var/lib
  • /home

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-snap

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.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *