รูปแบบไฟล์เก็บถาวร CAB
ไฟล์เก็บถาวร CAB (Cabinet) ใช้เพื่อจัดทำแพ็กเกจไฟล์และไดเร็กทอรีในรูปแบบบีบอัด ซึ่งช่วยให้คุณสามารถลดขนาดไฟล์และกระจายไฟล์เหล่านั้นได้อย่างสะดวกในคอนเทนเนอร์เดียว รูปแบบนี้มักใช้ในระบบปฏิบัติการ Windows สำหรับแพ็คเกจการติดตั้งและการอัพเดตซอฟต์แวร์
เกี่ยวกับข้อมูลเอกสาร CAB
ไฟล์เก็บถาวร CAB ใช้สำหรับการจัดเก็บและการแจกจ่ายไฟล์อย่างมีประสิทธิภาพ โดยเฉพาะภายในระบบปฏิบัติการ Windows ไฟล์ CAB ใช้อัลกอริธึมการบีบอัดที่หลากหลาย รวมถึง LZX, MSZIP และ Quantum เพื่อลดขนาดของไฟล์ที่มีอยู่ ไฟล์เก็บถาวรเหล่านี้สามารถจัดเก็บไฟล์และไดเร็กทอรีหลายไฟล์ไว้ในไฟล์บีบอัดไฟล์เดียว โดยคงโครงสร้างไดเร็กทอรีไว้ ไฟล์เก็บถาวร CAB มักใช้สำหรับแพ็คเกจการติดตั้งซอฟต์แวร์ การแจกจ่ายไดรเวอร์ และการอัพเดต Windows รองรับลายเซ็นดิจิทัล ทำให้สามารถตรวจสอบความสมบูรณ์และความถูกต้องของไฟล์ภายในไฟล์เก็บถาวรได้
ข้อมูลประวัติ CAB
- พ.ศ. 2537: Microsoft เปิดตัวรูปแบบไฟล์ CAB เพื่ออำนวยความสะดวกในการเผยแพร่แพ็คเกจซอฟต์แวร์และการอัปเดต
- พ.ศ. 2538: ไฟล์ CAB ถูกนำมาใช้ในการติดตั้งแอปพลิเคชันใน Windows 95
- พ.ศ. 2543: ไฟล์ CAB กลายเป็นส่วนสำคัญของเทคโนโลยี Windows Installer (.msi) ซึ่งช่วยในการปรับใช้แอปพลิเคชันบน Windows 2000
- พ.ศ. 2544: รูปแบบ CAB รวมอยู่ใน .NET Framework SDK ซึ่งช่วยเพิ่มอรรถประโยชน์ในสภาพแวดล้อมการพัฒนาต่างๆ
- พ.ศ. 2548: Microsoft ขยายการใช้งาน CAB ด้วยการเปิดตัว Windows XP และ Windows Server 2003 โดยนำไปใช้ในการอัปเดตระบบและการติดตั้งไดรเวอร์
- พ.ศ. 2551: ด้วยการเปิดตัว Windows Vista และ Windows Server 2008 ไฟล์ CAB ยังคงถูกนำมาใช้อย่างกว้างขวางในการอัพเดต Windows และ Service Pack
- 2012: ไฟล์ CAB ได้รับการสนับสนุนในระบบปฏิบัติการ Windows 8 และ Windows Server 2012 โดยยังคงมีบทบาทในการปรับใช้ซอฟต์แวร์และการอัปเดตระบบ
- 2021: ไฟล์ CAB ยังคงเป็นส่วนสำคัญของระบบนิเวศ Windows ซึ่งใช้ในการปรับใช้ไดรเวอร์ การอัปเดตระบบ และการติดตั้งซอฟต์แวร์ใน Windows 11
โครงสร้างของไฟล์ Cabiet
CAB เป็นรูปแบบไฟล์ไบนารีที่ออกแบบมาเพื่อจัดเก็บไฟล์บีบอัดหลายไฟล์ไว้ในไฟล์เดียว ทำให้เหมาะสำหรับการแจกจ่ายและปรับใช้ซอฟต์แวร์ ไฟล์เก็บถาวร CAB ประกอบด้วยองค์ประกอบหลักสามส่วน:
- ส่วนหัว: ส่วนหัวประกอบด้วยข้อมูลเมตาเกี่ยวกับไฟล์เก็บถาวร เช่น จำนวนไฟล์ทั้งหมด จำนวนโฟลเดอร์ และข้อมูลเกี่ยวกับวิธีการบีบอัดที่ใช้
- โครงสร้างโฟลเดอร์: ไฟล์ CAB สามารถมีโครงสร้างโฟลเดอร์ได้หลายโครงสร้าง โดยแต่ละไฟล์แสดงถึงการจัดกลุ่มไฟล์แบบลอจิคัล แต่ละรายการโฟลเดอร์ในไฟล์เก็บถาวร CAB มีข้อมูลเกี่ยวกับไฟล์ที่เก็บและวิธีการบีบอัดที่ใช้
- ข้อมูลไฟล์: ข้อมูลไฟล์จริงจะถูกจัดเก็บไว้ในไฟล์เก็บถาวร CAB ซึ่งบีบอัดโดยใช้อัลกอริธึมที่รองรับหลายตัว โดยปกติข้อมูลสำหรับแต่ละไฟล์จะถูกจัดเก็บไว้ในบล็อก เพื่อให้สามารถบีบอัดและขยายขนาดได้อย่างมีประสิทธิภาพ
วิธีการบีบอัด CAB
ไฟล์เก็บถาวร CAB รองรับวิธีการบีบอัดที่หลากหลายเพื่อจัดเก็บข้อมูลอย่างมีประสิทธิภาพ วิธีการบีบอัดหลัก ได้แก่ :
- MSZIP: อัลกอริธึมการบีบอัดตามอัลกอริธึม DEFLATE ที่ใช้ในไฟล์ ZIP MSZIP ให้ความสมดุลที่ดีระหว่างอัตราส่วนการบีบอัดและความเร็ว ทำให้เป็นตัวเลือกยอดนิยมสำหรับไฟล์ CAB
- ควอนตัม: วิธีการบีบอัดแบบเก่าที่ใช้ในไฟล์ CAB บางไฟล์ ควอนตัมพบได้น้อยในปัจจุบัน แต่ถูกนำมาใช้ในการใช้งานรูปแบบ CAB ก่อนหน้านี้
- LZX: อัลกอริธึมการบีบอัดสูงที่ให้อัตราส่วนการบีบอัดที่ดีกว่าเมื่อเปรียบเทียบกับ MSZIP แต่จะมีต้นทุนในการบีบอัดและคลายการบีบอัดที่ช้ากว่า LZX เหมาะอย่างยิ่งสำหรับการลดขนาดของแพ็คเกจซอฟต์แวร์ขนาดใหญ่และไฟล์การติดตั้ง
- ไม่มีการบีบอัด: ไฟล์ CAB ยังสามารถจัดเก็บข้อมูลที่ไม่มีการบีบอัดได้ ซึ่งมีประโยชน์เมื่อไม่จำเป็นต้องทำการบีบอัดหรือเมื่อต้องการเข้าถึงไฟล์อย่างรวดเร็ว
การดำเนินการที่รองรับ .cab
แม้ว่าปัจจุบัน Aspose.Zip จะไม่มีฟังก์ชันสำหรับการสร้างไฟล์เก็บถาวร CAB แต่ก็สามารถแยกเนื้อหาออกมาได้เป็นเลิศ ต่อไปนี้คือรายละเอียดเกี่ยวกับสิ่งที่คุณสามารถทำได้:
- การแตกไฟล์แบบเต็ม: คุณสามารถใช้ API เพื่อแตกไฟล์และโฟลเดอร์ทั้งหมดจากไฟล์เก็บถาวร CAB
- Selective Extraction: แยกไฟล์หรือโฟลเดอร์เฉพาะตามชื่อหรือตัวกรอง
- การดูแลรักษาโครงสร้างโฟลเดอร์: ไฟล์ที่แยกออกมาจะคงโครงสร้างโฟลเดอร์เดิมไว้ภายในไฟล์ CAB
CAB - โครงสร้างภายใน
รูปแบบไฟล์เก็บถาวร Cabinet (CAB) ได้รับการออกแบบมาเพื่อการบีบอัดและการจัดเก็บไฟล์หลายไฟล์ภายในไฟล์เก็บถาวรเดียวอย่างมีประสิทธิภาพ โดยทั่วไปจะใช้สำหรับการเผยแพร่ซอฟต์แวร์ โดยเฉพาะในสภาพแวดล้อมของ Microsoft ต่อไปนี้เป็นภาพรวมของโครงสร้างของไฟล์เก็บถาวร CAB:
ส่วนหัว: ไฟล์ CAB ขึ้นต้นด้วยส่วนหัวที่มีข้อมูลเมตาที่จำเป็นเกี่ยวกับไฟล์เก็บถาวร เช่น:
- ลายเซ็น: ระบุไฟล์เป็นไฟล์เก็บถาวร CAB (สตริง ASCII “MSCF”)
- ฟิลด์ที่สงวนไว้: ฟิลด์ที่สงวนไว้ต่างๆ สำหรับการใช้งานในอนาคตหรือรายละเอียดการใช้งานเฉพาะ
- ขนาดไฟล์เก็บถาวร: ขนาดรวมของไฟล์ CAB
- จำนวนโฟลเดอร์: ระบุจำนวนโครงสร้างโฟลเดอร์ (กลุ่มโลจิคัลของไฟล์) ที่อยู่ในไฟล์เก็บถาวร
- จำนวนไฟล์: จำนวนไฟล์ทั้งหมดที่จัดเก็บไว้ในไฟล์เก็บถาวร CAB
- ออฟเซ็ตเป็น First CFFOLDER: ชี้ไปที่รายการโฟลเดอร์แรกภายในไฟล์เก็บถาวร
- สงวนไว้: ฟิลด์ที่สงวนไว้เพิ่มเติม
โครงสร้างโฟลเดอร์: ไฟล์ CAB แต่ละไฟล์สามารถมีโครงสร้างโฟลเดอร์ได้หลายโครงสร้าง แต่ละรายการในโฟลเดอร์จะมี:
- ออฟเซ็ต: ตำแหน่งภายในไฟล์ CAB ที่ข้อมูลของโฟลเดอร์นี้เริ่มต้น
- จำนวนบล็อกข้อมูล: ระบุจำนวนบล็อกข้อมูลที่อยู่ในโฟลเดอร์
- ประเภทการบีบอัด: ระบุวิธีการบีบอัดที่ใช้สำหรับไฟล์ในโฟลเดอร์นี้ (เช่น MSZIP, LZX)
รายการไฟล์: ไฟล์เก็บถาวร CAB มีรายการสำหรับแต่ละไฟล์ โดยมีรายละเอียด:
- ขนาดที่ไม่บีบอัด: ขนาดดั้งเดิมของไฟล์ก่อนการบีบอัด
- ออฟเซ็ต: ตำแหน่งภายในไฟล์ CAB ที่ข้อมูลไฟล์บีบอัดเริ่มต้น
- ดัชนีโฟลเดอร์: ระบุโฟลเดอร์ที่เป็นของไฟล์
- คุณสมบัติ: คุณสมบัติไฟล์ (เช่น อ่านอย่างเดียว ซ่อนอยู่)
- ความยาวชื่อไฟล์: ความยาวของชื่อไฟล์
- ชื่อไฟล์: ชื่อของไฟล์
บล็อกข้อมูล: ข้อมูลไฟล์จริงจะถูกจัดเก็บไว้ในบล็อกข้อมูลที่บีบอัด แต่ละบล็อกประกอบด้วย:
- ข้อมูลที่บีบอัด: ข้อมูลไฟล์ที่ถูกบีบอัดตามวิธีการที่ระบุ (เช่น MSZIP, LZX)
- ข้อมูลการบีบอัด: ข้อมูลเมตาที่จำเป็นในการขยายบล็อกข้อมูล เช่น ขนาดดั้งเดิมและขนาดที่บีบอัด
ข้อมูลเสริม: คลังข้อมูล CAB บางแห่งอาจมีข้อมูลเพิ่มเติมสำหรับฟังก์ชันการทำงานเพิ่มเติม เช่น:
- การตรวจสอบความสมบูรณ์: เพื่อตรวจสอบความสมบูรณ์ของไฟล์เก็บถาวร
- ลายเซ็นดิจิทัล: เพื่อรับรองความถูกต้องของไฟล์เก็บถาวร
ความนิยมของ CAB และการสนับสนุน
ไฟล์ CAB ถูกใช้กันอย่างแพร่หลายใน Windows สำหรับการติดตั้งซอฟต์แวร์ อัปเดต และการเผยแพร่ไดรเวอร์ Microsoft มีเครื่องมือเช่น MakeCab, Expand และ DISM เพื่อสร้าง แยก และจัดการไฟล์ CAB ไฟล์ CAB มีการบีบอัดที่มีประสิทธิภาพ ทำงานร่วมกับ Windows Installer และสามารถใช้สำหรับไฟล์เก็บถาวรแบบหลายส่วนได้
ตัวอย่างการใช้ไฟล์ Cabinet
ไฟล์เก็บถาวร CAB จัดเก็บไฟล์ในรูปแบบบีบอัดโดยใช้อัลกอริธึมการบีบอัด เช่น LZX, MSZIP หรือ Quantum อนุญาตให้คุณจัดเก็บหลายไฟล์ในไฟล์เก็บถาวรเดียวในขณะที่ยังคงรักษาโครงสร้างไดเร็กทอรี ด้านล่างนี้คือตัวอย่างโค้ดสำหรับการคลายแพ็กไฟล์เก็บถาวร CAB ใน C#, Java และ Python.Net:
C#
using (var archive = new CabArchive("installer.cab"))
{
archive.ExtractToDirectory(@"C:\extracted");
}
Java
try (CabArchive archive = new CabArchive("installer.cab")) {
archive.extractToDirectory("C:\\extracted");
}
Python.Net
import aspose.zip as az
with az.cab.CabArchive('installer.cab') as archive:
archive.extract_to_directory("C:\\extracted")
ข้อมูลเพิ่มเติม
มีคนถาม
1. ไฟล์ CAB คืออะไร และใช้เพื่ออะไร
ไฟล์ Cabinet เป็นไฟล์เก็บถาวรที่ Microsoft ใช้เป็นหลักเพื่อการแจกจ่ายและการติดตั้งซอฟต์แวร์ ส่วนประกอบของระบบ และไดรเวอร์อย่างมีประสิทธิภาพ รองรับอัลกอริธึมการบีบอัดที่หลากหลาย เช่น MSZIP, Quantum และ LZX เพื่อลดขนาดไฟล์ในขณะที่ยังคงรักษารูปแบบที่มีโครงสร้างและเป็นระเบียบสำหรับการจัดการไฟล์ที่มีอยู่
2. ไฟล์ CAB สามารถแบ่งออกเป็นหลายส่วนได้หรือไม่
ใช่ ไฟล์ CAB รองรับการสร้างไฟล์เก็บถาวรแบบหลายส่วน คุณสมบัตินี้มีประโยชน์สำหรับการกระจายชุดข้อมูลขนาดใหญ่ไปยังไฟล์ CAB ขนาดเล็กหลายไฟล์ ทำให้ง่ายต่อการจัดการและถ่ายโอนข้อมูลจำนวนมาก เมื่อแตกไฟล์ CAB แบบหลายส่วน ทุกส่วนจะต้องมีอยู่และสามารถเข้าถึงได้เพื่อสร้างไฟล์ต้นฉบับขึ้นมาใหม่ได้สำเร็จ
3. ฉันสามารถสร้างไฟล์ CAB ด้วยตัวเองได้หรือไม่
แม้ว่าจะสามารถสร้างไฟล์ CAB ด้วยตนเองได้ แต่โดยทั่วไปจะสะดวกกว่าหากใช้เครื่องมือพิเศษเช่น MakeCab (ยูทิลิตี้ Microsoft) หรือซอฟต์แวร์เก็บถาวรอื่น ๆ ที่รองรับรูปแบบ CAB