Co to jest format pliku MPKG?
.mpkg to meta-pakiet instalacyjny macOS - pakiet macOS (katalog, który Finder prezentuje jako pojedynczą ikonę pliku) zawierający wiele komponentów instalacyjnych .pkg, dzięki czemu można je zainstalować razem w jednej sesji. Był to standardowy format dystrybucji złożonych pakietów oprogramowania macOS w erze Mac OS X 10.0-10.5, w tym własnych narzędzi programistycznych Apple i aktualizacji systemu.
Pakiet .mpkg zawiera trzy główne sekcje: folder Packages/ przechowujący poszczególne pliki komponentów .pkg, folder Resources/ ze zlokalizowanymi zasobami interfejsu instalatora (licencja RTF, powitalny HTML, obrazy tła) oraz plik Info.plist, który określa podpakiety, ich kolejność instalacji i wymagania systemowe.
W przeciwieństwie do płaskiego .pkg, .mpkg można sprawdzić w Finderze, klikając prawym przyciskiem myszy i wybierając „Pokaż zawartość pakietu”, co ujawnia pełne drzewo katalogów. Narzędzie wiersza poleceń /usr/sbin/installer lub aplikacja Installer.app obsługują instalację. Integralność jest weryfikowana dla każdego pakietu za pomocą pliku BOM (Bill of Materials); podpisywanie kodu jest opcjonalne.
Apple wycofało PackageMaker - narzędzie tworzące pliki .mpkg - w 2012 roku, zastępując je narzędziem productbuild, które generuje płaskie archiwa produktów .pkg (oparte na xar, wprowadzone w macOS 10.5 Leopard). Starsze pliki .mpkg z dawnych dystrybucji Xcode i QuickTime nadal otwierają się w Installer.app w obecnych wersjach macOS.
Bezpieczeństwo
RYZYKO: MEDIUMMPKG uruchamia skrypty instalacyjne (skrypty powłoki preinstall i postinstall wewnątrz każdego .pkg). Złośliwy plik MPKG może wykonać dowolny kod z uprawnieniami roota podczas instalacji. Przed instalacją nieznanych plików MPKG należy sprawdzić je za pomocą Suspicious Package, aby przejrzeć wszystkie skrypty. Instaluj tylko z zaufanych, podpisanych źródeł. Apple Gatekeeper sprawdza podpisy kodu w nowoczesnych systemach macOS; starsze, niepodpisane pliki MPKG mogą być domyślnie blokowane.
Szczegóły formatu
w pigułce- Instalator frameworka Mono (wieloplatformowy) - Projekt Mono używał .mpkg do wielokomponentowej instalacji w systemie macOS (framework + narzędzia + przykłady).
Programy otwierające pliki MPKG
Szczegóły techniczne
specyfikacja| Typ pakietu | Katalog pakietu macOS (prezentowany jako pojedyncza ikona pliku przez Finder) |
| Zawartość pakietu | Katalogi `Info.plist` + `Packages/` + `Resources/` |
| Kompresja danych | Gzip/cpio (przestarzały ładunek `.pkg`); zlib/xar (osadzony płaski `.pkg`) |
| Kolejność bajtów | Big-endian (przestarzałe cpio/pax dla PowerPC); little-endian (płaski `.pkg` oparty na xar) |
| Sprawdzanie integralności | Plik BOM (Bill of Materials) dla każdego pakietu komponentu śledzi sumy kontrolne zainstalowanych plików |
| Podpisywanie kodu | Opcjonalny podpis kodu Apple; weryfikowalny za pomocą `pkgutil --check-signature` |
| Narzędzie instalacyjne | Wiersz poleceń `/usr/sbin/installer` lub interfejs graficzny Installer.app |
| Kolejność komponentów | Zdefiniowana w `Info.plist`; podpakiety instalują się sekwencyjnie |
| Narzędzie twórcy | PackageMaker (wycofany przez Apple w 2012); zastąpiony przez `productbuild` |
| Format następcy | Płaskie archiwum produktu `.pkg` (oparte na xar), wprowadzone w macOS 10.5 Leopard (2007) |
| System operacyjny | macOS (Mac OS X 10.0+); starsze pliki `.mpkg` nadal obsługiwane przez Installer.app |
| Metoda inspekcji | Prawy przycisk myszy w Finderze → „Pokaż zawartość pakietu” ujawnia wewnętrzne drzewo katalogów |
| Wydano | Mac OS X 10.0 (2001); format established with Apple Installer |
| Najnowsza wersja | Superseded by flat .pkg (xar-based) for distribution since macOS 10.5 (2007); .mpkg still processable by Installer |
| Specyfikacja | developer.apple.com |