Hva er PKG-filformatet?
Filendelsen .pkg brukes blant annet i operativsystemet macOS, utviklet av Apple. .pkg-filer inneholder pakker med komprimerte installasjonsfiler i det interne XAR-formatet, hvis formål er å installere en applikasjon på Mac-datamaskiner. .pkg-filer er i praksis XAR-arkiver med en annen filendelse og et strengt definert hierarki av filer: en innholdsfortegnelse i XML, en komprimert CPIO-nyttelast som bærer applikasjonsfilene, og valgfrie installasjonsskript.
Målet med XAR-prosjektet er å lage et lett utvidbart arkivformat, og dette gjør .pkg til en fleksibel leveringsmetode for macOS-programvare. Under utviklingen av .pkg-formatet var hovedmålet å skape en mekanisme som ville forenkle arbeidet under installasjonsprosessen - og denne prioriteten er oppnådd. Installasjon og oppdatering ved hjelp av .pkg-filer kan enkelt utføres via den innebygde macOS Installer-appen eller kommandoen installer i Terminal. Installasjon av programvare kan utføres individuelt, eller sammen med et pre- eller post-installasjonsskript som er ansvarlig for prosessen.
Det nåværende flate .pkg-formatet ble introdusert i Mac OS X 10.5 Leopard (2007). Moderne pakker må signeres med et Apple Developer-sertifikat og notariseres for distribusjon utenfor Mac App Store.
.pkg-filer brukes for øyeblikket som listet nedenfor:
- som installasjonspakker i Apple-systemer - både på datamaskiner som kjører macOS og på iPhones (distribuert via MDM eller Apple Configurator)
- av Sony, for installasjon av programvare og applikasjoner på PlayStation 3, PlayStation 4 og PlayStation 5-konsoller
- historisk av Symbian-systemer for å inneholde konfigurasjonsinformasjon i installasjonspakker
Relaterte formater inkluderer .DMG diskbilder brukt for app-distribusjon, .MPKG metapakker som samler flere .pkg-installatører, og .XIP signerte arkiver brukt av Xcode.
Sikkerhet og trygghet
RISIKO: MEDIUMEn macOS .pkg kan kjøre preinstall/postinstall-skript med forhøyede privilegier, så den er farligere enn en app man drar til Programmer-mappen - skadevare og reklamevare har blitt distribuert som .pkg-installatører. Kjør kun pakker fra pålitelige kilder; macOS Gatekeeper advarer om usignerte/ikke-notariserte pakker, og du bør ta hensyn til dette. Inspiser alt usikkert med Suspicious Package (den viser skriptene og signatøren) før installasjon.
Formatdetaljer
i et nøtteskall- PlayStation Package - Kryptert, konsollspesifikk spill/DLC/oppdateringspakke for PS3/PS4/PS5/Vita; installeres kun på den samsvarende konsollen, ikke en datamaskin.
- Symbian Installer Script (.pkg) - Foreldet tekstbasert byggeskript brukt av gammel Symbian/Nokia SIS-pakking.
- Apple Newton Package - Sjelden, foreldet pakkformat for den utgåtte Apple Newton-plattformen (det gamle databasenavnet for denne filendelsen).
Programmer som åpner PKG-filer
Tekniske detaljer
dyp spesifikasjon| Internt format | XAR (eXtensible ARchive) binært arkiv |
| Magic bytes | `78 61 72 21` (`xar!`) ved fil-offset 0; identifiserer en moderne flat pakke - eldre buntepakker er mapper uten en enkelt filsignatur |
| MIME-type | `application/x-xar` |
| Innholdsfortegnelse | XML-dokument lagret ukomprimert inne i XAR-headeren, som indekserer hver fils sjekksum, komprimeringsmetode og metadata |
| Nyttelastformat | CPIO-arkiv komprimert med gzip, bzip2 eller lzma inne i XAR-beholderen |
| Bill of Materials | `Bom`-fil inne i pakken som lister opp installerte stier, fileiere, tillatelser og størrelser |
| Installasjonsskript | `preinstall` og `postinstall` shell-skript som utføres som root før og etter installasjon av nyttelast |
| Kodesignering | Signert med et Apple Developer ID Installer-sertifikat; signatur verifisert av macOS Gatekeeper ved oppstart |
| Notarisering | Apple-notarisering kreves for pakker distribuert utenfor Mac App Store på macOS 10.15 og nyere |
| Pakkevarianter | Flat `.pkg` er en enkelt XAR-fil; eldre bunte-`.pkg` (før 10.5) er en mappestruktur - begge deler samme filendelse |
| Installasjon via kommandolinje | `sudo installer -pkg file.pkg -target /` |
| Ekstraksjon uten installasjon | `xar -xf file.pkg` pakker ut arkivet til gjeldende mappe uten å kjøre installasjonsskript |
| Distribusjons-XML | Valgfri `Distribution`-fil i roten av et produktarkiv kontrollerer flervalgs- eller flerpakkeinstallasjoner med innebygd JavaScript-logikk |
| Komponent- vs. produktarkiv | En `.pkg` kan være en enkel komponentpakke eller et produktarkiv som samler flere komponentpakker i én installatør |
| Utgitt | macOS flat .pkg (XAR-based) since Mac OS X 10.5 Leopard (2007); earlier bundle .pkg since NeXTSTEP/Mac OS X 10.0 |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | github.com |
PKG-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PKG-filer.