ไฟล์เก็บถาวร TAR (.tar)

POSIX.1-1988 มาตรฐาน

Tape Archive (TAR) เป็นรูปแบบการจัดแพ็กเกจไฟล์บน Unix และ Linux ที่ใช้กันอย่างแพร่หลาย โดยทำหน้าที่รวบรวมไฟล์ ไดเรกทอรี และเมทาดาทาของระบบไฟล์หลายรายการให้อยู่ในสตรีมแบบไม่บีบอัดสตรีมเดียว ซึ่งได้รับการออกแบบมาสำหรับการสำรองข้อมูลลงเทปแม่เหล็กและการแจกจ่ายซอฟต์แวร์

แปลง ZIP เป็น TAR

ตัวแปลงจาก ZIP เป็น TAR ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

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

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

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

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

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

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

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

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

75 73 74 61 72

การแสดงผลรูปแบบ ASCII: ustar

มาตรฐาน: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

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

สถาปัตยกรรมคอนเทนเนอร์Sequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks
การบีบอัดUncompressed archive container (designed to be piped into gzip, bzip2, xz, or zstd)
การจัดลำดับไบต์ (Byte Endianness)Octal ASCII string fields; big-endian numeric extensions
พื้นที่สีN/A (Archive Container)
ช่องสัญญาณและโครงสร้างUnix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes
ขนาดสูงสุด8 GB limit in classic ustar; practically unlimited in modern PAX format
ความโปร่งใสFull preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes
การสตรีมและแบบโปรเกรสซีฟSequential stream-oriented design: can be written directly to physical magnetic tape drives

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

คุณลักษณะทางเทคนิคTAR (ปัจจุบัน)ZIP7ZCPIO
การบีบอัดข้อมูลแบบเนทีฟไม่มี (คอนเทนเนอร์จัดแพ็กเกจล้วน)มีการบีบอัด Deflate ในตัวมีการบีบอัด LZMA/LZMA2 ในตัวไม่มี (คอนเทนเนอร์จัดแพ็กเกจล้วน)
การรักษาค่าสิทธิ์ Unixแอตทริบิวต์ POSIX 100%, ซิมลิงก์, UID/GIDรองรับสิทธิ์ Unix จำกัดคงสิทธิ์พื้นฐานไว้แอตทริบิวต์ POSIX 100%
การแตกไฟล์แบบสตรีมมิ่งการแตกไฟล์แบบสตรีมเต็มรูปแบบจากพายป์ต้องอ่านไดเรกทอรีกลางที่ EOFต้องอ่านส่วนหัวส่วนท้ายการแตกไฟล์แบบสตรีมเต็มรูปแบบ
การเข้าถึงไฟล์แบบสุ่มช้า (การสแกนเชิงเส้นตามลำดับ)ทันที (ค้นหาไดเรกทอรีกลาง)ปานกลาง (ค้นหาดัชนี)ช้า (การสแกนเชิงเส้นตามลำดับ)

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ข้อผิดพลาดในการแตกไฟล์: 'tar: Skipping to next header' หรือ 'A lone zero block at X'

สาเหตุหลัก: การจัดตำแหน่งบล็อกขนาด 512 ไบต์เสียหาย หรือการสิ้นสุดสตรีมก่อนกำหนด

การกู้คืน: แตกไฟล์ด้วยคำสั่ง 'tar -i' เพื่อข้ามบล็อกที่เสียหาย หรือซ่อมแซมด้วยเครื่องมือ File2File Tar Tool

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

เครื่องมือแตกไฟล์ TAR ต้องตรวจสอบเส้นทางไฟล์เพื่อป้องกันการเขียนทับไฟล์ตามอำเภอใจผ่านการโจมตีแบบท่องไดเรกทอรี (directory traversal)

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

  • การท่องไดเรกทอรีแบบ 'Slip' (เช่น '../etc/passwd') ซึ่งเขียนทับไฟล์ระบบที่สำคัญระหว่างการแตกไฟล์
  • สภาวะแย่งชิงของซิมลิงก์ (Symlink race conditions) ที่สร้างซิมลิงก์ไปยังไดเรกทอรีระบบตามด้วยการเขียนไฟล์
  • การปฏิเสธการให้บริการ (Denial of service) ผ่านลูปฮาร์ดลิงก์แบบวงกลม

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

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

2001มาตรฐาน IEEE POSIX.1-2001 ได้แนะนำมาตรฐาน PAX (Portable Archive Interchange) เพื่อทลายข้อจำกัดขนาด 8 GB แบบเดิม
1988มาตรฐาน IEEE POSIX ได้กำหนดมาตรฐานรูปแบบส่วนหัว 'ustar' (Unix Standard Tar)
1979เปิดตัวครั้งแรกใน Version 7 Unix (V7) โดย Bell Labs เพื่อเขียนโครงสร้างต้นไม้ของไฟล์ลงในไดรฟ์เทปแม่เหล็ก

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

  • คงความสมบูรณ์ของระบบไฟล์ Unix ได้อย่างครบถ้วน: สิทธิ์ POSIX, ซิมลิงก์, ฮาร์ดลิงก์ และความเป็นเจ้าของ
  • การออกแบบที่มุ่งเน้นการสตรีมเทป: สามารถแตกไฟล์ได้โดยตรงจากเครือข่ายพายป์ (network pipe) โดยไม่ต้องเลื่อนไปยังจุดสิ้นสุดของไฟล์
  • มาตรฐานสากลในเซิร์ฟเวอร์ Linux ทุกรุ่น, อิมเมจคอนเทนเนอร์ (Docker/OCI) และการแจกจ่ายซอฟต์แวร์ Unix

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

  • ไม่มีการบีบอัดในตัว: ไฟล์ .tar ที่ไม่ได้บีบอัดจะมีขนาดใกล้เคียงกับไฟล์ดิบรวมกัน
  • การเข้าถึงแบบสุ่มทำได้ช้า: การแตกไฟล์เพียงไฟล์เดียวจากตรงกลางของไฟล์ tar ขนาดใหญ่มหาศาล จำเป็นต้องสแกนตั้งแต่ต้นทาง
  • ส่วนหัว ustar แบบเดิมตัดชื่อไฟล์ที่ยาวเกิน 100 ตัวอักษร (ได้รับการแก้ไขแล้วใน PAX/GNU tar สมัยใหม่)

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • ไบต์วิเศษ (magic bytes) 'ustar' อยู่ที่ออฟเซตไบต์ 257 ภายในบล็อกส่วนหัวขนาด 512 ไบต์ทุกบล็อก
  • เดิมที TAR ถูกเขียนขึ้นเพื่อควบคุมฮาร์ดแวร์ไดรฟ์เทปแม่เหล็กแบบรีลต่อรีล 9 แทร็ก
  • อิมเมจคอนเทนเนอร์ Docker และ OCI คือชุดของคลังเก็บข้อมูลมาตรฐาน .tar ที่ซ้อนกัน ซึ่งบรรจุผลต่างของระบบไฟล์ราก (root filesystem diffs)

คำถามทางเทคนิคที่พบบ่อย

ทำไมไฟล์ .tar ของฉันจึงไม่ถูกบีบอัด?

TAR เป็นเพียงเครื่องมือจัดเก็บไฟล์ (รวมไฟล์หลายไฟล์เป็นไฟล์เดียว) และไม่ได้ทำการบีบอัดในตัว หากต้องการบีบอัด ให้ใช้งานคู่กับ gzip เพื่อสร้างไฟล์ .tar.gz

ความแตกต่างระหว่าง ustar และ GNU tar คืออะไร?

Ustar คือมาตรฐาน POSIX ปี 1988 ที่จำกัดชื่อไฟล์ไว้ที่ 100 ตัวอักษร ในขณะที่ GNU tar เป็นรูปแบบขยายที่รองรับความยาวเส้นทางไม่จำกัดและไฟล์แบบสแปรส์ (sparse files)

ฉันจะเปิดไฟล์ .tar บน Windows ได้อย่างไร?

Windows 10 และ 11 รองรับ tar ในตัวผ่านบรรทัดคำสั่ง ('tar -xf file.tar') หรือคุณสามารถแตกไฟล์แบบเห็นภาพได้ด้วย File2File.app ในเว็บเบราว์เซอร์ของคุณโดยตรง

คู่การแปลงไฟล์ TAR ที่เกี่ยวข้อง

ZIP ไปยัง TAR

การแปลงไฟล์ ZIP ไปเป็น TAR จะเปลี่ยนคอนเทนเนอร์ไฟล์บีบอัดให้เป็นรูปแบบเทปอาร์ไคร์ฟแบบไม่บีบอัด ซึ่งเหมาะสำหรับสภาพแวดล้อมระบบยูนิกซ์ (Unix)

TAR ไปยัง ZIP

การแปลงไฟล์ TAR ไปเป็น ZIP จะเปลี่ยนคอนเทนเนอร์ Unix แบบไม่บีบอัดให้เป็นรูปแบบไฟล์บีบอัดที่เข้าถึงได้สากล

TAR ไปยัง GZ

การแปลงคลังข้อมูล TAR เป็น GZIP จะรวมคอลเลกชันไฟล์ที่ไม่ได้บีบอัดให้เป็นสตรีมบีบอัดเดียวโดยใช้อัลกอริทึม DEFLATE แบบไม่สูญเสียข้อมูล เพื่อลดขนาดไฟล์ลงอย่างมาก

GZ ไปยัง TAR

การแปลงไฟล์บีบอัด GZIP เป็นคลังข้อมูล TAR จะเป็นการถอดชั้นการบีบอัดออกเพื่อให้เห็นชุดไฟล์และโฟลเดอร์ที่ยังไม่บีบอัดและเป็นข้อมูลดิบ