GNU/Linux >> Tutoriales Linux >  >> Linux

eliminando archivos pero el espacio en disco todavía está lleno

Dos cosas podrían estar sucediendo aquí.

Primero , su sistema de archivos ha reservado algo de espacio que solo root puede escribir, para que el proceso crítico del sistema no se caiga cuando los usuarios normales se queden sin espacio en disco. Es por eso que ves 124G de 130G usados, pero cero disponibles. Quizás los archivos que eliminó redujeron la utilización hasta este punto, pero no por debajo del umbral para los usuarios normales.

Si esta es tu situación y estás desesperado, puedes modificar la cantidad de espacio reservado para root . Para reducirlo al 1 % (el valor predeterminado es el 5 %), su comando sería

# tune2fs -m 1 /dev/sda3

Segundo , el sistema operativo no liberará espacio en disco para los archivos eliminados que todavía están abiertos. Si eliminó (digamos) uno de los archivos de registro de Apache, deberá reiniciar Apache para liberar espacio.


Si elimina un archivo que está siendo utilizado por un proceso, ya no podrá ver el archivo por ls . El proceso aún está escribiendo en ese archivo hasta que detenga el proceso.

Para ver esos archivos eliminados, simplemente ejecute lsof|grep delete


Otras 2 formas de hacer que el disco esté lleno problema:

1) oculto bajo un punto de montaje: Linux mostrará un disco lleno con archivos "ocultos" bajo un punto de montaje. Si tiene datos escritos en el disco y monta otro sistema de archivos sobre él, Linux toma nota correctamente del uso del disco aunque no pueda ver los archivos debajo del punto de montaje. Si tiene montajes nfs, intente desmontarlos y verifique si se escribió algo accidentalmente en esos directorios antes del montaje.

2) archivos corruptos: Veo esto ocasionalmente en la transferencia de archivos de Windows a Linux a través de SMB. Un archivo no puede cerrar el descriptor de archivo y termina con un archivo de basura de 4GB.

Esto puede ser más tedioso de arreglar, porque necesita encontrar el subdirectorio en el que se encuentra el archivo, pero es fácil de arreglar porque el archivo en sí es fácilmente extraíble. Yo uso el du comando y haga una lista de los subdirectorios raíz para averiguar dónde se está utilizando el espacio de archivos.

cd /
du -sh ./* 

El número de directorios de nivel superior suele ser limitado, por lo que configuro el legible para humanos bandera -h para ver qué subdirectorio es el acaparador de espacio.

Luego, ingresa al niño problemático y repite el proceso para todos los elementos que contiene. Para facilitar la detección de elementos grandes, cambiamos el du ligeramente y lo combinamos con una ordenación.

cd /<suspiciously large dir>
du -s ./* | sort -n

que produce una salida de menor a mayor por tamaño de byte para todos los archivos y directorios

4          ./bin 
462220     ./Documents
578899     ./Downloads
5788998769 ./Grocery List

Una vez que detecte el archivo de gran tamaño, generalmente puede eliminarlo.


Linux
  1. Facl ignorando el permiso "x" pero solo en archivos?

  2. Amazon EC2 - disco lleno

  3. ¿Cómo bloquear un archivo para que no se elimine pero aún así hacer que se pueda escribir?

  4. Eliminación elegante de archivos con más de 30 días de antigüedad

  5. ¿Cómo enumero archivos con rutas completas en Linux?

7 consejos de línea de comandos de Linux para ahorrar espacio en archivos multimedia

5 formas de liberar espacio en disco en Debian 10

Comprender su espacio en disco a través del comando 'df' en Linux

No queda espacio en el dispositivo, pero la partición solo está llena hasta la mitad y los inodos están disponibles

¿Cómo recuperar el almacenamiento de archivos eliminados, pero aún usados ​​en Linux?

Disco lleno, du dice diferente. ¿Cómo investigar más?