rm -rf サイズとブロック数が 0 のディレクトリ

rm -rf サイズとブロック数が 0 のディレクトリ

私のファイルシステムに削除できないディレクトリがあります。頑張りました

rm -rf 私のディレクトリ

ただし、ディレクトリはまだ存在します。だから私は走った。

統計 My_Directory

次を返します。

-bash-3.2$ stat My_dir
File: `My_dir'
Size: 0             Blocks: 0          IO Block: 4096   directory
Device: 801h/2049d  Inode: 191961      Links: 4294967278
Access: (0777/drwxrwxrwx)  Uid: (   48/  apache)   Gid: (  100/   users)
Access: 2017-02-25 21:49:02.000000000 +0000
Modify: 2017-02-25 22:19:45.000000000 +0000
Change: 2017-02-26 05:03:46.000000000 +0000

ご覧のとおり、ディレクトリには多数のリンクがあり、リンクが破損している可能性があると思いました。そのため、fsckを実行すると問題を直接見つけて解決できると期待しましたが、実行が戻ってきました。

-bash-3.2$ /sbin/fsck /dev/sda1
fsck 1.39 (29-May-2006)
Refusing to operate on read-write mounted device /dev/sda1.

それでは試してください。

/dev/sda1 マウント解除

返品

umount: /my_device: デバイスが使用中です。

完全なfsck操作をバイパスし、他の方法で削除を強制できるかどうか疑問に思います。

(ところで、私はこの世界について少し初心者です)

編集#1

私はコマンドをプッシュするためにsudoを使用しました。しかし、問題は残っています。

アップデートで。破損したフォルダを含むドライブを再起動すると、問題ディレクトリはstatを呼び出した後に次のものを返すように見えます。

File: `My_dir'
Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 191961      Links: 1
Access: (0777/drwxrwxrwx)  Uid: (   48/  apache)   Gid: (  100/   users)
Access: 2016-11-04 10:29:27.000000000 +0000
Modify: 2016-11-04 10:30:06.000000000 +0000
Change: 2016-11-04 10:30:06.000000000 +0000

しかし、実行後

ls -l |少ない

隠された文字をエスケープしようとすると、問題が再び発生します。

File: `My_dir'
Size: 0             Blocks: 0          IO Block: 4096   directory
Device: 801h/2049d  Inode: 191961      Links: 4294967295
Access: (0777/drwxrwxrwx)  Uid: (   48/  apache)   Gid: (  100/   users)
Access: 2016-11-04 10:29:27.000000000 +0000
Modify: 2017-02-26 10:29:15.000000000 +0000
Change: 2017-02-26 10:30:36.000000000 +0000

タイムスタンプとそれがどのように異なるかを確認してください。混乱していますか?

答え1

これはおそらくあなたが探しているよりも基本的な答えです。ただし、まだしていない場合は、あいまいな、予期しない、または愚かなファイル権限の問題が発生しないことを確認するために、sudoを使用するか、rootとして実行することをお勧めします。方法。頑張ってください!

答え2

はい、ファイルシステムが破損しているようです。リカバリまたはライブLinuxを使用してシステムを起動しgrml.orgて再起動しますfsck。ただし、fsckファイルシステムを回復すると、多くのファイルが消去される可能性があることに注意してください。重要なファイルは、rsync事前に別のホストまたはボリュームに保存してください。破損したディレクトリを除外する方が良いです!

# mount -o ro /dev/sda1 /mnt
# rsync -av --exclude="*/My_dir/*" /mnt/ /usb-drive/backup/
# umount /mnt
# fsck /dev/sda1

関連情報