ファイルを削除できません:「構造のクリーニングが必要です」


21

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に関連する問題を修正するために私ができることを誰もが知っていますか(もしあれば)?

回答:


23

これは、ファイルシステムの破損を強く示しています。アンマウントし、ディスクのセクターレベルのバックアップを作成してから、e2fsckを実行して、何が起きているのかを確認する必要があります。重大な破損がある場合、e2fsckにデータを改ざんさせる前に、セクタレベルのバックアップを行ったことに満足する場合があります。


あなたが提案したことをしました。e2fsckはいくつかのfsエラーを修正しました。正常に戻ったようです。Thx =)
ロタレティ

たとえばgparted、これを行うなどのGUIを使用することを強くお勧めします。Gpartedはe2fsckをラップします(パーティションをチェックする場合)が、グラフィカルインターフェイスにより、適切なハードディスクを選択しやすくなり、正しい引数でこれらのツールを実行できるようになります。間違った引数を使用すると、データが大幅に失われる危険があります!
Qqwy

6

それが誰かを助けるなら、私は同様の問題を抱えていました(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 ?!

[更新:はい。それはうまくいきました:私のバックアップは再び正常に実行されています!:-)]


2

ファイルシステムが正常に動作していないことがあり、クリーニングが必要な場合があります。これはfsckコマンドで実行できます。ただし、ファイルが破損するリスクを回避するために、マウントされていないパーティションに対してのみfsckを実行する必要があります。

ファイルシステムがext4の場合、次のコマンドを実行してみてください。

fsck -AR -t ext4 -y

0

LinuxシステムでCP1251ファイルシステムをエンコードするときにウィンドウを削除しようとすると、.Trash-0を削除しようとすると、通常エラーになります。したがって、fsは破損していますが、これは改善されません。Linuxから見ると、Windowsのファイルは常に破損しています。しかし、そうではありません。Windows osからこのファイルを開いてみてください。すべてうまくいきます。その後、Windowsで削除します。そして、そのきれいなゴミの後だけ。


1
これは解決策ではありません。LUKSで暗号化されたLUKSドライブです。私の意見では、WindowsからWindowsにアクセスする(または少なくともアクセスを試みる)ことは最良のアイデアではありません。
mrc02_kr

-1

すべて!!proxmoxシェルでこのコマンドを使用してこの問題を修正します

pct stop 100 ##コンテナを停止します

pct fsck 100 ## fsck container、これは問題を修復します。コンテナシステムで破損しているいくつかの問題ファイル

pct start 100 ##コンテナを起動します、OK、今バックアップし、すべてが良いです!!

ありがとう、チャック


1
したがって、答えは次のとおりです。ディスクを使用している可能性のあるソフトウェアをすべて停止し、実行fsckして、ディスクの使用を再開します。これはDepressedDanielの答えとどう違うのですか?
G-Manは「Reinstate Monica」と言います
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.