
Eu tenho uma máquina que possui um diretório que parece corrompido. A saída de ls -lah
é algo como:
??????????? ? ? ? ? ? dir_name
Este costumava ser um diretório válido em uma VM CentOS 7 em SSD. Não sei o que aconteceu, mas agora só quero excluí-lo, mas isso não parece possível:
$sudo rm -rf dir_name
rm: cannot remove ‘dir_name’: Is a directory
E stat
também não consigo ler:
stat dir_name
stat: cannot stat ‘dir_name’: No such device
Qual é a maneira mais simples de excluir esse diretório com segurança?
Responder1
Você não pode excluir diretórios corrompidos.
Você deve umount
o sistema de arquivos e executar umfsck
conforme man 8 fsck
fsck – verifica e repara um sistema de arquivos Linux
Responder2
Embora a resposta genérica tenha sido dada, só quero ressaltar que no meu caso particular, este diretório também foi usado como ponto de montagem SMB (cifs), que pude ver com o mount
comando. Então a solução foi simplesmente fazer:
sudo umount /home/user/dir_name
E então o diretório parecia normal novamente e consegui excluí-lo normalmente.