Hvad er PKG-filformatet?
Filendelsen .pkg bruges blandt andet i macOS-operativsystemet, udviklet af Apple. .pkg-filer indeholder pakker med komprimerede installationsfiler i det interne XAR-format, hvis formål er at installere et program på Mac-computere. .pkg-filer er i virkeligheden XAR-arkiver med en anden filendelse og et strengt defineret hierarki af filer: en indholdsfortegnelse i XML, en komprimeret CPIO-payload med programfiler og valgfrie installationsscripts.
Formålet med XAR-projektet er at skabe et let udvideligt arkivformat, hvilket gør .pkg til et fleksibelt leveringsmiddel for macOS-software. Under udviklingen af .pkg-formatet var hovedmålet at skabe en mekanisme, der ville lette arbejdet under installationsprocessen - og denne prioritet er blevet opnået. Installation og opdatering ved hjælp af .pkg-filer kan nemt udføres via den indbyggede macOS Installer-app eller kommandoen installer i Terminal. Installation af software kan udføres individuelt eller sammen med et pre- eller post-installationsscript, der er ansvarlig for processen.
Det nuværende flade .pkg-format blev introduceret i Mac OS X 10.5 Leopard (2007). Moderne pakker skal være signeret med et Apple Developer-certifikat og notariseret til distribution uden for Mac App Store.
.pkg-filer bruges i øjeblikket som anført nedenfor:
- som installationspakker i Apple-systemer - både på computere, der kører macOS, og på iPhones (distribueret via MDM eller Apple Configurator)
- af Sony til installation af software og applikationer på PlayStation 3, PlayStation 4 og PlayStation 5-konsoller
- historisk af Symbian-systemer til at indeholde konfigurationsoplysninger i installationspakker
Relaterede formater inkluderer .DMG diskbilleder brugt til app-distribution, .MPKG metapakker, der samler flere .pkg-installationsprogrammer, og .XIP signerede arkiver brugt af Xcode.
Sikkerhed og tryghed
RISIKO: MEDIUMEn macOS .pkg kan køre preinstall/postinstall-scripts med forhøjede privilegier, så den er farligere end en app, der blot trækkes til mappen Programmer - malware og adware er blevet distribueret som .pkg-installationsfiler. Kør kun pakker fra betroede kilder; macOS Gatekeeper advarer om usignerede/ikke-notariserede pakker, og du bør lytte til det. Undersøg alt usikkert med Suspicious Package (den viser scripts og underskriveren), før du installerer.
Formatdetaljer
kort fortalt- PlayStation Package - Krypteret, konsolspecifik spil/DLC/opdateringspakke til PS3/PS4/PS5/Vita; installeres kun på den matchende konsol, ikke en computer.
- Symbian Installer Script (.pkg) - Forældet tekstbaseret build-script brugt af gammel Symbian/Nokia SIS-pakning.
- Apple Newton Package - Sjældent, forældet pakkeformat til den udgåede Apple Newton-platform (det gamle DB-navn for denne filendelse).
Programmer der åbner PKG-filer
Tekniske detaljer
dyb specifikation| Internt format | XAR (eXtensible ARchive) binært arkiv |
| Magic bytes | `78 61 72 21` (`xar!`) ved fil-offset 0; identificerer en moderne flad pakke - ældre bundtpakker er mapper uden en enkelt filsignatur |
| MIME-type | `application/x-xar` |
| Indholdsfortegnelse | XML-dokument gemt ukomprimeret inde i XAR-headeren, der indekserer hver fils tjeksum, komprimeringsmetode og metadata |
| Payload-format | CPIO-arkiv komprimeret med gzip, bzip2 eller lzma inde i XAR-containeren |
| Bill of Materials | `Bom`-fil inde i pakken, der viser installerede stier, filejere, tilladelser og størrelser |
| Installationsscripts | `preinstall` og `postinstall` shell-scripts udført som root før og efter payload-installation |
| Kodesignering | Signeret med et Apple Developer ID Installer-certifikat; signatur verificeret af macOS Gatekeeper ved kørsel |
| Notarisering | Apple-notarisering påkrævet for pakker distribueret uden for Mac App Store på macOS 10.15 og nyere |
| Pakkevarianter | Flad `.pkg` er en enkelt XAR-fil; ældre bundt-`.pkg` (før 10.5) er en mappestruktur - begge deler samme filendelse |
| Installation via kommandolinje | `sudo installer -pkg file.pkg -target /` |
| Udpakning uden installation | `xar -xf file.pkg` udpakker arkivet til den aktuelle mappe uden at køre installationsscripts |
| Distributions-XML | Valgfri `Distribution`-fil i roden af et produktarkiv styrer valgmuligheder eller installation af flere pakker med indlejret JavaScript-logik |
| Komponent- vs. produktarkiv | En `.pkg` kan være en simpel komponentpakke eller et produktarkiv, der samler flere komponentpakker i ét installationsprogram |
| Udgivet | macOS flat .pkg (XAR-based) since Mac OS X 10.5 Leopard (2007); earlier bundle .pkg since NeXTSTEP/Mac OS X 10.0 |
| Åben standard | Ja · royaltyfri |
| Specifikation | github.com |
PKG-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PKG-filer.