รูปแบบไฟล์เก็บถาวร TAR
รูปแบบไฟล์เก็บถาวร tar นำเสนอวิธีการจัดเก็บไฟล์ที่เชื่อถือได้ จะรักษาข้อมูลต้นฉบับแบบไบต์ต่อไบต์ โดยเพิ่มส่วนหัวขนาด 512 ไบต์ที่จุดเริ่มต้น ขนาดไฟล์ยังได้รับการปรับขนาดให้พอดีกับบล็อกขนาด 512 ไบต์อีกด้วย สิ่งที่น่าสนใจคือส่วนหัวมีการตรวจสอบในตัวสำหรับการตรวจจับข้อผิดพลาด แม้ว่ายูทิลิตี้ tar มาตรฐานอาจข้ามส่วนหัวที่เสียหาย (และส่งผลให้ไฟล์ที่เกี่ยวข้องตามมาด้วย) แต่ยูทิลิตี้จะยังคงประมวลผลส่วนที่เหลือของไฟล์เก็บถาวรต่อไป เพื่อให้มั่นใจว่าคุณยังคงสามารถเข้าถึงไฟล์ที่ไม่เสียหายได้
เกี่ยวกับข้อมูลเอกสาร TAR
รูปแบบไฟล์ tar ย่อมาจาก “tape archive” ถูกสร้างขึ้นโดยยูทิลิตี้ tar ในระบบ UNIX โดยทำหน้าที่เป็นไฟล์เก็บถาวรเพื่อรวมไฟล์เข้าด้วยกันสำหรับงานต่างๆ เช่น การสำรองข้อมูลหรือการแจกจ่าย ไฟล์ tar ต่างจากรูปแบบไฟล์เก็บถาวรแบบบีบอัด โดยจะเก็บไฟล์หลายไฟล์หรือที่เรียกว่า tarball ในรูปแบบที่ไม่มีการบีบอัด พร้อมด้วยข้อมูลเมตาเกี่ยวกับไฟล์เก็บถาวร แม้ว่าไฟล์ tar จะไม่ถูกบีบอัด แต่ก็สามารถบีบอัดได้โดยใช้ยูทิลิตี้เช่น gzip หรือ bzip2 เพื่อการจัดเก็บและถ่ายโอนที่มีประสิทธิภาพ
เนื่องจากรูปแบบไฟล์ tar เองไม่มีการบีบอัดในตัว ไฟล์ tar มักจะถูกบีบอัดโดยใช้ยูทิลิตี้ภายนอก เช่น gzip, bzip2, XZ (ใช้อัลกอริธึมการบีบอัด 7-Zip / p7zip LZMA / LZMA2), Brotli, Zstandard และเครื่องมือที่คล้ายกัน การบีบอัดนี้ช่วยลดขนาดของไฟล์เก็บถาวรเพื่อการพกพาที่ง่ายขึ้นและการสำรองข้อมูลที่มีประสิทธิภาพ ไฟล์บีบอัดที่เกิดจากกระบวนการนี้อาจมีนามสกุลเดียว เช่น tgz, tbz, txz, tzst หรือนามสกุลคู่ เช่น tar.gz, tar.br, tar.bz2, tar.xz, tar.zst
วิวัฒนาการของรูปแบบไฟล์เก็บถาวร TAR
รูปแบบไฟล์เก็บถาวร tar มีการพัฒนาอยู่ตลอดเวลา คุณสมบัติใหม่ที่เพิ่มเข้ามาในยูทิลิตี้ tar นับตั้งแต่ทศวรรษ 1980 นำไปสู่ส่วนขยายรูปแบบที่มีข้อมูลเพิ่มเติมเพื่อปรับปรุงฟังก์ชันการทำงาน รูปแบบ tar ในยุคแรกๆ ขาดความสอดคล้องกันในวิธีจัดเก็บช่องตัวเลข แต่ได้รับการแก้ไขในเวอร์ชันหลังๆ เพื่อปรับปรุงความสามารถในการพกพา การปรับปรุงนี้เริ่มต้นด้วยมาตรฐาน POSIX แรกสำหรับรูปแบบ tar ในปี 1988
POSIX.1 2001 นำเสนอรูปแบบ “tar แบบขยาย” (หรือที่เรียกว่า tar.h หรือ pax) รูปแบบนี้มีความยืดหยุ่นมากที่สุด โดยผสมผสานฟังก์ชันการทำงานจากข้อกำหนด tar อื่นๆ ช่วยให้ผู้ขายสามารถเพิ่มคุณสมบัติที่กำหนดเองโดยใช้แท็ก แม้ว่าเอกสารประกอบจะเน้นว่าการใช้งาน tar บางประเภทไม่สามารถจัดการรูปแบบนี้ได้อย่างสมบูรณ์แบบ แต่การออกแบบทำให้มั่นใจได้ว่าเครื่องมือใดๆ ที่สามารถอ่านไฟล์เก็บถาวร “ustar” ก็สามารถอ่านไฟล์เก็บถาวร “posix” ส่วนใหญ่ได้เช่นกัน นอกจากนี้ POSIX.1 2001 ได้ขจัดข้อจำกัดขนาดไฟล์ 8 GB ก่อนหน้านี้สำหรับไฟล์เก็บถาวร tar
โครงสร้างทาร์
แก่นของไฟล์เก็บถาวร TAR คือลำดับของบล็อกข้อมูล บล็อกขนาดคงที่เหล่านี้ 512 ไบต์ แต่ละบล็อกจัดเรียงเป็นเส้นตรง เพื่อทำเครื่องหมายจุดสิ้นสุดของไฟล์เก็บถาวร มีสองบล็อกต่อเนื่องกันซึ่งเต็มไปด้วยเลขศูนย์
อย่างไรก็ตาม เมื่อดูตามตรรกะ ไฟล์เก็บถาวร TAR จะเป็นชุดของรายการไฟล์ แต่ละรายการประกอบด้วยหลายบล็อก โดยบล็อกแรกจะเป็นส่วนหัวของรายการเสมอ บล็อกที่เหลือจะจัดเก็บเนื้อหาไฟล์จริง
ภายในส่วนหัวของรายการ
ส่วนหัวของรายการทำหน้าที่เป็นพิมพ์เขียวสำหรับแต่ละไฟล์ภายในไฟล์เก็บถาวร ประกอบด้วยข้อมูลต่อไปนี้
- ชื่อไฟล์ (100 ไบต์): ชื่อของไฟล์ที่จัดเก็บไว้ในรายการนี้
- การอนุญาตไฟล์ (8 ไบต์): การอนุญาตสำหรับการเข้าถึงไฟล์ซึ่งแสดงเป็นสตริงฐานแปด
- รหัสเจ้าของ (8 ไบต์): รหัสผู้ใช้ที่เป็นตัวเลขของเจ้าของไฟล์ (รูปแบบฐานแปด)
- Group ID (8 ไบต์): ID กลุ่มตัวเลขของเจ้าของไฟล์ (รูปแบบฐานแปด)
- ขนาดไฟล์ (12 ไบต์): ขนาดของไฟล์ในรูปแบบฐานแปด
- เวลาที่แก้ไขล่าสุด (12 ไบต์): การประทับเวลาฐานแปดของการแก้ไขไฟล์ครั้งล่าสุด
- Checksum (8 ไบต์): ค่า Checksum ที่ใช้ในการตรวจสอบความสมบูรณ์ของข้อมูลส่วนหัว
- ประเภทไฟล์ (1 ไบต์): ระบุประเภทของไฟล์ที่จัดเก็บ (ไฟล์ปกติ ฮาร์ดลิงก์ หรือลิงก์สัญลักษณ์)
- ชื่อไฟล์ที่ลิงก์ (ความยาวผันแปร): หากรายการเป็นลิงก์ (ฮาร์ดหรือสัญลักษณ์) ฟิลด์นี้จะจัดเก็บชื่อของไฟล์ที่ลิงก์
ประโยชน์ของรูปแบบนี้
- ความสามารถรอบด้าน - TAR เป็นรูปแบบอเนกประสงค์ที่สามารถจัดเก็บไฟล์และไดเร็กทอรีหลายไฟล์ไว้ในไฟล์เก็บถาวรไฟล์เดียว ทำให้เหมาะสำหรับความต้องการในการสำรองข้อมูลและการแจกจ่ายที่หลากหลาย
- การเก็บรักษาคุณลักษณะของไฟล์ TAR จะรักษาคุณลักษณะของไฟล์ที่สำคัญ เช่น สิทธิ์ การเป็นเจ้าของ และการประทับเวลา เพื่อให้มั่นใจว่าข้อมูลที่จัดเก็บถาวรยังคงความสมบูรณ์และความสามารถในการใช้งาน
- ความเรียบง่าย - โครงสร้างของไฟล์ TAR นั้นเรียบง่ายและตรงไปตรงมา ทำให้ง่ายต่อการทำงานและประมวลผล สิ่งนี้ช่วยลดความยุ่งยากในการเขียนโปรแกรมและการทำงานอัตโนมัติของงานที่เกี่ยวข้องกับไฟล์เก็บถาวร TAR
การดำเนินการที่รองรับ TAR Archive
Aspose.ZIP อนุญาตให้ผู้ใช้แยกรายการเฉพาะหรือไฟล์เก็บถาวรทั้งหมด สำหรับ Aspose.ZIP สำหรับ .NET คุณสามารถใช้ TarArchiveClass เพื่อเปิดไฟล์ .tar.gz จากนั้นวนซ้ำรายการต่างๆ และแยกไฟล์เหล่านั้นไปยังตำแหน่งที่ต้องการ สำหรับ Aspose.ZIP สำหรับ Java วิธีการที่คล้ายกันโดยใช้ TarArchive เพื่อเปิดไฟล์ .tar.gz และแยกรายการ
ไฟล์ TAR - โครงสร้างภายใน
ไฟล์เซ็กเมนต์เก็บข้อมูลดิบเกี่ยวกับเซ็กเมนต์ แม้ว่าจะมีประเภทเซ็กเมนต์ที่แตกต่างกัน ไฟล์ TAR จะแยกความแตกต่างระหว่างข้อมูลและเซ็กเมนต์จำนวนมากเท่านั้น เซ็กเมนต์จำนวนมากจะได้รับการบันทึกโดยตรง “ตามที่เป็น” ในไฟล์ TAR
อย่างไรก็ตาม ส่วนข้อมูลได้รับการตรวจสอบเพื่อค้นหาการอ้างอิงถึงส่วนอื่นๆ หรือเนื้อหาไบนารีดิบ ข้อมูลอ้างอิงเหล่านี้จะถูกจัดเก็บเป็นรายการตัวระบุที่ไม่ซ้ำกัน (UUID) ภายในส่วนของข้อมูล ส่วนที่อ้างอิงสามารถอยู่ในไฟล์ TAR ปัจจุบันหรือภายนอกได้
สามารถค้นหาการอ้างอิงภายในได้โดยการตรวจสอบดัชนีของไฟล์ TAR การอ้างอิงภายนอกต้องใช้เครื่องมือภายนอกเพื่อค้นหาส่วนในไฟล์ TAR อื่น รายการส่วนที่อ้างอิงในส่วนข้อมูลจะถูกจัดเก็บไว้ในไฟล์กราฟเพื่อการเรียกค้นที่รวดเร็วยิ่งขึ้น รายการนี้จะถูกเก็บไว้เพื่อเพิ่มประสิทธิภาพกระบวนการค้นหา
โครงสร้างเอกสารเก่าภายใน
- ข้อมูลเมตาของไฟล์ - คล้ายกับไฟล์เก็บถาวร tar แต่ละไฟล์จะจัดเก็บข้อมูลพื้นฐาน เช่น เวลาในการแก้ไขและการอนุญาต อย่างไรก็ตาม ส่วนนี้มีความยืดหยุ่นและอนุญาตให้ละเว้นหรือรวมรายละเอียดเพิ่มเติม เช่น รายการควบคุมการเข้าถึง (ACL) หรือคุณลักษณะเพิ่มเติม (EA) ตามความต้องการของคุณ ขอแนะนำให้รวมฟังก์ชันแฮชที่รัดกุม (เช่น SHA1) สำหรับไฟล์ปกติเพื่อให้มั่นใจในความสมบูรณ์ของข้อมูล
- สตรีมเนื้อหาหลายรายการ - ต่างจากไฟล์เก็บถาวรแบบเดิม ไฟล์สามารถมีสตรีมข้อมูลได้มากกว่าหนึ่งสตรีมภายในไฟล์ข้อมูลภายใน สิ่งนี้มีประโยชน์สำหรับการจัดเก็บแอตทริบิวต์เพิ่มเติมหรือทางแยกทรัพยากรที่เกี่ยวข้องกับไฟล์
- ส่วนหัว - ไฟล์ดัชนีภายในเก็บส่วนหัวของไฟล์ สะท้อนส่วนหัวที่กระจัดกระจายไปทั่วไฟล์ข้อมูลภายใน แต่เมื่อจัดเก็บแยกกัน ส่วนหัวของดัชนีจะต้องอ้างอิงตำแหน่งเริ่มต้นของข้อมูลที่เกี่ยวข้องภายในไฟล์ข้อมูล นอกจากนี้ รายการไดเร็กทอรีในดัชนีจะแสดงรายการไฟล์ที่มีอยู่และออฟเซ็ตที่เกี่ยวข้องภายในดัชนีไฟล์ภายใน
- เหตุผลสำหรับข้อมูลเมตาที่ซ้ำกัน - ตัวเลือกการออกแบบนี้ช่วยให้มั่นใจได้ทั้งการสตรีม/ถอดรหัสข้อมูลที่มีประสิทธิภาพ และการเข้าถึงไฟล์แบบสุ่ม นอกจากนี้ ข้อมูลเมตายังบีบอัดได้ดี ส่งผลให้มีค่าใช้จ่ายในการจัดเก็บข้อมูลน้อยที่สุด การทดสอบแสดงให้เห็นว่าโดยทั่วไปแล้วข้อมูลเมตาจะใช้พื้นที่จัดเก็บข้อมูลน้อยกว่า 0.3% ทำให้การแลกเปลี่ยนนั้นคุ้มค่า
- ส่วนหัวของบล็อก - ส่วนหัวของบล็อก คล้ายกับไฟล์ภายนอก ประกอบด้วยข้อมูลขนาดบล็อกและลำดับตัวระบุที่ไม่ซ้ำกัน
ตัวอย่างการใช้ TAR
Aspose.ZIP API ช่วยให้แยกไฟล์เก็บถาวรในแอปพลิเคชันของคุณได้โดยไม่จำเป็นต้องใช้แอปพลิเคชันบุคคลที่สามอื่นๆ Aspose.ZIP API มีคลาส TarArchive เพื่อทำงานกับไฟล์เก็บถาวร TAR
Add entries to existing TAR archive via C#
All you need to do is open archive for extraction and add entry to archive .
using (TarArchive archive = new TarArchive(“existing.tar”))
{
archive.CreateEntry("one_more.bin", “data.bin”);
archive.Save(“added.tar”);
}
Delete entries from existing TAR archive via .net
Entries of tar archive can be deleted with similar DeleteEntry methods.
using (var archive = new TarArchive("two_files.tar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.tar");
}
Add files to TAR archive without compression
Tar is a file archival format used to group multiple files and directories into a single archive file without compression , unlike formats like ZIP, RAR and others. To create a tar archive without specifying any compression settings, simply use a TarArchive instance.
using (FileStream tarFile = File.Open("joint.tar", FileMode.Create))
{
FileInfo fi1 = new FileInfo("text.txt");
FileInfo fi2 = new FileInfo("picture.png");
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("text.txt", fi1);
archive.CreateEntry("picture.png", fi2);
archive.Save(tarFile);
}
}
![]() | ![]() | ![]() |
---|
ข้อมูลเพิ่มเติมเกี่ยวกับ TAR-archives
มีคนถาม
1. ไฟล์เก็บถาวร TAR คืออะไร
ไฟล์เก็บถาวร TAR ย่อมาจาก Tape Archive เป็นรูปแบบไฟล์ที่ใช้ในการรวมไฟล์และไดเร็กทอรีหลายไฟล์เป็นไฟล์เก็บถาวรไฟล์เดียวโดยไม่มีการบีบอัด โดยทั่วไปจะใช้เพื่อวัตถุประสงค์ในการสำรองและแจกจ่ายในระบบที่ใช้ Unix
2. ประโยชน์ของการเก็บถาวร TAR คืออะไร
TAR นำเสนอความเป็นสากล เนื่องจากเข้ากันได้กับระบบปฏิบัติการและโปรแกรมเก็บถาวรส่วนใหญ่ อำนวยความสะดวกในการแบ่งปันและแลกเปลี่ยนข้อมูลอย่างราบรื่นบนแพลตฟอร์มต่างๆ ความเรียบง่ายอยู่ในโครงสร้างตรงไปตรงมาของไฟล์เก็บถาวร TAR ทำให้สามารถสร้าง แตกไฟล์ และจัดการไฟล์ได้อย่างง่ายดาย นอกจากนี้ TAR ยังมอบประสิทธิภาพด้วยการอนุญาตให้มีการบีบอัดด้วยเครื่องมือภายนอก เช่น gzip หรือ bzip2 ทำให้ผู้ใช้สามารถลดขนาดไฟล์และประหยัดพื้นที่เก็บข้อมูลและแบนด์วิธในระหว่างการส่งข้อมูล
3. ข้อจำกัดบางประการของไฟล์เก็บถาวร TAR คืออะไร
แม้ว่า TAR เป็นรูปแบบไฟล์อเนกประสงค์ที่ใช้กันทั่วไปสำหรับการเก็บถาวรและกระจายไฟล์ในระบบที่ใช้ Unix แต่ก็มีข้อจำกัดบางประการที่ต้องระวัง ประการแรก TAR ไม่มีความสามารถในการบีบอัดในตัว ซึ่งหมายความว่าคุณจะต้องมีเครื่องมือเพิ่มเติม เช่น gzip หรือ bzip2 เพื่อลดขนาดไฟล์ ประการที่สอง การเก็บถาวร TAR ไม่มีคุณลักษณะการเข้ารหัสแบบเนทิฟ ดังนั้น หากคุณต้องการความปลอดภัยของข้อมูล คุณจะต้องพึ่งพาเครื่องมือภายนอกสำหรับการป้องกันด้วยรหัสผ่าน สุดท้ายนี้ TAR มีการสนับสนุนที่จำกัดสำหรับการรักษาคุณลักษณะของไฟล์ เช่น การประทับเวลาและการอนุญาตจากไฟล์ต้นฉบับ ซึ่งอาจส่งผลต่อความสมบูรณ์ของข้อมูลที่จัดเก็บถาวร