30 votes

Pourquoi installons-nous les logiciels via des fichiers `.dmg` ?

Quand je veux installer un logiciel, je télécharge généralement une .dmg (Disk iMaGe). Lorsque je l'ouvre, ce .dmg ressemble à ce que j'appellerais un "disque virtuel" (d'où son nom, je présume) et il est répertorié dans le fichier Finder sous devices . Il est également répertorié dans Disk Utility sous Disk Images et il semble qu'il puisse être effacé ou démonté comme n'importe quel autre disque.

  • Quelle est la logique pour savoir quel logiciel doit être installé avec un tel "disque virtuel" ?
  • Pourquoi ne se présente-t-il pas comme un simple fichier binaire ou je ne sais quoi ?

13 votes

L'installation d'un logiciel peut toujours causer d a m a g e.

1 votes

Un simple fichier binaire serait un installateur. Avec DMG, vous copiez simplement l'application sans exécuter de programme d'installation.

10 votes

La plupart des applications Mac ressemblent à des fichiers uniques, mais sont en réalité des "paquets d'applications", c'est-à-dire des dossiers contenant de nombreux fichiers. Le Finder les affiche comme une entité unique, mais vous pouvez faire un clic droit dessus et sélectionner "Ouvrir le contenu" pour inspecter les fichiers à l'intérieur. Donc, "simple binaire" ne fonctionnera pas.

37voto

Milan Novota Points 10892

Les DMG ont quelques caractéristiques clés qui les rendent supérieures aux simples zips.

  • Ils constituent un système de fichiers complet (ce qui signifie qu'ils peuvent stocker les autorisations de fichiers, avoir des arrière-plans de dossiers personnalisés, etc.)
  • Ils prennent en charge les CLUF "obligatoires" avant le montage, ce qui est appréciable pour les aspects juridiques.
  • Fournir un environnement d'exécution plus fiable. Si vous devez utiliser le chemin absolu pour l'installation (ce qui ne devrait pas être le cas), vous pouvez préparer le DMG, le marquer comme étant en lecture seule et l'utiliser pour l'installation.

La principale caractéristique est qu'ils prennent en charge le système de fichiers HFS+ complet. Zip (communément, les versions Linux supportent parfois les permissions) est stupide et ne supporte que le regroupement de fichiers et de dossiers et rien d'autre. Pas de métadonnées, juste les fichiers.

14 votes

Points supplémentaires : à partir de la version 10.12, les fichiers .dmg peuvent être signés par un code pour garantir leur intégrité (les fichiers .zip peuvent être signés par un code). contiennent mais ne peuvent pas eux-mêmes être signés de manière à survivre au téléchargement). De plus, l'option "binaire simple" ne fonctionne pas du tout, car la plupart des logiciels MacOS sont fournis sous forme de paquets - des dossiers avec une structure interne complexe (cachée) - plutôt que de simples fichiers.

0 votes

@Sirens Il parle de la signature de l'image disque elle-même, pas du contenu de l'image disque. Voir TN2206 .

0 votes

@CharlesSrstka Huh, je retire ce que j'ai dit ! Je n'avais pas réalisé que le terme "signe de code" est utilisé avec les archives.

3voto

Wes Toleman Points 131

Le logiciel Mac peut être livré en tant que .app paquet d'applications (essentiellement un dossier contenant toutes les ressources du programme) ou en tant que .pkg un installateur qui est un programme qui installe des applications d'une manière similaire à celle de Windows.

Seuls les outils de ligne de commande sont disponibles sous forme de binaires simples qui seront ensuite copiés quelque part dans le dossier de l'utilisateur. PATH comme /usr/local/bin .

Ceux-ci peuvent être emballés dans une image disque OS X/MacOS ( .dmg ) ou un format d'archive traditionnel tel que .zip o .tar .


Quelle est la logique pour savoir quel logiciel doit être installé avec un tel "disque virtuel" ?

Cela dépend en grande partie du développeur. A .dmg est juste un disque dur virtuel, pas un installateur. Le choix d'utiliser un .dmg concerne l'emballage plutôt que l'installation.

Si une application est une simple .app bundle, il est autonome et peut être exécuté en double-cliquant dessus. Il est généralement copié dans /Applications pour plus de commodité.

En plus du cryptage et des CLUF à l'ouverture, l'avantage d'une .dmg sur un type d'archive est une marque. .dmg peuvent être dotés d'icônes et d'images d'arrière-plan personnalisées et la disposition du contenu peut être fixée. .dmg sont généralement en lecture seule, de sorte que leur contenu reste exactement tel que le développeur l'a prévu.

Ils obligent également l'utilisateur à choisir l'emplacement de l'application ; lorsque vous décompressez une archive, le contenu est généralement extrait à l'endroit où se trouve l'archive. En revanche, .dmg seront montés dans le système de fichiers, puis le fichier .app doit être explicitement copié.


Pourquoi ne se présente-t-il pas comme un simple fichier binaire ou je ne sais quoi ?

Une application Mac est plus qu'un simple binaire. En plus du binaire (situé à l'adresse <appname>.app/Contents/MacOS/ ) et .app comprend un certain nombre de ressources dans <appname>.app/Contents/Resources/ . Ces ressources comprennent des icônes, des graphiques et des fichiers de localisation tels que en.lproj .

2voto

Nathan Feger Points 7675

Y a-t-il une autre utilisation des fichiers .dmg que l'installation du logiciel ? que l'installation de logiciels ?

Une autre caractéristique utile des DMG (puisque vous avez demandé d'autres utilisations) est la possibilité de créer un espace de stockage crypté et de stocker des fichiers dans cet espace protégé. Cette fonction est utile si vous souhaitez protéger certains fichiers, mais pas crypter l'intégralité de votre disque dur principal.

Voir Utilitaire de disque pour MacOS Sierra : Créer une image disque à l'aide de l'Utilitaire de disque pour plus d'informations sur la création de fichiers .dmg cryptés.

0 votes

Le cryptage est cependant déjà possible sans avoir besoin de .dmg . Est-ce qu'Unix ne crypte pas ?

0 votes

@ Pacerier -- oh bien sûr -- comme tout avec Linux/Unix, il y a plus d'une façon de faire quelque chose.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X