BOMArchiveHelper
BOMArchiveHelper — это системная утилита в операционных системах macOS, предназначенная для создания, просмотра и распаковки архивов в форматах, поддерживаемых Apple. Впервые появилась в ранних версиях Mac OS X (начиная с 10.0 Cheetah, 2001 год) и до версии macOS 10.14 Mojave (2018) являлась стандартным средством работы с архивами в Finder. Начиная с macOS 10.15 Catalina (2019) утилита была заменена на более современный инструмент Archive Utility, но остаётся доступной в системе для обратной совместимости.
История
Происхождение и развитие
BOMArchiveHelper была разработана компанией Apple как часть операционной системы Mac OS X. Её название происходит от формата BOM (Bill of Materials — «спецификация материалов»), который используется в macOS для хранения метаданных пакетов установки (.pkg) и структуры каталогов. Утилита была создана для замены устаревшего инструмента StuffIt Expander, который ранее использовался в классической Mac OS (до версии 9). В отличие от сторонних решений, BOMArchiveHelper была полностью интегрирована в Finder и не требовала установки дополнительного программного обеспечения.
Период активного использования
С 2001 по 2018 год BOMArchiveHelper была основной утилитой для работы с архивами в macOS. Она автоматически запускалась при двойном клике на файлы с расширениями .zip, .gz, .bz2, .tar, .tgz, .tbz и другими. В более поздних версиях macOS (10.6 Snow Leopard, 2009) утилита получила поддержку формата .zip с шифрованием, а также возможность создания самораспаковывающихся архивов (.app). Однако её функциональность оставалась ограниченной по сравнению с коммерческими аналогами, такими как WinRAR или 7-Zip.
Замена и современное состояние
В macOS 10.15 Catalina (2019) Apple заменила BOMArchiveHelper на Archive Utility (архивная утилита), которая имеет обновлённый интерфейс и поддержку большего числа форматов (включая .rar и .7z через сторонние плагины). Однако BOMArchiveHelper остаётся в системе в виде скрытого двоичного файла /System/Library/CoreServices/Archive Utility.app/Contents/Resources/BOMArchiveHelper. Она может быть вызвана через терминал или через системные настройки, если требуется совместимость со старыми архивами.
Функциональность
Основные возможности
BOMArchiveHelper поддерживает следующие операции:
- Создание архивов: упаковка файлов и папок в форматы
.zip,.tar,.gz,.bz2,.cpio,.pax. - Распаковка архивов: извлечение содержимого из большинства распространённых форматов, включая
.zip,.tar,.gz,.bz2,.tgz,.tbz,.Z,.cpio,.pax,.dmg(только чтение),.iso(только чтение). - Просмотр архивов: отображение содержимого архива без его распаковки (через контекстное меню Finder или команду
Show Package Contents). - Поддержка паролей: возможность создания и распаковки зашифрованных архивов
.zip(с использованием стандартного алгоритма AES-128 или AES-256, начиная с macOS 10.7 Lion). - Самораспаковывающиеся архивы: создание
.app-пакетов, которые при запуске автоматически извлекают содержимое в указанную папку.
Ограничения
- Отсутствие поддержки форматов
.rarи.7zбез сторонних расширений. - Невозможность восстановления повреждённых архивов.
- Отсутствие продвинутых функций, таких как многотомные архивы, фильтрация по типу файлов или настройка степени сжатия.
- Зависимость от системных настроек — пользователь не может изменить алгоритм сжатия или уровень компрессии через графический интерфейс.
Устройство и принцип работы
Архитектура
BOMArchiveHelper является консольной утилитой, которая вызывается через системный демон launchd или через Finder. Она использует библиотеки libarchive (для форматов .tar, .cpio, .pax) и zlib (для .gz, .zip). Взаимодействие с пользователем осуществляется через графический интерфейс Finder, который передаёт команды утилите через механизм Apple Events.
Формат BOM
Название утилиты происходит от формата BOM (Bill of Materials), который представляет собой бинарный файл, содержащий список файлов, их размеры, контрольные суммы (MD5 или SHA-1) и метаданные. BOM-файлы используются в пакетах установки macOS (.pkg) для проверки целостности данных. BOMArchiveHelper не создаёт BOM-файлы, но может читать их для извлечения информации о структуре архива.
Взаимодействие с Finder
При двойном клике на архивный файл Finder отправляет запрос в CoreServices, который запускает BOMArchiveHelper. Утилита анализирует расширение файла, определяет формат и выполняет соответствующее действие (распаковка или просмотр). Если архив защищён паролем, система запрашивает его через диалоговое окно. Результат распаковки помещается в ту же папку, где находится архив, или в папку Downloads, если архив был открыт из браузера.
Применение
Системное использование
BOMArchiveHelper является неотъемлемой частью macOS, используемой для:
- Распаковки установочных пакетов
.dmgи.pkg. - Обработки архивов, загруженных из интернета (например,
.zip-файлы с сайтов разработчиков). - Создания резервных копий в формате
.tarили.zipчерез терминал (командаtarв macOS вызывает BOMArchiveHelper для обработки). - Интеграции с приложениями, которые используют системные архиваторы (например, Xcode, Safari).
Пользовательские сценарии
- Распаковка скачанных файлов: большинство пользователей macOS сталкиваются с BOMArchiveHelper при открытии
.zip-архивов, полученных по электронной почте или из интернета. - Создание простых архивов: через контекстное меню Finder (выделить файлы → «Сжать»).
- Работа с самораспаковывающимися архивами: разработчики используют эту функцию для распространения приложений, не требующих установки.
Критика и альтернативы
Недостатки
- Отсутствие поддержки популярных форматов: BOMArchiveHelper не работает с
.rarи.7z, что вынуждает пользователей устанавливать сторонние утилиты (например, The Unarchiver, Keka, WinRAR для macOS). - Слабая настройка: пользователь не может изменить уровень сжатия, исключить определённые файлы или добавить комментарии к архиву.
- Проблемы с совместимостью: архивы, созданные в Windows (например, с кириллическими именами файлов), могут распаковываться с ошибками кодировки.
- Отсутствие прогресс-бара: при работе с большими архивами (более 1 ГБ) утилита не показывает индикатор выполнения, что может вызывать неудобство.
Альтернативы
- The Unarchiver (бесплатная, с открытым исходным кодом) — поддерживает более 30 форматов, включая
.rar,.7z,.cab,.iso. - Keka (бесплатная, с открытым исходным кодом) — предлагает настройку степени сжатия, многотомные архивы и шифрование.
- WinRAR для macOS (платная, условно-бесплатная) — полная поддержка формата
.rarи продвинутые функции. - 7-Zip (бесплатная, с открытым исходным кодом) — доступна через командную строку или графическую оболочку
p7zip.
Интересные факты
- BOMArchiveHelper является одной из немногих утилит macOS, которая не имеет собственного иконки в Dock — она запускается только через Finder или терминал.
- В ранних версиях Mac OS X (до 10.4 Tiger) утилита называлась
BOMArchiveHelperбез пробела, но в более поздних версиях название было изменено наBOM Archive Helper(с пробелом) в локализованных версиях. - Утилита может быть использована для создания архивов в формате
.cpio(copy in/out), который редко встречается в современных системах, но используется в некоторых Linux-дистрибутивах для создания initramfs. - В macOS 10.13 High Sierra (2017) была обнаружена уязвимость, связанная с BOMArchiveHelper, которая позволяла злоумышленникам выполнять произвольный код при открытии специально подготовленного архива. Уязвимость была исправлена в обновлении 10.13.3.
Источники
- Документация Apple Developer: «Archive Utility and BOMArchiveHelper» (2018)
- Статья «How to use BOMArchiveHelper in macOS» на сайте Macworld (2019)
- Обсуждение на форуме Stack Exchange: «What is BOMArchiveHelper and why is it running?» (2017)
- Техническая документация Apple: «File System Programming Guide» (2015)
- Статья «macOS 10.15 Catalina: What’s new in Archive Utility» на сайте The Verge (2019)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →