Cómo solucionar el error “No hay espacio en el dispositivo” en Linux

La mayoría de las veces, Linux es bastante específico con sus mensajes de error. “Esto no funcionó - intenta instalar este paquete.” Sin embargo, hay uno en particular que realmente no me ayuda mucho: “No hay espacio en el dispositivo.” ¿Qué lo causa? Pensé que tenía 2 TB de almacenamiento, ¿cómo puede estar lleno? ¿Por dónde empiezo a buscar? Hoy, te guiaremos a través de todo eso en nuestra guía sobre cómo solucionar el error “No hay espacio en el dispositivo” en Linux.
También lee: Cómo renombrar archivos fácilmente en Linux
Verifica el espacio disponible en el dispositivo
Antes de continuar, es una buena idea verificar que realmente hay espacio disponible en el disco. Aunque las herramientas en tu entorno de escritorio son buenas, puede ser más rápido usar las herramientas directas desde la línea de comandos.
Si deseas usar las herramientas en tu entorno de escritorio, te darán representaciones fáciles de leer de la información que puedes encontrar con estas herramientas. Estoy usando Fedora con GNOME, y la herramienta GNOME Disk Usage Analyzer me muestra lo siguiente.

Comienza con du. Apúntalo al directorio base en la unidad que está teniendo el problema. Supongamos que es la partición con /.
sudodu-sh/
Tomará un tiempo revisar todo. Ahora, intenta con df.
sudodf-h
Agrega / y los sistemas de archivos montados bajo él. Por ejemplo, si tienes /home en una unidad separada, agrégala con la lectura para /. El total debería estar cerca de lo que tenías con du. Si no, eso podría indicar que hay un archivo eliminado siendo utilizado por un proceso.
Por supuesto, la principal preocupación aquí es si los resultados de estos comandos están por debajo del tamaño de la unidad. Si lo están, obviamente hay algo mal.
También lee: Cómo ejecutar comandos de Bash en segundo plano en Linux
Posibles causas de “No hay espacio en el dispositivo”
Hay un par de causas principales aquí. Si viste una discrepancia entre du y df, puedes saltar a la primera opción aquí. De lo contrario, comienza en la segunda.
Archivo eliminado reservado por un proceso
Ocasionalmente, un archivo será eliminado, pero un proceso aún lo está utilizando. Linux no liberará el almacenamiento asociado con el archivo mientras el proceso aún esté en ejecución, pero puedes encontrar el proceso y reiniciarlo.

Intenta localizar el proceso.
sudo lsof /|grep deletedEl proceso problemático debería estar listado. Simplemente reinícialo.
sudo systemctl restart service_nameSi no es inmediatamente evidente, haz una recarga completa del daemon.
sudo systemctl daemon-reloadTambién lee: Solucionando el error “el nombre de usuario no está en el archivo sudoers. Este incidente será reportado” en Ubuntu
No hay suficientes inodos
Hay un conjunto de metadatos en los sistemas de archivos llamados “inodos.” Los inodos rastrean información sobre los archivos. Muchos sistemas de archivos tienen una cantidad fija de inodos, por lo que es muy posible llenar la asignación máxima de inodos sin llenar el sistema de archivos en sí. Puedes usar df para verificar.
sudodf-i/
Compara los inodos utilizados con el total de inodos. Si no hay más disponibles, desafortunadamente, no puedes obtener más. Elimina algunos archivos inútiles o desactualizados para liberar inodos.
Bloques defectuosos
El último problema común son los bloques defectuosos del sistema de archivos. Los sistemas de archivos pueden corromperse con el tiempo, y los discos duros mueren. Tu sistema operativo probablemente verá esos bloques como utilizables a menos que estén marcados de otra manera. La mejor manera de encontrar y marcar esos bloques es utilizando fsck con la bandera -cc. Recuerda que no puedes usar fsck desde el mismo sistema de archivos que estás probando, así que probablemente necesitarás usar un CD en vivo.
sudo fsck -vcck/dev/sda2Obviamente, reemplaza la ubicación de la unidad con la unidad que deseas verificar. Puedes encontrar eso usando el comando df de antes. Además, ten en cuenta que esto probablemente tomará mucho tiempo, así que prepárate para tomar un café.
También lee: Verifica y repara tu sistema de archivos con fsck [Linux]
Esperamos que una de estas soluciones haya resuelto tu problema. Este problema no es exactamente fácil de diagnosticar en cada instancia. Con un poco de suerte, sin embargo, podrás solucionarlo y hacer que tu sistema funcione normalmente nuevamente.
Si estás buscando más consejos sobre Linux, consulta nuestra guía sobre cómo configurar Bluetooth en Linux. O, para algo un poco diferente, ve cómo instalar el navegador Safari de Mac en Linux. ¡Disfruta!
También lee: 4 formas de clonar un disco duro completo en Linux