손상된 파일을 삭제하는 방법은 무엇입니까?
Linux(Fedora 기반)에서 다음을 입력하면 ls -l
다음과 같은 결과가 나타납니다 .
drwxr-xr-x. 2 dmiller3 dmiller3 4096 Jul 26 13:57 SomeFile
?????????? ? ? ? 4096 Jul 26 13:57 CorruptedFile
이 손상된 파일로는 아무것도 할 수 없습니다. 삭제나 다른 작업에는 사용할 수 없습니다. 이것은 전체 시스템에서 유일한 파일입니다. 원인은 무엇입니까? 그것을 제거하는 방법?
파일 시스템은 ext2입니다.
답변1
하드 리셋 중에 파일을 쓰는 중이거나 하드 드라이브에 문제가 있을 수 있습니다. a가 fsck
이를 수정해야 합니다(fs가 이를 수행하도록 해야 함 umount
). 하드 드라이브에서 오류가 보고되는지 확인하겠습니다 dmesg
( smartctl -a /dev/hdx
후자는 smartmontools의 일부임). 또한 badblocks
파티션에 대해 비파괴 작업을 실행합니다.
또한 로그가 이와 같은 문제를 해결하는 데 도움이 되므로 ext2를 실행하는 이유를 스스로에게 물어봐야 합니다.
답변2
파일 시스템에서 본 몇 가지 흥미로운 문제는 다음과 같습니다.
- "ls file"을 명시적으로 요청한 경우에만 표시되는 파일은 표시되지만 일반적인 "ls"는 표시되지 않습니다. 다음 파일의 이름에는 "Go up a line"이라는 이스케이프 시퀀스가 있습니다.
- 불가능한 권한/유형이 있는 파일: fsck(8)를 통해 수정하거나 rm(1)을 사용하여 파일을 날려버립니다.
- 디렉토리를 생성하고 여기에 루프를 넣는 범죄자가 만든 매우 깊은 디렉토리 트리: 디렉토리를 끝까지 제거한 다음 루프를 백업하도록 프로그램을 작성해야 합니다.