Las 3 mejores formas de corregir el error No queda espacio en el dispositivo en Linux

Las 3 mejores formas de corregir el error No queda espacio en el dispositivo en Linux

Los errores sin una causa clara son los problemas más irritantes para tratar con. Y aunque Linux suele ser específico en sus mensajes de error, esta es una de las pocas veces cuando deja caer la pelota.

Obtener un "no queda en el error del dispositivo", explica muy poco, especialmente si su unidad está lejos de ser completa. ¿Por qué se muestra este mensaje de error?? ¿Por qué no puede crear archivos nuevos a pesar de tener suficiente espacio en el disco?? Y lo más importante, ¿cómo lo arreglas??

Tabla de contenido

    Vamos a averiguar.

    1. No se preocupe por todos los mensajes denegados de permiso, así es como se arrastra a través de todos los subdirectorios del sistema. Dependiendo del tamaño de la unidad, es posible que deba dejarlo en funcionamiento por un tiempo, ya que recursivamente pasa por todo.
    1. Cuando DU termine el escaneo, generará una lista simple de directorios junto con sus tamaños. Por ejemplo, esta es la salida del comando du aplicada a un directorio ordinario.

    Ahora usaremos DF para ver cuánto espacio libre está disponible. El comando DF es mucho más simple de usar, ya que solo muestra los sistemas de archivos montados y sus estadísticas de uso. Una vez más, usaremos el indicador -h para hacer que la salida sea humana legible.

    sudo df -h

    La idea es contar los resultados de los comandos DU y DF. Cualquier discrepancia apunta al espacio de disco que no esté disponible gratuitamente a pesar de no ser utilizado por ningún archivo o carpetas.

    ¿Por qué Linux muestra "No queda espacio en el dispositivo"?

    Si está viendo el mensaje de error de "No queda espacio en el dispositivo" a pesar de tener suficiente espacio libre en su disco, no es el hardware que tiene la culpa. Descubrir la causa exacta del error puede tomar un poco de solución de problemas.

    • Archivo eliminado recientemente: La razón más común para ver este error es un archivo eliminado recientemente. A menudo se elimina un archivo mientras un proceso aún lo usa, manteniendo el espacio reservado a pesar de que el archivo ya se ha ido.
    • No hay suficientes inodos: otra causa frecuente es no tener suficientes inodos. Los inodos son las páginas de índice de un sistema de archivos UNIX, que mantienen los metadatos de cada archivo en el almacenamiento. Sin embargo, los inodos no son ilimitados, y se quedan sin inodos antes de que el espacio de almacenamiento pueda darle el error "No queda espacio en el dispositivo".
    • Fallando en el disco duro: Entonces, por supuesto, existe la posibilidad de que el disco duro simplemente esté fallando, y gran parte del espacio libre aparente es ocupado por los malos sectores. Dado que el sistema no puede escribir ningún archivo en estas ubicaciones, arroja un error.

    Corrección 1: Reiniciar procesos utilizando archivos eliminados

    La causa más probable del error de "no queda espacio en el dispositivo" es un proceso que sigue utilizando un archivo eliminado. Afortunadamente, arreglar este error es fácil. Solo necesita reiniciar el proceso para liberar el almacenamiento reservado.

    1. Para encontrar el proceso problemático, debe usar los comandos LSOF y GREP. El comando LSOF le dará una lista de todos los archivos abiertos que se usan ejecutando procesos, y Grep puede reducir la selección a los que se eliminan. Así que ingrese a sudo lsof / | GREP eliminado donde / es el directorio base y | una tubería para vincular la salida de LSOF a GREP.
    1. Ahora puede reiniciar el proceso afectado con el comando SUDO SYSTEMCTL reiniciar Service_Name, donde el nombre del servicio es el nombre del servicio que apareció en la búsqueda.
    1. Si hay múltiples procesos como este o simplemente no desea molestarse en encontrar servicios específicos, puede restablecerlos todos con el comando SUDO SystemCTL Daemon-Re-Reload. Esto regenera todas las dependencias, teniendo en cuenta cualquier cambio en el sistema de archivos.

    Después de esto, el espacio de almacenamiento que mantiene el proceso debe estar disponible nuevamente, lo que le permite escribir archivos sin encontrar ningún error.

    Arreglar 2: verificar inodos

    Si bien cada unidad tiene una gran cantidad de inodos, es finito. Y si su sistema está lleno de una increíble cantidad de archivos, es posible alcanzar este límite antes de agotar la capacidad de almacenamiento de la unidad. Es por eso que es mejor tener archivos grandes en lugar de demasiados pequeños.

    Puede verificar fácilmente la disponibilidad de inodos utilizando el indicador -i con el comando DF. Como esto:

    sudo df -i

    Esto dirá claramente el número total de inodos presentes en el sistema de archivos, junto con la cantidad actualmente en uso. Si no quedan inodos libres en su sistema, esta es la fuente del error "No queda espacio en el dispositivo".

    Como los inodos solo se crean al formatear por primera vez la unidad, no hay forma de generar más inodos. Todo lo que puede hacer es eliminar cualquier archivo innecesario para liberar inodes para futuros archivos.

    FIJO 3: Marque Bad Blocks

    La corrupción de datos es el destino inevitable de cualquier disco duro. Si bien una nueva unidad no se encontrará con este problema, los discos duros más antiguos comenzarán gradualmente a ser "malos".

    Lo que esto significa es que las partes del disco duro se vuelven inutilizables, a pesar de que el sistema de archivos todavía las considera funcionales. Estos bloques malos inflan falsamente el espacio libre aparente en el disco, cuando en verdad no se pueden escribir archivos. Esto lleva a un error de "no queda espacio en el dispositivo", ya que el sistema operativo intenta y no almacena ningún dato en estas ubicaciones.

    No hay una forma real de solucionar este problema, ya que los malos sectores son el resultado del desgaste físico de un disco duro. Lo único que puede hacer es marcar los sectores malos para que el sistema de archivos ya no se haga referencia a ellos.

    Hacer esto requiere que inicie desde un CD en vivo, ya que no puede realizar una verificación del sistema de archivos dentro de una unidad en ejecución. Una vez que haga eso, simplemente use el siguiente comando:

    sudo fsck -vcck /dev /sda

    Esto reemplaza el /dev /sda con la ruta de la unidad que desea reparar. Esto detectará automáticamente todos los bloques malos en la unidad y los marcará como inutilizables. Sin embargo, no le dará ninguna capacidad de almacenamiento adicional, así que prepárese para limpiar algunos archivos inútiles para liberar espacio en la unidad.

    ¿Cuál es la mejor manera de corregir el error "No queda espacio en el dispositivo"??

    La razón habitual para ver un error de "no queda espacio en el dispositivo" en Ubuntu o cualquier otra distribución de Linux es un archivo eliminado que sigue siendo utilizado por un proceso en ejecución. Esto reserva el almacenamiento que estaba ocupado por el archivo, evitando que otras operaciones escriban datos a ese espacio.

    Solucionar este problema también es el más fácil, ya que todo lo que necesita hacer es reiniciar el proceso en cuestión. Las otras causas del error, sin embargo, no son tan fáciles de resolver.

    Si su unidad está plagada de bloques de datos malos o se ha quedado sin inodos, no hay una forma directa de solucionar estos problemas. Debe eliminar los archivos existentes para dejar espacio para que se escriban nuevos datos.