파일을 삭제할 수 없습니다: "구조를 정리해야 합니다."

파일을 삭제할 수 없습니다: "구조를 정리해야 합니다."

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

파일을 삭제하고 드라이브/파일 시스템 관련 문제(있는 경우)를 해결하기 위해 무엇을 할 수 있는지 아는 사람이 있습니까?

답변1

이는 파일 시스템 손상을 강력하게 나타냅니다. 디스크를 마운트 해제하고 디스크의 섹터 수준 백업을 만든 다음 e2fsck를 실행하여 무슨 일이 일어나고 있는지 확인해야 합니다. 심각한 손상이 있는 경우 e2fsck가 데이터를 변조하도록 허용하기 전에 섹터 수준 백업을 수행한 것이 다행일 수 있습니다.

답변2

누구에게나 도움이 된다면 비슷한 문제(영향을 받은 파일에 대한 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/[email protected]/[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/[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!!

[참조: https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_struction_needs_cleaning/]

내 백업 드라이브는 /dev/sda1입니다.

sudo umount /dev/sda1

sudo fsck.ext4 /dev/sda1  ## << accepted suggested fixes
  • fsck편집(2023-02): 참고: 네트워크 연결(RAID) 하드 드라이브인 NAS에서는 이를 실행할 수 없으며 종종 온라인(Amazon; ...)으로 판매되며 NAS 드라이브를 수리하려면 특수 소프트웨어가 필요한 것처럼 보입니다. . NAS HDD에 적용시 fsck파손될 수 있습니다.

다시 시작: 모든 것이 괜찮은 것 같습니다. 백업 드라이브로 이동하여 문제가 있는 파일을 삭제합니다.

/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

퀀텀ED? !

[업데이트: 예, 작동했습니다. 백업이 다시 제대로 작동하고 있습니다! :-)]

답변3

때로는 파일 시스템이 비정상적이어서 정리가 필요한 경우가 있습니다. 이는 다음을 통해 수행할 수 있습니다.FSCK주문하다. 그러나 파일 손상 위험을 방지하려면 마운트되지 않은 파티션에서만 fsck를 실행해야 한다는 점을 기억하십시오.

파일 시스템이 ext4인 경우 다음 명령을 실행해 보십시오.

fsck -AR -t ext4 -y

답변4

파일을 삭제하려고 하면 rsync에서 동일한 오류 메시지가 나타나고 rm에서도 동일한 오류 메시지가 나타납니다. 파일 시스템은 루트 파일 시스템이므로 fsck를 사용할 수 없습니다. 그런데 시스템을 다시 시작했더니 파일이 사라지고 백업이 성공했습니다. 왜 이런 일이 발생하는지 모르겠지만 적어도 쉽게 해결할 수 있으며 먼저 재부팅해 볼 가치가 있습니다.

관련 정보