Le fichier d'installation .pkg
contient plusieurs composants:
- l'archive des fichiers à installer
- une nomenclature (métadonnées listant tous les installable fichiers)
- ressources pour l'installation elle-même (images, scripts, etc)
- une
Info.plist
contenant la version dans formation et valeurs par défaut
La nomenclature, ou "nomenclature", contient des informations telles que les autorisations, la taille des fichiers, la somme de contrôle, etc. Lorsque le programme d'installation exécute un package pour la toute première fois, le total des tailles de fichier répertoriées dans la nomenclature est utilisé pour estimer la taille requise. (S'il existe des composants partagés, cela affectera évidemment le total.)
Une fois l'installation terminée, la nomenclature est enregistrée dans le dossier des réceptions de colis (/Library/Receipts/boms
) en tant qu'enregistrement de ce qui a été installé. L'utilitaire lsbom
peut être utilisé pour inspecter le contenu de ces fichiers. Sur les installations suivantes du même package (déterminées par l'identificateur de package), les tickets de nomenclature sont consultés pour déterminer les fichiers déjà installés et leur taille totale. Les fichiers inchangés existants sont totalisés et soustraits des nouveaux fichiers à installer, tandis que les fichiers mis à jour qui doivent remplacer les anciens fichiers sont également pris en compte. L'outil pkgutil
peut être utilisé pour afficher des informations sur les packages installés. C'est pourquoi l'estimation de la taille de l'installation peut varier d'une installation à l'autre. Les fichiers nouveaux et existants s'ajoutent au total, tandis que les fichiers existants non modifiés sont soustraits des exigences d'installation.