stringtranslate.com

Кабинет (формат файла)

Кабинет (или CAB ) — это формат архивного файла для Microsoft Windows , который поддерживает сжатие данных без потерь и встроенные цифровые сертификаты , используемые для поддержания целостности архива. Кабинетные файлы имеют .cab расширения имени файла и распознаются по первым четырем байтам (также называемым магическим числом ) MSCF . Кабинетные файлы первоначально были известны как файлы Diamond.

Дизайн

CAB-архив может содержать до 65 535 папок (в отличие от стандартных каталогов операционной системы), каждая из которых может содержать до 65 535 файлов, максимум 4 294 836 225. Внутри каждая папка рассматривается как один сжатый блок , что обеспечивает более эффективное сжатие, чем сжатие каждого файла по отдельности.

Каждая запись в папке должна быть файлом. [1] Из-за такой структуры невозможно хранить пустые папки в CAB-архивах.

Ниже показан пример структуры CAB-файла, демонстрирующий взаимосвязь между папками и файлами:

То, как следует обрабатывать пути, не указано в формате CAB-файла, оставляя это на усмотрение программной реализации:

Формат файла CAB может использовать следующие алгоритмы сжатия :

В CAB-архиве могут быть зарезервированы пустые места в архиве, а также для каждого файла в архиве для некоторых специфических приложений, таких как цифровые подписи или произвольные данные.

Реализации

Microsoft Windows поддерживает создание файлов CAB-архива с помощью утилиты makecab командной строки . Он поддерживает извлечение содержимого файлов CAB-архива с помощью проводника , API настройки и команд командной строки expand.exe, [10] extract.exe и extrac32.exe. [11] [12]

Другое известное программное обеспечение с поддержкой архивов CAB включает WinZip , WinRAR или 7-Zip . Вышеупомянутый инструмент cabextractявляется обычным инструментом для систем Linux [13] , но он способен только извлекать архивы. Однако этот gcabинструмент может как извлекать, так и создавать CAB-архивы. [14] Полный список см. в разделе Сравнение форматов архивов файловых архиваторов .

Использование

Формат CAB используется в различных технологиях установки Microsoft : к ним относятся установщик Windows , API настройки , установщик устройств, Theme Pack и AdvPack (используется Internet Explorer для установки компонентов ActiveX ). Файлы CAB также часто связаны с самораспаковывающимися программами, такими как IExpress , где исполняемая программа извлекает связанный файл CAB. CAB-файлы также иногда встраиваются в другие файлы. Например, файлы MSI и MSU обычно включают один или несколько встроенных CAB-файлов.

Windows использует формат CAB для архивирования журнала компонентного обслуживания (CBS), который хранится в папке C:\Windows\Logs\CBS . Ошибка в процессе сжатия может привести к неконтролируемому созданию бесполезных файлов журналов как в этой папке, так и в C:\Windows\Temp , которые могут занимать дисковое пространство до полного заполнения жесткого диска. [15] [16] Удаление файлов без соблюдения определенной процедуры [16] может привести к ускоренному восстановлению удаленных файлов.

В системах Linux CAB-архивы используются fwupd для распространения обновлений прошивки от производителей оборудования [17] , которые можно записать в энергонезависимую память .

Связанные форматы

Расширение имени .cabфайла также используется другими программами установки (например, InstallShield ) для их собственных форматов архивирования. InstallShield использует zlib для сжатия (см. Deflate ), но их заголовки не такие, как у файлов Microsoft CAB, поэтому они несовместимы и ими нельзя манипулировать или редактировать с помощью программ, созданных для стандартного формата CAB. Специализированные сторонние утилиты, такие как Unshield, могут извлекать этот конкретный проприетарный формат. [18] Этот формат имеет другое магическое число ISC( . [19]

Установщик Windows CE использует вариант формата Microsoft CAB с магическим ключом MSCE\0\0\0 . [19] Обычно сжатие НЕТ, но также можно встретить MSZIP. [20]

Microsoft Publisher имеет функцию «Pack and Go», которая объединяет документ издателя вместе со всеми внешними ссылками в CAB-файл с расширением .PUZ. Эти файлы предназначены для активации с помощью сопутствующего файла .EXE, который распространяется вместе с файлом .PUZ. Эти файлы можно открыть с помощью любой программы извлечения CAB-файлов.

Смотрите также

Рекомендации

  1. ^ Формат кабинета Microsoft
  2. ^ "Комплект разработки программного обеспечения Microsoft Cabinet" . Поддерживать . Майкрософт . Проверено 27 марта 2013 г.
  3. Ссылки _ Бесплатный код . Игральная кость . Проверено 27 марта 2013 г.
  4. ^ "Кабэкстракт".
  5. ^ «[Недокументированное] [Ошибки] Expand.exe (подробнее о нем) (Страница 1) / Windows CMD Shell / Форум SS64» . ss64.org . Проверено 21 апреля 2018 г.
  6. ^ «[MS-MCI]: Структура данных сжатия и распаковки Microsoft ZIP (MSZIP)» . docs.microsoft.com . 13 октября 2020 г.
  7. ^ Саломон, Д. (Дэвид) (2007). Сжатие данных: полный справочник. Библиотечный Бытие. Лондон: Спрингер. п. 187. ИСБН 978-1-84628-602-5.
  8. ^ «Формат квантового сжатия». Мэтью Руссотто . Проверено 29 марта 2022 г.
  9. ^ «Формат файла шкафа - открытая документация по спецификациям» (PDF) . Корпорация Майкрософт. 4 марта 2011 г. Архивировано (PDF) из оригинала 18 ноября 2016 г. . Проверено 15 февраля 2023 г.
  10. ^ развернуть - Windows CMD - SS64.com
  11. ^ Как извлечь CAB-файл с помощью инструментов командной строки в Windows 10.
  12. ^ Extrac32 – Распаковать файлы – Windows CMD – SS64.com
  13. ^ Как извлечь CAB-файлы в Linux [ постоянная мертвая ссылка ]
  14. ^ проект gcab в GNOME
  15. ^ «Очистка журналов обслуживания компонентов» . Microsoft TechNet . 7 июля 2017 г.
  16. ^ аб Леонхард, Вуди (25 августа 2016 г.). «Ошибка сжатия файла журнала Windows 7 может заполнить ваш жесткий диск». Компьютерный мир . Проверено 8 января 2019 г.
  17. ^ «LVFS: Поставщики оборудования» . Проект обслуживания встроенного ПО Linux . Проверено 3 мая 2022 г.
  18. ^ "двагуд/без щита" . Гитхаб . Проверено 21 апреля 2018 г.
  19. ^ ab "kyz/libmspack: doc/magic". Гитхаб . 2 января 2022 г.
  20. ^ «Формат файла установочного шкафа Windows CE (.CAB)» . экстракт кабана .

Внешние ссылки