Tar Gzip 归档 (.tar.gz)

POSIX.1 มาตรฐาน

Tar Gzip (.tar.gz หรือที่รู้จักกันในชื่อ .tgz) คือรูปแบบการแจกจ่ายซอฟต์แวร์มาตรฐานและคลังเก็บข้อมูลของโลก Linux และโอเพนซอร์ส โดยเป็นการผสานการจัดแพ็กเกจ TAR แบบดั้งเดิมของ Unix เข้ากับการบีบอัด Gzip สากล

ตรวจสอบและดู Metadata

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TAR.GZ โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
การรับประกันความเป็นส่วนตัวแบบไม่มีการส่งผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TAR.GZ โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

1F 8B 08

การแสดงผลรูปแบบ ASCII: ..\x08

มาตรฐาน: POSIX.1 ustar (RFC 1952 gzip wrapped)

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์POSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container
การบีบอัดTwo-stage packaging: TAR serialization followed by DEFLATE compression
การจัดลำดับไบต์ (Byte Endianness)Little-Endian gzip envelope wrapping octal POSIX tar blocks
พื้นที่สีN/A (Archive Container)
ช่องสัญญาณและโครงสร้างMulti-file Unix directory trees, symlinks, file ownership, and permission bits
ขนาดสูงสุดUnbounded streaming archive size
ความโปร่งใส100% bit-exact lossless preservation of filesystem structures and data
การสตรีมและแบบโปรเกรสซีฟEnd-to-end pipeable streaming: decompress and extract simultaneously in a single pass

ตารางเปรียบเทียบทางเทคนิค: TAR.GZ กับคู่แข่ง

คุณลักษณะทางเทคนิคTAR.GZ (ปัจจุบัน)ZIP7ZTAR.BZ2
สิทธิ์การใช้งาน Unixคงค่า POSIX ดั้งเดิม 100%จำกัด / มักสูญหายคงแอตทริบิวต์พื้นฐานไว้คงค่า POSIX ดั้งเดิม 100%
อัตราส่วนการบีบอัดปานกลาง (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 Archive Extractor หรือ 'tar -izxf broken.tar.gz'

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

คลังเก็บข้อมูล TAR.GZ รวมความเสี่ยงของทั้งระเบิดการบีบอัด (compression bombs) และการโจมตีแบบท่องไดเรกทอรี หากแตกไฟล์อย่างไม่ระมัดระวัง

เวกเตอร์การโจมตีที่ทราบ

  • การขยายขนาดแบบระเบิด Zip ซึ่งไฟล์ .tar.gz ขนาดเล็กจิ๋วขยายออกเป็นศูนย์ปริมาณเทราไบต์
  • การท่องไดเรกทอรี (เช่น '../../root/.ssh/authorized_keys') เขียนทับไฟล์ที่มีสิทธิ์พิเศษ
  • การสร้างโหนดอุปกรณ์ที่เป็นอันตรายระหว่างการแตกไฟล์ในฐานะ root

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2015สถาปัตยกรรมการแจกจ่ายคอนเทนเนอร์ Docker กำหนดมาตรฐานให้ใช้ภาพ rootfs แบบเลเยอร์ .tar.gz
1996IETF กำหนดมาตรฐานข้อกำหนด Gzip เบื้องต้นเป็น RFC 1952
1993GNU Project แนะนำแฟล็ก 'tar -z' แบบบูรณาการ ซึ่งทำให้ .tar.gz กลายเป็นรูปแบบแพ็กเกจ Linux เริ่มต้น

ข้อได้เปรียบและจุดเด่นสำคัญ

  • มาตรฐานที่ไร้ข้อกังขาสำหรับการเผยแพร่ซอร์สโค้ดโอเพนซอร์ส, แพ็กเกจ Linux และเลเยอร์คอนเทนเนอร์ Docker
  • ผสมผสานการรักษาิทธิ์ POSIX และซิมลิงก์ที่สมบูรณ์ เข้ากับการบีบอัด Gzip ที่รวดเร็วและเชื่อถือได้
  • สตรีมได้เต็มรูปแบบ: สามารถดาวน์โหลด คลายการบีบอัด และแตกไฟล์ผ่านพายป์เครือข่ายโดยไม่ต้องเขียนไฟล์ชั่วคราวลงในดิสก์

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • การแตกไฟล์เพียงไฟล์เดียวต้องคลายการบีบอัดไฟล์เก็บถาวรทั้งหมดจนถึงตำแหน่งของไฟล์นั้น
  • อัตราการบีบอัดต่ำกว่าทางเลือกสมัยใหม่ เช่น .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 จะรวมไฟล์ทั้งหมดเป็นสตรีมเดียวก่อน โดยคงสิทธิ์การใช้งานแบบ Linux และลิงก์สัญลักษณ์ (symlinks) ไว้ครบถ้วน

.tgz เหมือนกับ .tar.gz หรือไม่?

ใช่ .tgz เป็นเพียงนามสกุลไฟล์แบบย่อ 3 ตัวอักษรสำหรับ .tar.gz ซึ่งเดิมทีสร้างขึ้นสำหรับระบบปฏิบัติการที่มีข้อจำกัดชื่อไฟล์แบบ 8.3 สั้นๆ เช่น DOS

ฉันจะแตกไฟล์ .tar.gz บน Windows ได้อย่างไร?

คุณสามารถแตกไฟล์ .tar.gz ได้โดยตรงในเว็บเบราว์เซอร์ของคุณโดยใช้ File2File.app โดยไม่ต้องติดตั้ง WinRAR หรือ 7-Zip