Ubuntu
無法刪除文件:“結構需要清理”
我有一個通過 LUKS 加密的外部硬碟驅動器。它包含一個 ext4 fs。
我剛剛從 rsync 收到一個位於此驅動器上的文件的錯誤:
rsync: readlink_stat("/home/some/dir/items.json") failed: Structure needs cleaning (117)
如果我嘗試刪除該文件,我會得到同樣的錯誤:
rm /home/some/dir/items.json rm: cannot remove ‘//home/some/dir/items.json’: Structure needs cleaning
有誰知道我可以做些什麼來刪除文件並修復驅動器/fs 的相關問題(如果有的話)?
這強烈表明文件系統損壞。您應該解除安裝,對磁碟進行扇區級備份,然後執行 e2fsck 以查看發生了什麼。如果存在嚴重損壞,您稍後可能會很高興您在讓 e2fsck 篡改數據之前進行了扇區級備份。
如果它對任何人有幫助,我有一個類似的問題(rsync/rsnapshot 備份,在受影響的文件上)。我在這裡發布了我的問題/解決方案:
https://ubuntuforums.org/showthread.php?t=2348768&p=13627299#post13627299
概括:
arch linux x86_64 系統上的 rsnapshot (rsync) 備份錯誤;一個損壞的、深度嵌套的文件引發了該錯誤,當我嘗試刪除該文件時也顯示了該錯誤:
sudo rm -fR hourly.5/ rm: cannot remove 'hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/victoria.a.stuart@gmail.com/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak': Structure needs cleaning
這是問題所在:
cd mnt/Vancouver/temp/temp\ -\ old/temp\ -\ 09\ \(Dec\ 07\,\ 2014\ -\ Sep\ 02\,\ 2015\)/a_OLD-gmail/victoria.a.stuart@gmail.com/\[Gmail\]/LINUX/rsync\,\ rsnapshot\;\ Other\ backups/ ls -l ls: cannot access '19.bak': Structure needs cleaning total 0 -????????? ? ? ? ? ? 19.bak ## << THAT IS THE PROBLEM!!
[另見:https ://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_structure_needs_cleaning/ ]
我的備份驅動器是 /dev/sda1。
sudo umount /dev/sda1 sudo fsck.ext4 /dev/sda1 ## << accepted suggested fixes
重新啟動:一切似乎都很好。進入備份驅動器,刪除了那個有問題的文件:
/mnt/Backups/rsnapshot_backups/hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/victoria.a.stuart@gmail.com/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak
QED?!
$$ Update: yes; that worked: my backups are running normally, again! :-) $$