지난 몇 년 동안(~2000년부터) 저는 가끔씩 디스크 간에 데이터를 이동하고 복사해 왔습니다. 데이터는 MP3, 애플리케이션, 비디오, 백업, 이메일 등 모든 것이며 여러 디스크(및 디스크 어레이!) 및 여러 파일 시스템 FAT, NTFS, ReiserFS, Ext3, Ext4, jfs… 간에 이동/복사되었습니다.
최근에 일부 RAR 아카이브, 일부 실행 파일(실제로는 압축된 아카이브) 및 아직 발견하지 못한 기타 파일이 손상되었다는 사실이 주목되었습니다. 여기에 압축 파일에만 패턴이 있는지는 모르겠습니다. 거기에만 국한되지는 않을 것 같아요.
우선 다음 명령과 함께 find를 사용하여 Linux 파일 서버에 있는 rar 파일의 무결성을 확인했습니다.
unrar t <rar files>
이것은 좋지만 다른 모든 파일(문서, 사진, MP3, WAV, ZIP, 목록은 물론 끝이 없습니다)은 물론 이렇게 모든 아카이브의 무결성을 확인할 수는 없습니다.
여러 가지 방법으로 모든 파일을 확인하고 싶습니다.
파일 시스템 검사는 확실히 좋지만 데이터가 현재 있는 디스크에 복사되기 전에 이미 손상된 경우에는 실제로 도움이 되지 않습니다. 그렇죠? 현재 파일 시스템은 JFS입니다.
두 번째 검사 수준이 MD5 체크섬이 될 수 있습니까? 모든 데이터의 백업이 있고 체크섬 일치를 시도할 수 있지만 손상된 파일로 인해 다른 체크섬이 표시됩니까? 내 데이터의 마지막 복사본 이전에 파일이 손상된 경우에도 문제가 해결되지 않습니다.
마음의 평화를 얻기 위해 또 무엇을 확인할 수 있습니까?
내 데이터를 내 백업과 비교할 때 큰 문제가 있습니다. 살아있는 모든 것과 마찬가지로 내 데이터는 시간이 지남에 따라 "변경"되었으며 백업은 이후에 결코 변경되지 않은 시간의 스냅샷입니다. 우선, 디렉토리 구조가 변경되었고, 파일이 분명히 삭제되었거나 다른 위치로 전송되었습니다. 분명히
find
백업 트리와 현재 트리 사이의 파일을 일치시키기 위해 명령을 사용하는 것은 혼란스러울 것입니다 !
그렇다면 유사한 문제를 해결한 사람이 있고 파일의 색인화된 항목을 빠르게 찾고 사용할 수 있는 스크립트(찾기 또는 기타 사용)를 가지고 있는 사람이 있습니까?
답변1
MD5
/ SHA
체크섬은 요즘 파일 무결성을 확인하는 표준입니다. 체크섬을 생성할 원본이 있거나 이미 체크섬이 있는 경우가장 철저한파일 내용을 확인하는 방법. 그러나 제안한 것만큼 많은 파일이 있으면 지루할 수 있습니다.
또한 , RAR
및 ZIP
파일 7Z
형식에는 내부에 저장된 모든 파일의 CRC32 체크섬이 포함되어야 합니다. 이는 MD5나 SHA보다 약하지만(즉, 손상된 데이터가 감지되지 않을 가능성이 더 높음), 파일을 추출할 때 손상이 있는지, 즉 아카이브가 손상되었는지 감지할 수 있습니다. 아카이브에서 파일을 추출할 때마다 자동으로 확인됩니다. unrar -t <rar files>
기본적으로 아카이브의 각 파일에 대한 CRC32 체크섬을 테스트합니다.
.sfv
또한 아카이브 도구는 아카이브를 구축할 때 아카이브 전체의 추가 CRC32인 파일을 생성하는 옵션을 제공해야 합니다 . 이를 사용하여 아카이브의 무결성을 추가로 확인할 수 있습니다.
한 파일 시스템에서 다른 파일 시스템으로 파일을 복사하는 경우 복사가 성공적이고 올바른지 확인하기 위한 특수 도구를 사용할 수 있습니다. Windows의 경우 TeraCopy
복사를 시작하기 전에 '확인' 옵션을 활성화하면 TeraCopy가 복사된 파일을 다시 읽어 해당 파일이 실제로 디스크의 새 위치에 올바르게 기록되었는지 확인합니다.