L’ouverture de fichiers images sous Linux est souvent un processus simple. Les fichiers DMG sont, cependant, un peu plus compliqués car Linux ne supporte pas nativement ces types de fichiers ainsi que le système de fichiers qu’ils utilisent. Mais si vous avez seulement besoin d’extraire un fichier DMG pour le visualiser et copier son contenu sur votre machine Linux, il existe quelques solutions de contournement.

Parlons d’abord de ce qu’est un fichier DMG et pourquoi les systèmes basés sur Linux ont plus de mal à les ouvrir que les fichiers images comme les ISO.


Qu’est-ce qu’un fichier DMG ?

Contrairement aux fichiers image multiplateformes comme ISO et IMG, les fichiers DMG sont uniquement destinés à être utilisés sur Mac. En effet, les fichiers DMG sont des formats de fichiers d’image disque propriétaires créés par Apple pour partager et distribuer des fichiers et des logiciels pour ses produits.

Un fichier image de disque est un type de fichier qui agit comme un lecteur de disque physique. Ces types de fichiers sont clonés à partir de disques durs réels et fournissent une copie « octet par octet » de toutes les données stockées.

Les fichiers d’image disque tels que le DMG sont souvent utilisés pour distribuer des logiciels car les développeurs peuvent facilement créer un fichier image de leur environnement actuel avec toutes ses dépendances et distribuer le logiciel sous forme de paquet.

Cela facilite l’installation du logiciel par les utilisateurs puisque toutes les dépendances, les configurations et les fichiers sont déjà présents, tout comme les développeurs l’ont fait sur leurs machines.

Pourquoi extraire un fichier DMG sous Linux ?

Bien que le format de fichier DMG ait été créé pour distribuer les logiciels Apple, il est également utilisé comme moyen de faire des sauvegardes, d’archiver des environnements et de partager toutes sortes de médias dans un paquet soigneusement compressé.

Et puisque macOS est déjà livré avec un outil de création DMG natif, les utilisateurs de Mac utiliseront probablement DMG au lieu d’autres formats de fichiers d’image disque tels que ISO.

Comme tout le monde n’utilise pas un Mac, l’extraction d’un fichier image DMG en dehors d’un appareil Mac peut s’avérer problématique. Alors pourquoi extraire un tel fichier sur Linux ?

Selon Statista, le Mac occupe environ 17 % du marché américain des PC, ce qui le place au deuxième rang des systèmes informatiques personnels les plus populaires. Il y a donc beaucoup de gens qui utilisent un Mac, ce qui signifie aussi plus de gens qui utilisent DMG pour compresser et partager leurs fichiers.

Il n’est donc pas si rare qu’on le pense qu’un ami ou un membre de la famille vous envoie un fichier DMG. Bien sûr, il peut aussi y avoir d’autres raisons pour lesquelles un utilisateur de Linux voudrait extraire un fichier DMG sur son système.

Le problème de l’extraction des fichiers DMG sous Linux

Un homme avec des problèmes

Etant un format d’image propriétaire, les fichiers DMG sont plus difficiles à monter et à extraire sous Linux puisqu’il ne supporte pas officiellement l’utilisation de DMG.

Puisque la plupart des distributions Linux utilisent des systèmes de fichiers extensibles tels que ext2, ext3 et ext4, le montage d’une image HFS ou HFS+ sur Linux entraînera des incompatibilités.

Bien que ces problèmes rendent plus difficile l’extraction de fichiers DMG en dehors d’un Mac, il existe quelques solutions de contournement pour réussir à extraire des fichiers sous Linux.

Comment extraire des fichiers DMG sous Linux

Le plus gros problème avec l’extraction d’un fichier DMG sous Linux est que le montage d’un tel fichier entraînera une erreur de mauvais système de fichiers. Pour réussir à monter un DMG, vous devez installer un utilitaire connu sous le nom de « hfsprogs« . Cet outil de ligne de commande est un portage de l’outil HFS d’Apple. hdiutil outil qui permet à leur système de monter des images de type HFS.

En installant hfsprogs, votre machine Linux sera capable de monter des images de type HFS telles que DMG.

Avant d’installer hfsprogs, assurez-vous de mettre à jour les paquets sur votre ordinateur.

Maintenant, installez hfsprogs sur Ubuntu/Debian en utilisant :

 sudo apt install hfsprogs 

Sur Arch Linux, installez hfsprogs depuis l’AUR en utilisant yay :

 yay -S hfsprogs 

Sous Fedora, CentOS et RHEL, utilisez :

 dnf install hfsplus-tools 

Pour monter le fichier image DMG, nous allons créer un nouveau point de montage en créant un nouveau répertoire :

 sudo mkdir /mnt/mntpoint 

Montons le fichier DMG en exécutant :

 sudo mount -t hfsplus /dmg/location/Image.dmg /mount/mntpoint 

Cela devrait monter le fichier image DMG avec succès. Mais dans ce cas, une erreur de type de système de fichiers erroné s’est produite.

Erreur de mauvais système de fichiers

En exécutant la commande suivante, vous pouvez voir que l’utilitaire génère une erreur de système de fichiers car le DMG est compressé. Linux n’aime pas particulièrement monter des fichiers images compressés.

 file image.dmg 
Utiliser la commande file sur une image DMG

Accès aux fichiers DMG compressés

Pour résoudre ce problème, utilisons un outil utilitaire connu sous le nom de dmg2img. Cet outil va convertir et décompresser le fichier DMG en un fichier IMG.

Pour installer dmg2img sur Ubuntu/Debian, exécutez :

 sudo apt install dmg2img 

Sur Arch Linux :

 sudo pacman -S dmg2img 

Sur les distributions basées sur RPM, utilisez :

 sudo dnf install dmg2img 

Pour utiliser dmg2img, utilisez :

 dmg2img image.dmg 

dmg2img va maintenant compresser et convertir le DMG en fichier IMG. Essayons de monter le fichier image en utilisant :

 sudo mount /img/file/location/image.img /mount/point/location  

Notez que vous n’avez plus besoin d’utiliser l’option -t hfsplus dans la commande puisque Linux supporte nativement les fichiers IMG.

Maintenant, si vous regardez le contenu du point de montage, vous devriez voir tous les fichiers du fichier DMG.

Succès du montage de l'IMG

Démontage des fichiers DMG sous Linux

Les fichiers d’image disque montés consomment activement des ressources système et un espace mémoire précieux. N’oubliez pas de démonter les fichiers d’image disque après chaque utilisation.

Pour démonter, utilisez la commande :

 sudo umount /mount/point/location 

Gardez à l’esprit que la commande est umount et non démonter.

Pour vérifier si le démontage a réussi, il suffit de ls ou cd dans l’emplacement du point de montage.

Et puisque la plupart des distributions Linux supportent les fichiers IMG, vous devriez également être en mesure de le monter en utilisant l’interface graphique en faisant un clic droit sur le fichier et en sélectionnant l’option de montage, qui pour Linux Mint est Ouvrir avec le monteur d’image disque.

Montage via l'interface graphique

Comme vous pouvez le voir, une icône de montage est apparue ; vous pouvez l’utiliser pour démonter l’image en faisant un clic droit sur l’icône et en sélectionnant Démonter.

Démontage de l'image via l'interface graphique

Si vous regardez l’emplacement du point de montage, vous verrez que les fichiers ont disparu, indiquant que le fichier image a été démonté avec succès.

Faut-il monter ou dézipper sous Linux ?

Si vous devez extraire des fichiers d’un fichier image DMG, il existe quelques outils tiers tels que hfsprogs que vous pouvez utiliser pour monter des fichiers DMG sous Linux.

Mais si vous avez seulement besoin d’extraire le contenu d’un fichier DMG, des outils de décompression tels que dmg2img et 7-Zip devraient faire l’affaire, bien qu’avec des capacités limitées. Si vous avez besoin d’éditer, de supprimer ou d’ajouter des fichiers au fichier DMG, alors un montage correct est la seule solution.

Que vous choisissiez de monter ou de décompresser un fichier DMG sous Linux, les deux méthodes peuvent être parfois peu fiables à cause de la différence entre les systèmes de fichiers, le type de distro Linux que vous utilisez, et le fichier DMG lui-même. En dernier recours, l’extraction du fichier DMG sur une machine virtuelle installée avec macOS sera probablement une solution plus fiable.