Wat is het PKG-bestandsformaat?
De extensie .pkg wordt onder andere gebruikt binnen het macOS-besturingssysteem, ontwikkeld door Apple. .pkg-bestanden bevatten pakketten met gecomprimeerde installatiebestanden met het interne XAR-formaat, met als doel een applicatie op Mac-computers te installeren. .pkg-bestanden zijn feitelijk XAR-archieven met een andere extensie en een strikt gedefinieerde hiërarchie van bestanden: een inhoudsopgave in XML, een gecomprimeerde CPIO-payload met applicatiebestanden en optionele installatiescripts.
Het doel van het XAR-project is om een eenvoudig uitbreidbaar archiefformaat te creëren, en dit maakt .pkg een flexibel distributiemiddel voor macOS-software. Bij de ontwikkeling van het .pkg-formaat was het hoofddoel om een mechanisme te creëren dat het werk tijdens het installatieproces zou vergemakkelijken - en deze prioriteit is bereikt. Installatie en bijwerking met behulp van .pkg-bestanden kan eenvoudig worden uitgevoerd via de ingebouwde macOS Installer-app of het commando installer in Terminal. De installatie van software kan individueel worden uitgevoerd, of samen met een pre- of post-installatiescript dat verantwoordelijk is voor een dergelijk proces.
Het huidige „platte” .pkg-formaat werd geïntroduceerd in Mac OS X 10.5 Leopard (2007). Moderne pakketten moeten worden ondertekend met een Apple Developer-certificaat en genotariseerd zijn voor distributie buiten de Mac App Store.
.pkg-bestanden worden momenteel gebruikt zoals hieronder vermeld:
- als installatiepakketten in Apple-systemen - zowel op computers met macOS als op iPhones (gedistribueerd via MDM of Apple Configurator)
- door Sony, voor het installeren van software en applicaties op PlayStation 3, PlayStation 4 en PlayStation 5-consoles
- historisch gezien door Symbian-systemen om configuratie-informatie binnen installatiepakketten te bewaren
Gerelateerde formaten zijn onder meer .DMG schijfkopieën gebruikt voor app-distributie, .MPKG meta-pakketten die meerdere .pkg-installatieprogramma's bundelen, en .XIP ondertekende archieven gebruikt door Xcode.
Beveiliging & veiligheid
RISICO: MEDIUMEen macOS .pkg kan preinstall/postinstall-scripts uitvoeren met verhoogde privileges, dus het is gevaarlijker dan een app die u naar de map Applicaties sleept - malware en adware zijn verspreid als .pkg-installatieprogramma's. Voer alleen pakketten uit van vertrouwde bronnen; macOS Gatekeeper waarschuwt voor niet-ondertekende/niet-genotariseerde pakketten, en u dient die waarschuwing ter harte te nemen. Inspecteer alles wat onzeker is met Suspicious Package (het toont de scripts en de ondertekenaar) voordat u installeert.
Formaatdetails
in een notendop- PlayStation Package - Versleuteld, consolespecifiek game/DLC/update-pakket voor PS3/PS4/PS5/Vita; installeert alleen op de bijbehorende console, niet op een computer.
- Symbian Installer Script (.pkg) - Verouderd tekstgebaseerd build-script gebruikt door oude Symbian/Nokia SIS-verpakking.
- Apple Newton Package - Zeldzaam, verouderd pakketformaat voor het stopgezette Apple Newton-platform (de oude DB-naam voor deze extensie).
Programma's die PKG-bestanden openen
Technische details
diepe specificaties| Intern formaat | XAR (eXtensible ARchive) binair archief |
| Magic bytes | `78 61 72 21` (`xar!`) op bestandsoffset 0; identificeert een modern plat pakket - oudere bundelpakketten zijn mappen zonder een enkele bestandssignatuur |
| MIME-type | `application/x-xar` |
| Inhoudsopgave | XML-document dat ongecomprimeerd in de XAR-header is opgeslagen en de checksum, compressiemethode en metadata van elk bestand indexeert |
| Payload-formaat | CPIO-archief gecomprimeerd met gzip, bzip2 of lzma binnen de XAR-container |
| Bill of Materials | `Bom`-bestand in het pakket met een lijst van geïnstalleerde paden, bestandseigenaren, machtigingen en groottes |
| Installatiescripts | `preinstall` en `postinstall` shell-scripts uitgevoerd als root voor en na de installatie van de payload |
| Code-ondertekening | Ondertekend met een Apple Developer ID Installer-certificaat; handtekening geverifieerd door macOS Gatekeeper bij opstarten |
| Notarisatie | Apple-notarisatie vereist voor pakketten die buiten de Mac App Store worden gedistribueerd op macOS 10.15 en later |
| Pakketvarianten | Platte `.pkg` is een enkel XAR-bestand; legacy bundel `.pkg` (vóór 10.5) is een mappenstructuur - beide delen dezelfde extensie |
| Installatie via opdrachtregel | `sudo installer -pkg file.pkg -target /` |
| Extractie zonder installatie | `xar -xf file.pkg` pakt het archief uit in de huidige map zonder installatiescripts uit te voeren |
| Distributie-XML | Optioneel `Distribution`-bestand in de root van een productarchief regelt installaties met meerdere keuzes of meerdere pakketten met ingebedde JavaScript-logica |
| Component- vs. productarchief | Een `.pkg` kan een eenvoudig componentpakket zijn of een productarchief dat meerdere componentpakketten bundelt in één installatieprogramma |
| Uitgebracht | macOS flat .pkg (XAR-based) since Mac OS X 10.5 Leopard (2007); earlier bundle .pkg since NeXTSTEP/Mac OS X 10.0 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | github.com |
PKG conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PKG-bestanden.