ฉันต้องการเก็บถาวรไฟล์บางไฟล์อย่างไม่แน่นอนเพื่อให้ได้ไฟล์เก็บถาวรเดียวกันถ้าเนื้อหาของไฟล์เหมือนกัน ฉันต้องการสิ่งนี้สำหรับการทดสอบความเท่าเทียมกันของไฟล์เก็บถาวรในภายหลัง
อย่างไรก็ตาม tar มีข้อมูลเวลาประทับดังนั้นฉันจึงได้รับไฟล์เก็บถาวรที่แตกต่างกันแม้ว่าเนื้อหาของไฟล์จะเหมือนกัน
ฉันจะสร้างไฟล์เก็บถาวร (ด้วย tar, zip หรืออย่างอื่น) ที่ไม่มีข้อมูลการประทับเวลาได้อย่างไร
หมายเหตุ: ฉันรู้ว่าแม้ว่าทั้งสองไฟล์ tar แตกต่างกันผมสามารถละเว้นการประทับเวลาของพวกเขาและเปรียบเทียบเฉพาะเนื้อหาของพวกเขาด้วยเครื่องมือเช่นหรือtar --diff
tarsum
อย่างไรก็ตามฉันไม่ได้รับอนุญาตให้ใช้เครื่องมือภายนอกอื่น ๆ เพื่อเปรียบเทียบ (เนื่องจากการตั้งค่าของฉัน) ฉันสามารถทดสอบไฟล์เก็บถาวรสองไฟล์เพื่อความเท่าเทียมกันที่แน่นอน
หมายเหตุ: ฉันทราบว่าฉันสามารถตั้งค่าการประทับเวลาของไฟล์ทั้งหมดเป็นค่าที่กำหนดก่อนที่จะเก็บถาวรไฟล์ดังนั้นการประทับเวลาของไฟล์จะเหมือนกัน อย่างไรก็ตามมีไฟล์จำนวนมากและฉันไม่ต้องการทำเช่นนี้ ฉันต้องการเก็บถาวรไฟล์เหล่านี้โดยไม่มีข้อมูลการประทับเวลา
ตัวอย่าง:
$ mkdir copy1
$ touch copy1/file1
$ touch copy1/file2
$ sleep 60
$ mkdir copy2
$ touch copy2/file1
$ touch copy2/file2
$ ls -l copy1
total 0
-rw-r--r-- 1 david wheel 0 Oct 27 00:59 file1
-rw-r--r-- 1 david wheel 0 Oct 27 00:59 file2
$ ls -l copy2
total 0
-rw-r--r-- 1 david wheel 0 Oct 27 01:00 file1
-rw-r--r-- 1 david wheel 0 Oct 27 01:00 file2
# the content of those files is the same; they only differ by the their timestamp
$ (cd copy1; tar -cvf ../copy1.tar .)
$ (cd copy2; tar -cvf ../copy2.tar .)
$ tar -tvf copy1.tar
drwxr-xr-x 0 david wheel 0 Oct 27 00:59 ./
-rw-r--r-- 0 david wheel 0 Oct 27 00:59 ./file1
-rw-r--r-- 0 david wheel 0 Oct 27 00:59 ./file2
$ tar -tvf copy2.tar
drwxr-xr-x 0 david wheel 0 Oct 27 01:00 ./
-rw-r--r-- 0 david wheel 0 Oct 27 01:00 ./file1
-rw-r--r-- 0 david wheel 0 Oct 27 01:00 ./file2
$ diff copy1.tar copy2.tar
Binary files copy1.tar and copy2.tar differ
ฉันพยายามzip -X
แทนtar
แต่ได้ผลลัพธ์เดียวกัน