파일을 제거 할 수 없습니다 : "구조를 청소해야합니다"


22

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

누구나 파일을 제거하고 drive / fs 관련 문제를 해결하기 위해 내가 할 수있는 일을 알고 있습니까?

답변:


23

이는 파일 시스템 손상을 나타냅니다. 마운트를 해제하고 디스크의 섹터 수준 백업을 만든 다음 e2fsck를 실행하여 무엇이 작동하는지 확인해야합니다. 중대한 손상이있는 경우 나중에 e2fsck가 데이터를 무단 변경하기 전에 섹터 레벨 백업을 수행 한 것에 만족할 수 있습니다.


당신이 제안한 것을 했어. e2fsck가 일부 fs 오류를 수정했습니다. 내가 정상으로 돌아온 것 같습니다. Thx =)
Rotareti

gparted를 들어 GUI를 사용하는 것이 좋습니다 . Gparted는 여전히 e2fsck를 래핑하지만 (파티션을 확인하는 경우) 그래픽 인터페이스를 통해 적절한 하드 디스크를 훨씬 쉽게 선택할 수있을뿐만 아니라 이러한 도구를 올바른 인수로 실행할 수 있습니다. 잘못된 논증으로 심각한 데이터 손실 위험이 있습니다!
Qqwy

7

누군가에게 도움이된다면 비슷한 문제가 있습니다 (영향을받는 파일의 rsync / rsnapshot 백업). 내 문제 / 해결책을 게시했습니다.

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

개요:

아치 리눅스 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 Fs는 항상 손상됩니다. 그러나 그렇지 않습니다. 당신은 Windows OS 에서이 파일을 열어 볼 수 있습니다 모두 잘 될 것입니다. 그런 다음 창에서 제거하십시오. 그 깨끗한 쓰레기 후에야


1
솔루션이 아닙니다. LUKS로 암호화 된 LUKS 드라이브입니다. Windows에서 액세스하거나 최소한 액세스를 시도하는 것이 최선의 생각은 아닙니다.
mrc02_kr

-1

모든!! 내 proxmox 쉘 에서이 명령 으로이 문제를 해결합니다.

pct stop 100 ## 컨테이너를 중지

pct fsck 100 ## fsck container, 컨테이너 시스템에서 손상된 일부 문제 파일에서이 문제를 복구합니다.

pct start 100 ## 컨테이너를 시작합니다. 이제 백업이 완료되었습니다.

고마워, 척


1
따라서 귀하의 대답은 — 디스크를 사용 중일 수있는 소프트웨어를 중지 fsck하고을 실행 한 다음 디스크 사용을 재개하십시오. 이것은 DepressedDaniel의 답변 과 어떻게 다릅니 까?
G-Man, 'Reinstate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.