เหตุใดไฟล์เวอร์ชัน gzip จึงสร้างการตรวจสอบ md5 ที่แตกต่างกัน


28

ฉันมีสี่ไฟล์ที่ฉันสร้างขึ้นโดยใช้ 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เนื่องจากใช้ช่องวันที่ด้านบน


Dammit ฉันเพิ่งคิดออก แต่ฉันปล่อยให้ชั้นหนึ่งคะแนน จากคำตอบของคุณ: D
whoami

คำตอบ:


32

gzipเก็บข้อมูลเมตาของไฟล์ต้นฉบับไว้ในส่วนหัวของบันทึกรวมถึงเวลาในการแก้ไขไฟล์และชื่อไฟล์หากมี ดูสเปครูปแบบไฟล์ GZIP

ดังนั้นจึงคาดว่าgzipไฟล์สองไฟล์ของคุณจะไม่เหมือนกัน คุณสามารถทำงานรอบนี้โดยผ่านธงที่จะหยุดมันจากการรวมทั้งชื่อไฟล์เดิมและเวลาในส่วนหัวgzip-n


4

ไฟล์. gz ทุกไฟล์มีส่วนหัวพร้อมชื่อไฟล์ ... ลองhead test.svn.gzและhead test2.svn.gz


นั่นทำให้ขยะจำนวนมากทั้งหมด ฉันไม่คิดว่าหัวจะทำงานได้ดีใน test.svn.gz
whoami

ในการเริ่มต้นที่คุณสามารถดูชื่อของไฟล์ ...
ม.ค. เร็

1
> head test2.svn.gz F u ; @ h 'N` V D ? Fo
whoami

11
head test2.svn.gz|hexdump -Cจะไม่เลอะ terminal ของคุณ
จ้า

ohhh nice @Mat รักการเรียนรู้คำสั่งใหม่
whoami
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.