web-dev-qa-db-ja.com

Linuxで破損したディレクトリを削除する方法

破損しているように見えるディレクトリを持つマシンがあります。 ls -lahの出力は次のようになります。

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

これは、SSD上のCentOS 7 VMの有効なディレクトリでした。何が起こったのかわかりませんが、今は削除したいのですが、それは不可能のようです。

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

そして、statもそれを読むことができません:

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

このディレクトリを安全に削除する最も簡単な方法は何ですか?

1
Nagev

破損したdirを削除することはできません。

ファイルシステムをumountし、fsckを実行する必要があります

man 8 fsckによる

fsck-Linuxファイルシステムをチェックして修復します

5
Archemar

一般的な答えが与えられましたが、私の特定のケースでは、このディレクトリはSMB(cifs)マウントポイントとしても使用されていました。これはmountコマンド。したがって、解決策は単純に次のことを行うことでした。

Sudo umount /home/user/dir_name

そして、ディレクトリは再び正常に見え、いつものように削除することができました。

1
Nagev