콘텐츠가 포함된 디렉토리가 있습니다. 복사할 때 손실되는 일이 없는지 확인하기 위해 디렉터리를 압축했고 이제 단일 dir.tar.gz
파일이 생겼습니다.
복사가 여전히 힘들고 파일이 손상되어 있어서 파일을 압축하거나 복사해서 그런건지 궁금해서 crc32
압축파일을 생성했습니다.
해당 디렉토리의 원본 콘텐츠를 생성할 수 없습니다 crc32
. 즉, crc32
해당 디렉토리를 사용할 수 없습니다. 가능합니까?
또한, 이 두 숫자를 비교하여 동일하다면 파일이 손상되지 않았다는 뜻인가요?
답변1
일반적인 Linux 설치에서는 체크섬을 얼마나 "엄격하게" 설정하느냐에 따라 최소한 세 가지 옵션을 제공합니다.
sum
- 빠르고 간단한 체크섬입니다. 암호화적으로 안전하지 않으므로 의도적으로 변조될 수 있지만 파일 복사 오류를 잘 처리해야 합니다.md5sum
(때때로 그냥md5
). 이는 파일의 MD5 기반 체크섬을 계산합니다. 이는sum
에 비해 속도는 느리지만 탄력성은 더 높습니다. MD5 알고리즘이 깨졌지만 쉽지 않습니다.sha1sum
이렇게 하면 SHA1 체크섬이 더 느리게 계산되지만 변조에 가장 강합니다.crc32
이는 모든 시스템에 존재하지 않을 수 있습니다. 이것은 Perl 프로그램입니다.
귀하의 사용 사례에서는 아마도 sum
.
전송 전후의 체크섬을 계산하면 tar.gz
전송이 양호하다는 합리적인 보장을 얻을 수 있습니다( 가장 약하지만 충분히 좋음) sum
.crc32
또 다른 가능성이 있습니다... 데이터를 압축하고 있으므로 다른 쪽에서 사용해 볼 수 있습니다 gzip -dc file.tar.gz > /dev/null
. 오류가 발생하면 파일이 손상된 것입니다. 그렇지 않으면 문제가 없습니다. 파일 크기에 따라 두 번째 파일을 전송할 필요가 없으므로 더 쉬울 수도 있습니다. 그러나 사용 사례에 적합하지 않을 수 있습니다.