Что такое формат файла MPKG?
.mpkg - это мета-пакет установщика macOS, представляющий собой macOS bundle (директорию, которую Finder отображает как значок одного файла), содержащую несколько компонентов установщика .pkg, чтобы их можно было установить вместе за один сеанс. Это был стандартный формат для распространения сложных программных комплексов macOS в эпоху Mac OS X 10.0-10.5, включая собственные инструменты разработчика Apple и обновления системы.
Пакет .mpkg содержит три основных раздела: папку Packages/, в которой хранятся отдельные файлы компонентов .pkg, папку Resources/ с локализованными ресурсами интерфейса установщика (лицензия в формате RTF, приветственный HTML, фоновые изображения) и файл Info.plist, который определяет подпакеты, порядок их установки и системные требования.
В отличие от «плоского» .pkg, содержимое .mpkg можно просмотреть в Finder, щелкнув правой кнопкой мыши и выбрав «Показать содержимое пакета», что откроет полное дерево каталогов. Установкой управляет инструмент командной строки /usr/sbin/installer или приложение Installer.app. Целостность проверяется для каждого пакета с помощью файла BOM (Bill of Materials); подпись кода является необязательной.
Apple прекратила поддержку PackageMaker - инструмента, создававшего файлы .mpkg, - в 2012 году, заменив его на productbuild, который генерирует «плоские» архивы продуктов .pkg (на базе xar, представленные в macOS 10.5 Leopard). Устаревшие файлы .mpkg из старых дистрибутивов Xcode и QuickTime по-прежнему открываются в Installer.app в современных версиях macOS.
Безопасность и защита
РИСК: MEDIUMMPKG запускает установочные скрипты (shell-скрипты preinstall и postinstall внутри каждого .pkg). Вредоносный MPKG может выполнять произвольный код с правами root во время установки. Перед установкой неизвестных файлов MPKG изучите их с помощью Suspicious Package, чтобы просмотреть все скрипты. Устанавливайте ПО только из доверенных, подписанных источников. Apple Gatekeeper проверяет подписи кода в современных macOS; старые неподписанные файлы MPKG могут быть заблокированы по умолчанию.
Детали формата
в двух словах- Установщик Mono framework (кроссплатформенный) - Проект Mono использовал .mpkg для многокомпонентной установки в macOS (фреймворк + инструменты + примеры).
Программы, открывающие файлы MPKG
Технические подробности
глубокая спецификация| Тип пакета | Директория macOS bundle (отображается Finder как значок одного файла) |
| Содержимое пакета | Директории `Info.plist` + `Packages/` + `Resources/` |
| Сжатие полезной нагрузки | Gzip/cpio (устаревший payload `.pkg`); zlib/xar (встроенный плоский `.pkg`) |
| Порядок байтов | Big-endian (устаревший PowerPC cpio/pax); little-endian (плоский `.pkg` на базе xar) |
| Проверка целостности | Файл BOM (Bill of Materials) для каждого компонента отслеживает контрольные суммы установленных файлов |
| Подпись кода | Необязательная подпись кода Apple; проверяется с помощью `pkgutil --check-signature` |
| Инструмент установки | Командная строка `/usr/sbin/installer` или графический интерфейс Installer.app |
| Порядок компонентов | Определяется в `Info.plist`; подпакеты устанавливаются последовательно |
| Инструмент создания | PackageMaker (поддержка прекращена Apple в 2012 году); заменен на `productbuild` |
| Формат-преемник | Плоский архив продукта `.pkg` (на базе xar), представленный в macOS 10.5 Leopard (2007) |
| Операционная система | macOS (Mac OS X 10.0+); устаревшие файлы `.mpkg` по-прежнему поддерживаются Installer.app |
| Метод проверки | Правый клик в Finder → «Показать содержимое пакета» открывает внутреннее дерево каталогов |
| Выпущен | Mac OS X 10.0 (2001); format established with Apple Installer |
| Последняя версия | Superseded by flat .pkg (xar-based) for distribution since macOS 10.5 (2007); .mpkg still processable by Installer |
| Спецификация | developer.apple.com |