Datei kann nicht entfernt werden: "Struktur muss gereinigt werden"

21

Ich habe eine externe Festplatte, die über LUKS verschlüsselt ist. Es enthält eine ext4 fs.

Ich habe gerade einen Fehler von rsync für eine Datei erhalten, die sich auf diesem Laufwerk befindet:

rsync: readlink_stat("/home/some/dir/items.json") failed: Structure needs cleaning (117)

Wenn ich versuche, die Datei zu löschen, erhalte ich den gleichen Fehler:

rm /home/some/dir/items.json
rm: cannot remove ‘//home/some/dir/items.json’: Structure needs cleaning

Weiß jemand, was ich tun kann, um die Datei zu entfernen und verwandte Probleme mit dem Laufwerk / fs zu beheben (falls vorhanden)?

Rotareti
quelle

Antworten:

23

Dies weist stark auf eine Beschädigung des Dateisystems hin. Sie sollten die Bereitstellung aufheben, eine Sicherungskopie Ihrer Festplatte auf Sektorebene erstellen und dann e2fsck ausführen, um festzustellen, was gerade läuft. Bei schwerwiegenden Beschädigungen können Sie später froh sein, dass Sie eine Sicherung auf Sektorebene durchgeführt haben, bevor Sie e2fsck die Daten manipulieren ließen.

DepressedDaniel
quelle
Haben Sie getan, was Sie vorgeschlagen haben. e2fsck hat einige fs-Fehler behoben. Scheint, als wäre ich wieder normal. Thx =)
Rotareti
Ich empfehle dringend, Benutzeroberflächen zu verwenden gparted, um dies zu tun. Gparted bricht immer noch e2fsck ab (wenn eine Partition überprüft wird), aber die grafische Oberfläche erleichtert die Auswahl der richtigen Festplatte erheblich und stellt sicher, dass Sie diese Tools mit den richtigen Argumenten ausführen. Mit den falschen Argumenten riskieren Sie einen schweren Datenverlust!
Qqwy
6

Wenn es jemandem hilft, hatte ich ein ähnliches Problem (rsync / rsnapshot-Sicherungen für eine betroffene Datei). Ich habe mein Problem / meine Lösung hier gepostet:

https://ubuntuforums.org/showthread.php?t=2348768&p=13627299#post13627299

ZUSAMMENFASSUNG:

rsnapshot (rsync) backup error auf dem arch linux x86_64 system; Eine beschädigte, tief verschachtelte Datei hat diesen Fehler ausgelöst, der auch angezeigt wurde, als ich versuchte, diese Datei zu löschen:

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/[email protected]/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak': Structure needs cleaning

Hier ist das Problem:

cd mnt/Vancouver/temp/temp\ -\ old/temp\ -\ 09\ \(Dec\ 07\,\ 2014\ -\ Sep\ 02\,\ 2015\)/a_OLD-gmail/[email protected]/\[Gmail\]/LINUX/rsync\,\ rsnapshot\;\ Other\ backups/

ls -l

ls: cannot access '19.bak': Structure needs cleaning
total 0
-????????? ? ? ? ?  ? 19.bak        ## << THAT IS THE PROBLEM!!

[Siehe auch: https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_structure_needs_cleaning/ ]

Mein Sicherungslaufwerk ist / dev / sda1.

sudo umount /dev/sda1

sudo fsck.ext4 /dev/sda1  ## << accepted suggested fixes

Neustart: alles scheint in Ordnung. Ging in Backup-Laufwerk, löschte diese problematische Datei:

/mnt/Backups/rsnapshot_backups/hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/[email protected]/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak

QED ?!

[Update: ja; das hat funktioniert: meine backups laufen wieder normal! :-)]

Victoria Stuart
quelle
2

Dateisysteme sind manchmal nicht in Ordnung und müssen gereinigt werden. Dies kann mit dem Befehl fsck erfolgen . Denken Sie jedoch daran, dass Sie fsck nur für nicht gemountete Partitionen ausführen müssen, um das Risiko einer Dateibeschädigung zu vermeiden.

Wenn Ihr Dateisystem ext4 ist, versuchen Sie, diesen Befehl auszuführen:

fsck -AR -t ext4 -y
Ayush Goyal
quelle
0

Es ist ein normaler Fehler, wenn Sie versuchen, .Trash-0 zu entfernen, wenn Sie versuchen, Windows beim Codieren des CP1251-Dateisystems auf einem Linux-System zu entfernen. Fs ist also korrupt, aber das geht nicht. Fs von Windows immer korrupt wie von Linux zu sehen. Ist aber nicht so. Sie können versuchen, diese Datei von Windows OS zu öffnen. Alles wird gut. Und entfernen Sie es dann in Windows. Und erst danach sauberen Müll.

Ansporn
quelle
1
Es ist keine Lösung: Es ist ein mit LUKS verschlüsseltes LUKS-Laufwerk. Es ist meiner Meinung nach nicht die beste Idee, von Windows aus darauf zuzugreifen (oder es zumindest zu versuchen).
mrc02_kr
-1

alle!! Ich behebe dieses Problem mit diesem Befehl in meiner Proxmox-Shell

pct stop 100 ## Stoppen Sie den Container

pct fsck 100 ## fsck container, dies behebt das Problem bei einigen Problemen, die auf dem Containersystem beschädigt sind

pct start 100 ## starte den container, ok, jetzt backup und alles ist gut !!

Vielen Dank, Chuck

Futter
quelle
1
Ihre Antwort lautet also: Stoppen Sie alle Programme, die die Festplatte verwenden fsck, und führen Sie sie aus. Setzen Sie die Arbeit mit der Festplatte fort. Wie unterscheidet sich das von der Antwort von DepressedDaniel ?
G-Man sagt, dass Monica