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

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

破損したディレクトリは削除できません。

umountファイルシステムを再構築し、fsck

に従って man 8 fsck

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

答え2

一般的な回答が与えられましたが、私の特定のケースでは、このディレクトリは SMB (cifs) マウント ポイントとしても使用されており、コマンドで確認できたことを指摘しておきますmount。したがって、解決策は単純に次の操作を実行することでした。

sudo umount /home/user/dir_name

すると、ディレクトリは再び正常に見えるようになり、通常どおり削除できるようになりました。

関連情報