Cómo eliminar un directorio corrupto en Linux

Cómo eliminar un directorio corrupto en Linux

Tengo una máquina que tiene un directorio que parece corrupto. La salida de ls -lahes algo como:

???????????  ? ?        ?           ?            ? dir_name

Este solía ser un directorio válido en una máquina virtual CentOS 7 en SSD. No sé que pasó pero ahora solo quiero borrarlo, pero eso no parece posible:

$sudo rm -rf dir_name 
rm: cannot remove ‘dir_name’: Is a directory

Y stattampoco puedo leerlo:

stat dir_name
stat: cannot stat ‘dir_name’: No such device

¿Cuál es la forma más sencilla de eliminar este directorio de forma segura?

Respuesta1

No puede eliminar directorios corruptos.

Debes umountel sistema de archivos y realizar unfsck

según man 8 fsck

fsck: comprueba y repara un sistema de archivos Linux

Respuesta2

Aunque se dio la respuesta genérica, solo quiero señalar que en mi caso particular, este directorio también se usó como punto de montaje SMB (cifs), lo cual pude ver con el mountcomando. Entonces la solución fue simplemente hacer:

sudo umount /home/user/dir_name

Y luego el directorio volvió a verse normal y pude eliminarlo como de costumbre.

información relacionada