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

Función Sin Espacio En Dispositivo

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.

Analizador de Disco Sin Espacio En Dispositivo

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/

Du Sin Espacio En Dispositivo

Tomará un tiempo revisar todo. Ahora, intenta con df.

sudodf-h

Df Sin Espacio En Dispositivo

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.

Lsof Sin Espacio En Dispositivo Eliminado

Intenta localizar el proceso.

sudo lsof /|grep deleted

El proceso problemático debería estar listado. Simplemente reinícialo.

sudo systemctl restart service_name

Si no es inmediatamente evidente, haz una recarga completa del daemon.

sudo systemctl daemon-reload

Tambié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/

Inodos Sin Espacio En Dispositivo

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

Obviamente, 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