ไฟล์เก็บถาวร Tar Gzip (.tar.gz)
POSIX.1 มาตรฐานTar Gzip (.tar.gz หรือ .tgz) รวมไฟล์เก็บถาวร TAR เข้ากับการบีบอัด Gzip และนิยมใช้แจกจ่ายซอฟต์แวร์กับแพ็กไฟล์
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TAR.GZ โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TAR.GZ โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
1F 8B 08การแสดงผลรูปแบบ ASCII: ..\x08
มาตรฐาน: POSIX.1 ustar (ห่อหุ้มด้วย gzip ตาม RFC 1952)
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | สตรีมไฟล์เก็บถาวร POSIX ustar / GNU tar ที่ห่ออยู่ในคอนเทนเนอร์บีบอัด Gzip RFC 1952 |
| การบีบอัด | การบรรจุสองขั้นตอน: ซีเรียลไลซ์ TAR แล้วจึงบีบอัดด้วย DEFLATE |
| การจัดลำดับไบต์ | ซอง Gzip แบบ Little-Endian ที่ห่อบล็อก POSIX tar ฐานแปด |
| พื้นที่สี | ไม่เกี่ยวข้อง (คอนเทนเนอร์ไฟล์เก็บถาวร) |
| ช่องสัญญาณและโครงสร้าง | โครงสร้างไดเรกทอรี Unix หลายไฟล์, ลิงก์สัญลักษณ์, เจ้าของไฟล์ และบิตสิทธิ์ |
| ขนาดสูงสุด | ขนาดไฟล์เก็บถาวรที่สตรีมได้ไม่จำกัด |
| ความโปร่งใส | รักษาโครงสร้างระบบไฟล์และข้อมูลโดยไม่สูญเสียและตรงระดับบิต 100% |
| การสตรีมและแบบโปรเกรสซีฟ | รองรับการส่งข้อมูลผ่านไพป์ตั้งแต่ต้นจนจบ: คลายการบีบอัดและแตกไฟล์พร้อมกันในการอ่านเพียงรอบเดียว |
ตารางเปรียบเทียบทางเทคนิค: TAR.GZ กับคู่แข่ง
| คุณลักษณะทางเทคนิค | TAR.GZ (ปัจจุบัน) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| สิทธิ์การใช้งาน Unix | เก็บข้อมูลเมตา POSIX ที่ไฟล์เก็บและเครื่องมือแตกไฟล์รองรับ | จำกัด / มักสูญหาย | คงแอตทริบิวต์พื้นฐานไว้ | ข้อมูลเมตา POSIX ที่เลือกซึ่งเครื่องมือแตกไฟล์รองรับ |
| อัตราส่วนการบีบอัด | ปานกลาง (Gzip DEFLATE) | ปานกลาง (ZIP DEFLATE) | สูงมาก (LZMA2) | สูง (Bzip2 BWT) |
| ความเร็วในการคลายข้อมูล | เร็ว (~300 MB/s) | เร็ว (~300 MB/s) | ปานกลาง (~100 MB/s) | ช้า (~40 MB/s) |
| มาตรฐานระบบนิเวศ Linux | ค่าเริ่มต้นโอเพนซอร์สสากล | ค่าเริ่มต้นบนเดสก์ท็อปสำหรับผู้ใช้ทั่วไป | รายการโปรดของผู้ที่ชื่นชอบ Windows | การเผยแพร่ซอร์ส Linux รุ่นเก่า |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
บรรทัดคำสั่งรายงานว่า 'gzip: stdin: invalid compressed data--format violated'
สาเหตุหลัก: ไบต์ที่เสียหายในซองจดหมาย Gzip หรือการดาวน์โหลดที่ไม่สมบูรณ์
การกู้คืน: พยายามกู้คืนบางส่วนโดยใช้ File2File.app Archive Extractor หรือ 'tar -izxf broken.tar.gz'
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
คลังไฟล์ TAR.GZ มีทั้งความเสี่ยงจากระเบิดการคลายการบีบอัดและการโจมตีแบบ path traversal หากแตกไฟล์โดยไม่ระมัดระวัง
เวกเตอร์การโจมตีที่ทราบ
- การขยายข้อมูลแบบ zip bomb ซึ่งทำให้ไฟล์ .tar.gz ขนาดเล็กขยายเป็นข้อมูลศูนย์ขนาดหลายเทราไบต์
- การโจมตีแบบ path traversal (เช่น '../../root/.ssh/authorized_keys') เพื่อเขียนทับไฟล์สำคัญที่ต้องใช้สิทธิ์สูง
- การสร้างโหนดอุปกรณ์ที่เป็นอันตรายระหว่างการแตกไฟล์ในฐานะ root
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: แตกไฟล์เก็บถาวรด้วยบัญชีผู้ใช้ที่ไม่มีสิทธิ์พิเศษ และตรวจสอบเส้นทางไฟล์ปลายทางทั้งหมดเพื่อป้องกันการโจมตีแบบ path traversal
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- โครงการซอฟต์แวร์มักเผยแพร่ไฟล์ซอร์สเป็น .tar.gz เพราะ TAR จัดกลุ่มโครงสร้างไดเรกทอรีและ Gzip บีบอัดสตรีม
- .tar.gz บันทึกสิทธิ์และลิงก์สัญลักษณ์ไว้ในชั้น TAR ได้ การกู้คืนขึ้นอยู่กับเครื่องมือแตกไฟล์และระบบปฏิบัติการปลายทาง จึงควรตรวจสอบสิทธิ์หลังแตกไฟล์บนแพลตฟอร์มอื่น
- ดาวน์โหลด คลายการบีบอัด และแตกไฟล์ผ่านไพป์เครือข่ายได้ตลอดทั้งสตรีม โดยไม่ต้องเขียนไฟล์ชั่วคราวลงดิสก์
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- การแตกไฟล์เพียงไฟล์เดียวต้องคลายการบีบอัดไฟล์เก็บถาวรทั้งหมดจนถึงตำแหน่งของไฟล์นั้น
- อัตราการบีบอัดต่ำกว่าทางเลือกสมัยใหม่ เช่น .tar.xz หรือ .tar.zst
- ใช้งานบนระบบ Windows รุ่นเก่าได้ไม่สะดวกเท่ารูปแบบ ZIP ที่รองรับอย่างแพร่หลาย
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- บนระบบ MS-DOS ที่มีข้อจำกัดชื่อไฟล์แบบ 8.3 ชื่อ '.tar.gz' ถูกย่อเหลือ '.tgz'
- ทุกครั้งที่คุณรัน 'npm install' ระบบ npm จะดาวน์โหลดและแตกแพ็กเกจ .tgz (tar.gz) เบื้องหลัง
- ผู้ใช้ Linux มักจำคำสั่งแตกไฟล์ tar.gz ด้วยคำย่อช่วยจำ 'eXtract Ze File': tar -xzf file.tar.gz
คำถามทางเทคนิคที่พบบ่อย
ความแตกต่างระหว่าง .tar.gz และ .zip คืออะไร?
.zip จัดเก็บไฟล์พร้อมไดเรกทอรีกลาง ส่วน .tar.gz นำสตรีม TAR ไปห่อด้วย Gzip การเก็บรักษาข้อมูลเมตาขึ้นอยู่กับไฟล์เก็บและการตั้งค่าการแตกไฟล์
.tgz เหมือนกับ .tar.gz หรือไม่?
ใช่ .tgz เป็นเพียงนามสกุลไฟล์แบบย่อ 3 ตัวอักษรสำหรับ .tar.gz ซึ่งเดิมทีสร้างขึ้นสำหรับระบบปฏิบัติการที่มีข้อจำกัดชื่อไฟล์แบบ 8.3 สั้นๆ เช่น DOS
ฉันจะแตกไฟล์ .tar.gz บน Windows ได้อย่างไร?
คุณสามารถแตกไฟล์ .tar.gz ได้โดยตรงในเว็บเบราว์เซอร์ของคุณโดยใช้ File2File.app โดยไม่ต้องติดตั้ง WinRAR หรือ 7-Zip