Vad är filformatet PKG?
Filändelsen .pkg används bland annat inom operativsystemet macOS, utvecklat av Apple. .pkg-filer innehåller paket med komprimerade installationsfiler i det interna formatet XAR, vars syfte är att installera en applikation på Mac-datorer. .pkg-filer är i själva verket XAR-arkiv med en annan filändelse och en strikt definierad filhierarki: en innehållsförteckning i XML, en komprimerad CPIO-nyttolast som bär applikationsfilerna samt valfria installationsskript.
Syftet med XAR-projektet är att skapa ett lätt utökningsbart arkivformat, vilket gör .pkg till ett flexibelt leveransmedel för macOS-programvara. Vid utvecklingen av .pkg-formatet var huvudmålet att skapa en mekanism som skulle underlätta arbetet under installationsprocessen - och denna prioritet har uppnåtts. Installation och uppdatering med hjälp av .pkg-filer kan enkelt utföras via den inbyggda macOS-appen Installerare eller kommandot installer i Terminal. Installation av programvara kan utföras individuellt, eller tillsammans med ett skript som körs före eller efter installationen och som ansvarar för processen.
Det nuvarande platta .pkg-formatet introducerades i Mac OS X 10.5 Leopard (2007). Moderna paket måste vara signerade med ett Apple Developer-certifikat och notariserade för distribution utanför Mac App Store.
.pkg-filer används för närvarande enligt listan nedan:
- som installationspaket i Apple-system - både på datorer som kör macOS och på iPhones (distribuerade via MDM eller Apple Configurator)
- av Sony, för installation av programvara och applikationer på konsolerna PlayStation 3, PlayStation 4 och PlayStation 5
- historiskt av Symbian-system för att lagra konfigurationsinformation i installationspaket
Relaterade format inkluderar .DMG-skivavbilder som används för appdistribution, .MPKG-metapaket som samlar flera .pkg-installerare, och .XIP-signerade arkiv som används av Xcode.
Säkerhet & trygghet
RISK: MEDIUMEn macOS .pkg kan köra preinstall/postinstall-skript med förhöjda privilegier, så det är farligare än en app man drar till mappen Applikationer - skadlig kod och annonsprogram har distribuerats som .pkg-installerare. Kör endast paket från pålitliga källor; macOS Gatekeeper varnar för osignerade/icke-notariserade paket, och du bör lyssna på det. Granska allt osäkert med Suspicious Package (den visar skripten och vem som signerat) innan du installerar.
Formatdetaljer
i ett nötskal- PlayStation Package - Krypterat, konsolspecifikt spel-/DLC-/uppdateringspaket för PS3/PS4/PS5/Vita; installeras endast på matchande konsol, inte på en dator.
- Symbian Installer Script (.pkg) - Föråldrat textbaserat byggskript som användes av gammal Symbian/Nokia SIS-paketering.
- Apple Newton Package - Sällsynt, föråldrat paketformat för den nedlagda plattformen Apple Newton (det gamla DB-namnet för denna filändelse).
Program som öppnar PKG-filer
Tekniska detaljer
djup specifikation| Internt format | XAR (eXtensible ARchive) binärt arkiv |
| Magic bytes | `78 61 72 21` (`xar!`) vid filoffset 0; identifierar ett modernt platt paket - äldre paketbuntar är mappar utan en enskild filsignatur |
| MIME-typ | `application/x-xar` |
| Innehållsförteckning | XML-dokument lagrat okomprimerat inuti XAR-huvudet, som indexerar varje fils kontrollsumma, komprimeringsmetod och metadata |
| Nyttolastformat | CPIO-arkiv komprimerat med gzip, bzip2 eller lzma inuti XAR-containern |
| Bill of Materials | `Bom`-fil inuti paketet som listar installerade sökvägar, filägare, behörigheter och storlekar |
| Installationsskript | `preinstall` och `postinstall` shell-skript som körs som root före och efter installation av nyttolasten |
| Kodsignering | Signerad med ett Apple Developer ID Installer-certifikat; signaturen verifieras av macOS Gatekeeper vid start |
| Notarisering | Apple-notarisering krävs för paket som distribueras utanför Mac App Store på macOS 10.15 och senare |
| Paketvarianter | Platt `.pkg` är en enskild XAR-fil; äldre paketbunt `.pkg` (före 10.5) är en mappstruktur - båda delar samma filändelse |
| Installation via kommandorad | `sudo installer -pkg file.pkg -target /` |
| Extrahering utan installation | `xar -xf file.pkg` packar upp arkivet i den aktuella mappen utan att köra installationsskript |
| Distribution XML | Valfri `Distribution`-fil i roten av ett produktarkiv styr flervals- eller flerpaketsinstallationer med inbäddad JavaScript-logik |
| Komponent- vs. produktarkiv | En `.pkg` kan vara ett enkelt komponentpaket eller ett produktarkiv som samlar flera komponentpaket i en installerare |
| Släppt | macOS flat .pkg (XAR-based) since Mac OS X 10.5 Leopard (2007); earlier bundle .pkg since NeXTSTEP/Mac OS X 10.0 |
| Öppen standard | Ja · royaltyfri |
| Specifikation | github.com |
PKG-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PKG-filer.