Pourquoi tant de Mac téléchargent-ils un .dmg contenant un seul .pkg?

22

J'ai remarqué que de nombreux téléchargements sont un dmg (image disque) qui contient un seul fichier pkg (package d'installation). Habituellement, le paquet semble être déjà compressé car le dmg ne réduit pas beaucoup la taille du fichier, le cas échéant.

Exemple :

Une économie de 737 658 octets, soit 0,6% de la taille du fichier d'origine.

Y a-t-il une raison de ne pas simplement distribuer le paquet? Les économies de compression de 0,6% sont-elles si importantes? Ou est-ce simplement la façon dont les choses ont toujours été faites sur Mac?

(Oui, je me rends compte que 737 658 octets fois tous les millions de téléchargements que le dmg obtient s'ajoutent, mais il semble toujours ennuyeux d'avoir des étapes supplémentaires pour monter un dmg, exécuter le programme d'installation puis démonter le dmg. Peut-être un la meilleure question est "pourquoi Mac OS X ne reconnaît-il pas un dmg avec un seul paquet à l'intérieur comme juste un paquet et l'installe simplement sans nécessiter tout ce montage et démontage?")

Jim McKeeth
la source
En fait, les packages modernes sont des fichiers plats, pas des dossiers. Donc, les mettre dans un dmg juste pour fournir un fichier plat n'est plus nécessaire.
mlaster
@mlaster Cela ne semble pas être vrai. Avez-vous un exemple?
Gerry
1
radiosilenceapp.com/downloads/Private%20Eye.pkg en est un exemple, tout comme JavaForMacOSX10.7.pkg (bien qu'Apple l'ait toujours en tant que .dmg lorsqu'il est prêt à être téléchargé). J'en ai plusieurs autres dans mes archives de téléchargements, mais ce n'est certainement pas encore universel. fileles répertorie comme "archive xar - version 1" Mais il y a ensuite le problème de s'assurer que le serveur Web est configuré pour forcer les fichiers .pkg à télécharger plutôt qu'à s'afficher. (Je m'attends à ce que certains développeurs utilisent .zip au lieu de .dmg pour la même raison - même les pires serveurs Web et navigateurs configurés savent télécharger des fichiers .zip).
TJ Luoma
1
Cependant, même une fois que nous avons obtenu des fichiers plats, de nombreux développeurs placent des fichiers .pkg dans un .zip car ils peuvent compter sur les serveurs pour que leur type MIME soit correctement défini pour les fichiers .zip mais pas nécessairement pour .pkg (ou .dmg d'ailleurs) ).
TJ Luoma

Réponses:

24

Techniquement, un .pkg n'est pas un fichier , mais un dossier . Il est donc peut-être essentiel de le collecter dans un seul fichier pour le télécharger.

GEdgar
la source
1
Je ne m'en étais même pas rendu compte, mais vous avez frappé le clou sur la tête.
Gerry
Je ne le savais pas non plus pour un .pkg. Sachant que tout cela a du sens. Merci!
Jim McKeeth
2
Le compresser dans un dmg signifie que tous les attributs de fichier étendus OS X et / ou les fourchettes de ressources sont préservés et vous pouvez les servir à partir d'un serveur Web non OS X. C'est aussi pourquoi le format du package a été mis à jour pour inclure des fichiers plats dans les versions récentes d'OS X.
Joe Block
6
Cette réponse n'est plus tout à fait vraie, les .pkgfichiers sont aujourd'hui plus qu'un simple dossier: en.wikipedia.org/wiki/Installer_(OS_X)#Installer_package
t0r0X
1
@wisbucky: cela doit être plus récent que 2011, comme l'a noté t0r0X.
GEdgar
14

L'intégrité des données sur l'image DMG peut être vérifiée avec l'utilitaire de disque. Vous pouvez obliger l'utilisateur à accepter la licence avant de monter dmg. Il pourrait être verrouillé contre toute modification. Vous pouvez facilement ajouter des fichiers et dossiers cachés sur DMG. Vous pouvez créer une image de fond. Vous pouvez le protéger contre la suppression pendant le transit via des systèmes de fichiers non compatibles avec les métadonnées comme FAT.

Beaucoup de raisons en fait .

iskra
la source
1
Toutes les fonctionnalités intéressantes d'un DMG, mais elles n'ajoutent rien à un PKG à moins qu'elles ne puissent sérieusement vérifier leur propre intégrité.
Jim McKeeth
6

Une raison possible pourrait être que Safari par défaut monte automatiquement les fichiers DMG, et qu'une fenêtre du Finder apparaîtra avec le contenu. À son tour, le dossier DMG pourrait être stylisé avec par exemple une image d'arrière-plan. Je suppose que cela pourrait être considéré comme plus convivial que d'avoir à rechercher dans votre dossier Téléchargements un programme d'installation, mais je conviens que c'est assez théorique.

Une autre raison serait la possibilité de regrouper également d'autres fichiers de support, par exemple des fichiers de documentation ou même des installateurs secondaires.

Cependant, ce n'est pas une distribution aussi commune pour commencer. La majorité des applications sont distribuées sous forme de dossiers .app autonomes dans un fichier DMG (sinon via l'App Store maintenant). Votre exemple semble être plutôt une exception pour moi, bien qu'il soit peut-être plus courant avec certains canaux de distribution particuliers? Personnellement, je ne m'y attarderais pas beaucoup plus.

Gerry
la source
1
+ 1 pour le dernier paragraphe - Je pensais qu'en raison de certains chevaux de Troie, les fichiers .dmg ne sont pas (ne devraient certainement pas) être montés automatiquement
user151019
@Gerry, monté automatiquement ?? Quel décor fou est-ce?
Pacerier
@Gerry, est-ce que cela ne contredit pas "... d'accord de licence .." dans apple.stackexchange.com/a/30698/6533 ?
Pacerier
1

Une autre raison encore est que vous ne pouvez pas exécuter les fichiers .pkg directement à partir des volumes réseau, mais vous pouvez exécuter un .dmg à partir d'un volume réseau, puis lancer le package.

benwiggy
la source