Los errores sin una causa clara son los problemas más irritantes que hay que tratar. Y aunque Linux suele ser específico en sus mensajes de error, esta es una de las pocas ocasiones en las que falla.
Recibir el error "No queda espacio en el dispositivo" explica muy poco, especialmente si el disco está lejos de estar lleno. ¿Por qué aparece este mensaje de error? ¿Por qué no puedes crear archivos nuevos a pesar de tener suficiente espacio en el disco? Y lo más importante, ¿cómo se soluciona?
Vamos a descubrirlo.
¿Su disco duro realmente tiene suficiente espacio?
Antes de apresurarse a encontrar una solución, asegúrese de que haya un problema, para empezar. Después de todo, si realmente se ha agotado el espacio en el disco de su sistema, no debe entrar en pánico. Puedes simplemente eliminar datos innecesarios para liberar más espacio.
Hay dos comandos del sistema Linux para obtener información sobre el espacio en disco: du y df. El comando du estima el uso del espacio en disco, mientras que el comando df analiza el espacio libre presente en el disco. Usarlos junto con sudo le brinda un informe preciso de cuánto espacio está realmente disponible en el disco.
Ahora usaremos df para ver cuánto espacio libre hay disponible. El comando df es mucho más sencillo de usar ya que sólo muestra los sistemas de archivos montados y sus estadísticas de uso. Una vez más, usaremos el indicador -h para que la salida sea legible por humanos.
sudo df -h .
La idea es contar los resultados de los comandos du y df. Cualquier discrepancia indica que el espacio en disco no está disponible gratuitamente a pesar de que ningún archivo o carpeta lo utiliza.
¿Por qué Linux muestra "No queda espacio en el dispositivo"?
Si ves el mensaje de error "No queda espacio en el dispositivo" a pesar de tener suficiente espacio libre en tu disco, no es el hardware el culpable. Descubrir la causa exacta del error puede requerir un poco de resolución de problemas.
Solución 1: reiniciar procesos utilizando archivos eliminados
La causa más probable del error "No queda espacio en el dispositivo" es un proceso que todavía utiliza un archivo eliminado. Afortunadamente, corregir este error es fácil. Sólo necesitas reiniciar el proceso para liberar el almacenamiento reservado.
Después de esto, el espacio de almacenamiento retenido por el proceso debería estar disponible nuevamente, lo que le permitirá escribir archivos sin encontrarse con ningún error.
Solución 2: comprobar los inodos
Si bien cada unidad tiene una gran cantidad de inodos, es finita. Y si su sistema está plagado de una increíble cantidad de archivos, es posible alcanzar este límite antes de agotar la capacidad de almacenamiento del disco. Por eso es mejor tener archivos grandes que demasiados pequeños.
Puedes verificar fácilmente la disponibilidad de inodos usando el indicador -i con el comando df. Así:
sudo df -i
Esto indicará 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 sólo se crean al formatear la unidad por primera vez, no hay forma de generar más inodos. Todo lo que puedes hacer es eliminar los archivos innecesarios para liberar inodos para archivos futuros.
Solución 3: marcar bloques defectuosos
La corrupción de datos es el destino inevitable de cualquier disco duro. Si bien una unidad nueva no tendrá este problema, los discos duros más antiguos comenzarán a fallar gradualmente.
Lo que esto significa es que partes del disco duro quedan inutilizables, aunque el sistema de archivos todavía las considera funcionales. Estos bloques defectuosos inflan falsamente el aparente espacio libre en el disco, cuando en realidad no se pueden escribir archivos en ellos. Esto genera el error "No queda espacio en el dispositivo", ya que el sistema operativo intenta y no logra almacenar ningún dato en estas ubicaciones.
No existe una forma real de solucionar este problema, ya que los sectores defectuosos son el resultado del desgaste físico de un disco duro. Lo único que puede hacer es marcar los sectores defectuosos para que el sistema de archivos ya no haga referencia a ellos..
Para hacer esto, debes iniciar desde un CD en vivo, ya que no puedes realizar una verificación del sistema de archivos dentro de una unidad en ejecución. Una vez que hagas eso, simplemente usa el siguiente comando:
sudo fsck -vcck /dev/sda
Esto reemplaza /dev/sda con la ruta de la unidad que desea reparar. Esto detectará automáticamente todos los bloques defectuosos en la unidad y los marcará como inutilizables. Sin embargo, no le brindará capacidad de almacenamiento adicional, así que prepárese para limpiar algunos archivos inútiles para liberar espacio en el disco.
¿Cuál es la mejor manera de solucionar el error "No queda espacio en el dispositivo"?
La razón habitual para ver el error "No queda espacio en el dispositivo" en Ubuntu o cualquier otra distribución de Linux es un archivo eliminado que todavía está siendo utilizado por un proceso en ejecución. Esto reserva el almacenamiento que ocupaba el archivo, evitando que otras operaciones escriban datos en ese espacio.
Solucionar este problema también es lo más fácil, ya que todo lo que necesitas hacer es reiniciar el proceso en cuestión. Las otras causas del error, sin embargo, no son tan fáciles de solucionar.
Ya sea que su disco esté plagado de bloques de datos defectuosos o se haya quedado sin inodos, no existe una forma directa de solucionar estos problemas. Debe eliminar los archivos existentes para dejar espacio para que se escriban nuevos datos.
.