
Tengo una máquina que tiene un directorio que parece corrupto. La salida de ls -lah
es 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 stat
tampoco 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 umount
el 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 mount
comando. 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.