Nie można usunąć pliku: „Struktura wymaga czyszczenia”

22

Mam zewnętrzny dysk twardy, który jest szyfrowany przez LUKS. Zawiera ext4 fs.

Właśnie dostałem błąd z rsync dla pliku znajdującego się na tym dysku:

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

Jeśli spróbuję usunąć plik, pojawia się ten sam błąd:

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

Czy ktoś wie, co mogę zrobić, aby usunąć plik i naprawić związane z nim problemy z dyskiem / systemem plików (jeśli takie istnieją)?

Rotareti
źródło

Odpowiedzi:

23

To mocno wskazuje na uszkodzenie systemu plików. Należy odmontować, wykonać kopię zapasową dysku na poziomie sektora, a następnie uruchomić e2fsck, aby zobaczyć, co jest grane. Jeśli dojdzie do poważnego uszkodzenia, możesz później być szczęśliwy, że zrobiłeś kopię zapasową na poziomie sektora, zanim pozwolisz e2fsck manipulować danymi.

DepressedDaniel
źródło
Zrobiłeś to, co zasugerowałeś. e2fsck naprawił niektóre błędy fs. Wygląda na to, że wróciłem do normy. Thx =)
Rotareti,
Zdecydowanie sugeruję, aby ludzie używali GUI, np. gpartedAby to zrobić. Gparted wciąż otacza e2fsck (w przypadku sprawdzania partycji), ale interfejs graficzny znacznie ułatwia wybór odpowiedniego dysku twardego, a także zapewnia, że ​​uruchamiasz te narzędzia z poprawnymi argumentami. Przy niewłaściwych argumentach ryzykujesz poważną utratą danych!
Qqwy
7

Jeśli to pomaga komukolwiek, miałem podobny problem (kopie zapasowe rsync / rsnapshot, na zagrożonym pliku). Mój problem / rozwiązanie zamieściłem tutaj:

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

STRESZCZENIE:

błąd kopii zapasowej rsnapshot (rsync) w systemie arch. linux x86_64; uszkodzony, głęboko zagnieżdżony plik zgłaszał ten błąd, również wyświetlany, gdy próbowałem usunąć ten plik:

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

Oto 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!!

[Zobacz także: https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_structure_needs_cleaning/ ]

Mój dysk zapasowy to / dev / sda1.

sudo umount /dev/sda1

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

Zrestartowano: wszystko wydaje się w porządku. Udałem się na dysk z kopiami zapasowymi, usunąłem problematyczny plik:

/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

CO BYŁO DO OKAZANIA?!

[Aktualizacja: tak; działało: moje kopie zapasowe działają normalnie, znowu! :-)]

Victoria Stuart
źródło
2

Systemy plików czasami nie są w porządku i wymagają czyszczenia. Można to zrobić za pomocą polecenia fsck . Pamiętaj jednak, że musisz uruchomić fsck tylko na odmontowanych partycjach, aby uniknąć ryzyka uszkodzenia plików.

Jeśli twój system plików to ext4, spróbuj uruchomić następującą komendę:

fsck -AR -t ext4 -y
Ayush Goyal
źródło
0

To jest zwykły błąd podczas próby usunięcia .Trash-0, jeśli spróbujesz usunąć okna w kodowaniu systemu plików CP1251 w systemie Linux. Więc fs jest uszkodzony, ale to nie ma znaczenia. Fs systemu Windows zawsze jest uszkodzony, jak wynika z systemu Linux. Ale tak nie jest. Możesz spróbować otworzyć ten plik z systemu Windows. Wszystko będzie dobrze. A następnie usuń go w systemie Windows. I dopiero po tych czystych śmieciach.

Bodziec
źródło
1
To nie jest rozwiązanie: to dysk LUKS zaszyfrowany za pomocą LUKS. Uzyskiwanie dostępu (lub przynajmniej próba dostępu) z systemu Windows nie jest moim zdaniem najlepszym pomysłem.
mrc02_kr
-1

wszystko!! Naprawiam ten problem za pomocą tego polecenia w mojej powłoce proxy

pct stop 100 ## stop pojemnik

pct fsck 100 ## fsck kontener, to naprawia problem, w niektórych przypadkach pliki są uszkodzone w systemie kontenerów

pct start 100 ## uruchom kontener, ok, teraz wykonaj kopię zapasową i wszystko jest w porządku !!

Dzięki wszystkim, Chuck

Głaskanie pod brodę
źródło
1
Twoja odpowiedź brzmi - zatrzymaj wszelkie oprogramowanie, które może korzystać z dysku, uruchom fscki wznów korzystanie z dysku. Czym różni się to od odpowiedzi DepressedDaniel ?
G-Man mówi „Przywróć Monikę”