Qu'est-ce que le format de fichier PKG ?
L'extension .pkg est utilisée, entre autres, au sein du système d'exploitation macOS, développé par Apple. Les fichiers .pkg contiennent des paquets de fichiers d'installation compressés au format interne XAR, dont le but est d'installer une application sur les ordinateurs Mac. Les fichiers .pkg sont en réalité des archives XAR avec une extension différente et une hiérarchie de fichiers strictement définie : une table des matières en XML, une charge utile CPIO compressée transportant les fichiers de l'application, et des scripts d'installation optionnels.
L'objectif du projet XAR est de créer un format d'archive facilement extensible, ce qui fait du .pkg un vecteur de distribution flexible pour les logiciels macOS. Lors du développement du format .pkg, l'objectif principal était de créer un mécanisme facilitant le travail pendant le processus d'installation - et cette priorité a été atteinte. L'installation et la mise à jour à l'aide de fichiers .pkg peuvent être effectuées facilement via l'application intégrée Installer de macOS ou la commande installer dans le Terminal. L'installation d'un logiciel peut être effectuée individuellement, ou accompagnée d'un script de pré- ou post-installation responsable d'un tel processus.
Le format .pkg « plat » actuel a été introduit dans Mac OS X 10.5 Leopard (2007). Les paquets modernes doivent être signés avec un certificat Apple Developer et notariés pour une distribution en dehors du Mac App Store.
Les fichiers .pkg sont actuellement utilisés comme indiqué ci-dessous :
- comme paquets d'installation dans les systèmes Apple - à la fois sur les ordinateurs fonctionnant sous macOS et sur les iPhones (distribués via MDM ou Apple Configurator)
- par Sony, pour l'installation de logiciels et d'applications sur les consoles PlayStation 3, PlayStation 4 et PlayStation 5
- historiquement par les systèmes Symbian pour contenir des informations de configuration au sein des paquets d'installation
Les formats associés incluent les images disque .DMG utilisées pour la distribution d'applications, les méta-paquets .MPKG qui regroupent plusieurs installateurs .pkg, et les archives signées .XIP utilisées par Xcode.
Sécurité et sûreté
RISQUE : MEDIUMUn .pkg macOS peut exécuter des scripts de pré-installation/post-installation avec des privilèges élevés, il est donc plus dangereux qu'une application à glisser-déposer - des logiciels malveillants et publicitaires ont été distribués sous forme d'installateurs .pkg. N'exécutez que des paquets provenant de sources fiables ; macOS Gatekeeper avertit des paquets non signés/non notariés, et vous devriez en tenir compte. Inspectez tout élément incertain avec Suspicious Package (il affiche les scripts et le signataire) avant l'installation.
Détails du format
en bref- Paquet PlayStation - Paquet de jeu/DLC/mise à jour chiffré et spécifique à la console pour PS3/PS4/PS5/Vita ; s'installe uniquement sur la console correspondante, pas sur un ordinateur.
- Script d'installation Symbian (.pkg) - Script de construction textuel obsolète utilisé par l'ancien empaquetage SIS de Symbian/Nokia.
- Paquet Apple Newton - Format de paquet rare et obsolète pour la plateforme abandonnée Apple Newton (l'ancien nom de base de données pour cette extension).
Programmes qui ouvrent les fichiers PKG
Détails techniques
spécifications approfondies| Format interne | Archive binaire XAR (eXtensible ARchive) |
| Signature de fichier | `78 61 72 21` (`xar!`) à l'offset 0 ; identifie un paquet plat moderne - les anciens paquets « bundle » sont des répertoires sans signature de fichier unique |
| Type MIME | `application/x-xar` |
| Table des matières | Document XML stocké non compressé dans l'en-tête XAR, indexant la somme de contrôle de chaque fichier, la méthode de compression et les métadonnées |
| Format de la charge utile | Archive CPIO compressée avec gzip, bzip2 ou lzma à l'intérieur du conteneur XAR |
| Nomenclature (BOM) | Fichier `Bom` à l'intérieur du paquet listant les chemins installés, les propriétaires de fichiers, les permissions et les tailles |
| Scripts d'installation | Scripts shell `preinstall` et `postinstall` exécutés en tant que root avant et après l'installation de la charge utile |
| Signature de code | Signé avec un certificat Apple Developer ID Installer ; signature vérifiée par macOS Gatekeeper au lancement |
| Notarisation | Notarisation Apple requise pour les paquets distribués hors du Mac App Store sur macOS 10.15 et versions ultérieures |
| Variantes de paquets | Le `.pkg` plat est un fichier XAR unique ; le `.pkg` bundle hérité (pré-10.5) est une structure de répertoires - les deux partagent la même extension |
| Installation en ligne de commande | `sudo installer -pkg file.pkg -target /` |
| Extraction sans installation | `xar -xf file.pkg` décompresse l'archive dans le répertoire courant sans exécuter les scripts d'installation |
| XML de distribution | Fichier `Distribution` optionnel à la racine d'une archive produit contrôlant les installations à choix multiples ou multi-paquets avec une logique JavaScript intégrée |
| Archive de composant vs produit | Un `.pkg` peut être un simple paquet de composant ou une archive produit regroupant plusieurs paquets de composants en un seul installateur |
| Publié | macOS flat .pkg (XAR-based) since Mac OS X 10.5 Leopard (2007); earlier bundle .pkg since NeXTSTEP/Mac OS X 10.0 |
| Standard ouvert | Oui · libre de droits |
| Spécification | github.com |
Conversions PKG
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PKG.