Định dạng lưu trữ CAB

Kho lưu trữ CAB (Nội các) được sử dụng để đóng gói các tệp và thư mục ở định dạng nén, cho phép bạn giảm kích thước tệp và phân phối chúng một cách thuận tiện trong một vùng chứa. Định dạng này thường được sử dụng trong hệ điều hành Windows cho các gói cài đặt và cập nhật phần mềm.

Giới thiệu về thông tin lưu trữ CAB

Lưu trữ CAB được sử dụng để lưu trữ và phân phối tệp hiệu quả, đặc biệt là trong hệ điều hành Windows. Các tệp CAB sử dụng nhiều thuật toán nén khác nhau, bao gồm LZX, MSZIP và Quantum, để giảm kích thước tệp chứa trong đó. Các kho lưu trữ này có thể lưu trữ nhiều tệp và thư mục trong một tệp nén duy nhất, duy trì cấu trúc thư mục. Kho lưu trữ CAB thường được sử dụng cho các gói cài đặt phần mềm, phân phối trình điều khiển và cập nhật Windows. Chúng hỗ trợ chữ ký số, cho phép xác minh tính toàn vẹn và xác thực của các tệp trong kho lưu trữ.

Thông tin lịch sử CAB

  • 1994: Định dạng file CAB được Microsoft giới thiệu nhằm tạo điều kiện thuận lợi cho việc phân phối các gói phần mềm và bản cập nhật.
  • 1995: File CAB được sử dụng trong việc cài đặt ứng dụng trên Windows 95.
  • 2000: Các file CAB trở thành một phần không thể thiếu của công nghệ Windows Installer (.msi), hỗ trợ việc triển khai các ứng dụng trên Windows 2000.
  • 2001: Định dạng CAB được đưa vào .NET Framework SDK, nâng cao tiện ích của nó trong các môi trường phát triển khác nhau.
  • 2005: Microsoft mở rộng việc sử dụng CAB với việc phát hành Windows XP và Windows Server 2003, sử dụng chúng trong các bản cập nhật hệ thống và cài đặt trình điều khiển.
  • 2008: Với sự ra đời của Windows Vista và Windows Server 2008, các file CAB tiếp tục được sử dụng rộng rãi trong các bản cập nhật và gói dịch vụ của Windows.
  • 2012: Các tệp CAB được hỗ trợ trong hệ điều hành Windows 8 và Windows Server 2012, duy trì vai trò của chúng trong việc triển khai phần mềm và cập nhật hệ thống.
  • 2021: Các tệp CAB vẫn là một phần quan trọng trong hệ sinh thái Windows, được sử dụng trong việc triển khai trình điều khiển, cập nhật hệ thống và cài đặt phần mềm trong Windows 11.

Cấu trúc file Cabiet

CAB là định dạng tệp nhị phân được thiết kế để lưu trữ nhiều tệp nén trong một tệp duy nhất, giúp nó phù hợp cho việc phân phối và triển khai phần mềm. Một kho lưu trữ CAB bao gồm ba thành phần chính:

  1. Tiêu đề: Tiêu đề chứa siêu dữ liệu về kho lưu trữ, chẳng hạn như tổng số tệp, số lượng thư mục và thông tin về các phương pháp nén được sử dụng.
  2. Cấu trúc thư mục: Tệp CAB có thể chứa nhiều cấu trúc thư mục, mỗi cấu trúc đại diện cho một nhóm tệp logic. Mỗi mục nhập thư mục trong kho lưu trữ CAB chứa thông tin về các tệp mà nó lưu giữ và phương pháp nén được sử dụng.
  3. Dữ liệu tệp: Dữ liệu tệp thực tế được lưu trữ trong kho lưu trữ CAB, được nén bằng một trong một số thuật toán được hỗ trợ. Dữ liệu cho mỗi tệp thường được lưu trữ theo khối, cho phép nén và giải nén hiệu quả.

Phương pháp nén CAB

Kho lưu trữ CAB hỗ trợ nhiều phương pháp nén khác nhau để lưu trữ dữ liệu một cách hiệu quả. Các phương pháp nén chính bao gồm:

  1. MSZIP: Thuật toán nén dựa trên thuật toán DEFLATE được sử dụng trong các tệp ZIP. MSZIP cung cấp sự cân bằng tốt giữa tỷ lệ nén và tốc độ, khiến nó trở thành lựa chọn phổ biến cho các tệp CAB.
  2. Lượng tử: Một phương pháp nén cũ hơn được sử dụng trong một số tệp CAB. Lượng tử ngày nay ít phổ biến hơn nhưng đã được sử dụng trong các triển khai định dạng CAB trước đó.
  3. LZX: Thuật toán nén cao cung cấp tỷ lệ nén tốt hơn so với MSZIP nhưng phải trả giá bằng tốc độ nén và giải nén chậm hơn. LZX rất phù hợp để giảm kích thước của các gói phần mềm và tệp cài đặt lớn.
  4. Không nén: Tệp CAB cũng có thể lưu trữ dữ liệu không nén, điều này rất hữu ích khi không cần nén hoặc khi cần truy cập nhanh vào tệp.

Hoạt động được hỗ trợ .cab

Mặc dù Aspose.Zip hiện không cung cấp các chức năng để tạo kho lưu trữ CAB, nhưng nó rất xuất sắc trong việc trích xuất nội dung của chúng. Dưới đây là bảng phân tích những gì bạn có thể đạt được:

  • Trích xuất đầy đủ: Bạn có thể sử dụng API để trích xuất tất cả các tệp và thư mục từ kho lưu trữ CAB.
  • Selective Extraction: Trích xuất các tập tin hoặc thư mục cụ thể dựa trên tên hoặc bộ lọc.
  • Duy trì cấu trúc thư mục: Các tệp được giải nén vẫn giữ nguyên cấu trúc thư mục gốc trong kho lưu trữ CAB.

CAB - Cấu trúc bên trong

Định dạng lưu trữ Nội các (CAB) được thiết kế để nén và lưu trữ hiệu quả nhiều tệp trong một kho lưu trữ duy nhất. Nó thường được sử dụng để phân phối phần mềm, đặc biệt là trong môi trường Microsoft. Dưới đây là tổng quan về cấu trúc của kho lưu trữ CAB:

  1. Tiêu đề: Tệp CAB bắt đầu bằng tiêu đề chứa siêu dữ liệu cần thiết về kho lưu trữ, chẳng hạn như:

    • Chữ ký: Xác định file là kho lưu trữ CAB (chuỗi ASCII “MSCF”).
    • Trường dành riêng: Các trường dành riêng khác nhau để sử dụng trong tương lai hoặc chi tiết triển khai cụ thể.
    • Archive Size: Tổng kích thước của file CAB.
    • Number of Folders: Cho biết có bao nhiêu cấu trúc thư mục (nhóm file logic) trong kho lưu trữ.
    • Number of Files: Tổng số file được lưu trữ trong kho lưu trữ CAB.
    • Offset to First CFFOLDER: Trỏ tới mục nhập thư mục đầu tiên trong kho lưu trữ.
    • Reserved: Các trường dành riêng bổ sung.
  2. Cấu trúc thư mục: Mỗi tệp CAB có thể chứa nhiều cấu trúc thư mục. Mỗi mục thư mục cung cấp:

    • Offset: Vị trí trong file CAB nơi dữ liệu của thư mục này bắt đầu.
    • Number of Data Blocks: Cho biết thư mục có bao nhiêu khối dữ liệu.
    • Kiểu nén: Chỉ định phương thức nén được sử dụng cho các tệp trong thư mục này (ví dụ: MSZIP, LZX).
  3. Mục nhập tệp: Kho lưu trữ CAB bao gồm các mục nhập cho mỗi tệp, nêu chi tiết:

    • Uncompression Size: Kích thước gốc của file trước khi nén.
    • Offset: Vị trí trong file CAB nơi dữ liệu file nén bắt đầu.
    • Folder Index: Chỉ định file thuộc thư mục nào.
    • Thuộc tính: Thuộc tính tệp (ví dụ: chỉ đọc, ẩn).
    • File Name length: Độ dài của tên file.
    • File Name: Tên của file.
  4. Khối dữ liệu: Dữ liệu tệp thực tế được lưu trữ trong khối dữ liệu nén. Mỗi khối bao gồm:

    • Compression Data: File dữ liệu được nén theo phương thức chỉ định (ví dụ MSZIP, LZX).
    • Thông tin giải nén: Siêu dữ liệu cần thiết để giải nén khối dữ liệu, chẳng hạn như kích thước gốc và kích thước nén.
  5. Dữ liệu tùy chọn: Một số kho lưu trữ của CAB có thể bao gồm dữ liệu tùy chọn bổ sung cho chức năng mở rộng, chẳng hạn như:

    • Tổng kiểm tra tính toàn vẹn: Để xác minh tính toàn vẹn của kho lưu trữ.
    • Chữ ký số: Để đảm bảo tính xác thực của kho lưu trữ.

CAB - Cấu trúc bên trong

Mức độ phổ biến của CAB và Hỗ trợ

Các tệp CAB được sử dụng rộng rãi trong Windows để cài đặt, cập nhật và phân phối trình điều khiển phần mềm. Microsoft cung cấp các công cụ như MakeCab, Expand và DISM để tạo, trích xuất và quản lý tệp CAB. Các tệp CAB cung cấp khả năng nén hiệu quả, tích hợp với Windows Installer và có thể được sử dụng để lưu trữ nhiều phần.

Ví dụ về việc sử dụng hồ sơ nội các

Kho lưu trữ CAB lưu trữ các tệp ở dạng nén bằng các thuật toán nén như LZX, MSZIP hoặc Quantum. Chúng cho phép bạn lưu trữ nhiều tệp trong một kho lưu trữ trong khi vẫn giữ nguyên cấu trúc thư mục. Dưới đây là các ví dụ mã để giải nén kho lưu trữ CAB trong C#, Java và 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")

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

Thông tin bổ sung

Mọi người đã hỏi

1. Tệp CAB là gì và nó được dùng để làm gì?

Tệp Cabinet là các tệp lưu trữ được Microsoft sử dụng chủ yếu để phân phối và cài đặt phần mềm, thành phần hệ thống và trình điều khiển một cách hiệu quả. Chúng hỗ trợ nhiều thuật toán nén, chẳng hạn như MSZIP, Quantum và LZX, để giảm kích thước tệp trong khi vẫn duy trì định dạng có cấu trúc, có tổ chức để quản lý các tệp được chứa.

2. Các tập tin CAB có thể được chia thành nhiều phần không?

Có, tệp CAB hỗ trợ tạo kho lưu trữ nhiều phần. Tính năng này hữu ích để phân phối các tập dữ liệu lớn trên một số tệp CAB nhỏ hơn, giúp quản lý và truyền lượng lớn dữ liệu dễ dàng hơn. Khi trích xuất các tệp CAB nhiều phần, tất cả các phần phải có sẵn và có thể truy cập được để xây dựng lại thành công các tệp gốc.

3. Tôi có thể tự tạo tệp CAB không?

Mặc dù có thể tạo tệp CAB theo cách thủ công nhưng nhìn chung sẽ thuận tiện hơn khi sử dụng các công cụ chuyên dụng như MakeCab (một tiện ích của Microsoft) hoặc phần mềm lưu trữ khác hỗ trợ định dạng CAB.