[unix] gzip 버전의 파일이 다른 md5 체크섬을 생성하는 이유

내가 사용하여 만든 네 개의 파일이 있습니다 svndump

test.svn
test2.svn
test.svn.gz
test2.svn.gz

지금 내가 이것을 실행할 때

md5sum test2.svn test.svn test.svn.gz test2.svn.gz

출력은 다음과 같습니다

89fc1d097345b0255825286d9b4d64c3  test2.svn
89fc1d097345b0255825286d9b4d64c3  test.svn
8284ebb8b4f860fbb3e03e63168b9c9e  test.svn.gz
ab9411efcb74a466ea8e6faea5c0af9d  test2.svn.gz

gzip파일을 다르게 압축 하는 이유 는 압축하기 전에 타임 스탬프를 어딘가에 넣는 이유를 이해할 수 없습니다 . 상단의 날짜 필드를 사용 하는 것과 비슷한 문제가있었습니다.mysqldump



답변

gzip사용 가능한 경우 파일 수정 시간 및 파일 이름을 포함하여 원본 파일의 일부 메타 데이터를 레코드 헤더에 저장합니다. GZIP 파일 형식 사양을 참조하십시오 .

따라서 두 gzip파일이 동일하지 않을 것으로 예상 됩니다. 헤더에 원래 파일 이름과 타임 스탬프를 포함하지 않도록 플래그 를 전달 gzip하면 이 문제를 해결할 수 있습니다 -n.


답변

모든에 .gz 파일이 파일의 이름을 가진 헤더가 … 시도 head test.svn.gzhead test2.svn.gz


답변