Réponses:
Installez dmg2img .
Ensuite, lisez la page d’information sur le paquet et la page de manuel pour voir si cela vous est utile.
L'application semble convertir le fichier .dmg en un fichier pouvant être monté à l'aide de la mount
commande suivante:
dmg2img file.dmg imagefile.img
De votre article Wikipedia , la prochaine commande semble être disponible pour le faire:
sudo mount -o loop -t hfsplus imagefile.img /mnt
De cette manière, le fichier imagefile.img
est un résultat de dmg2iso
et le contenu sera disponible sur /mnt
. Si le type hfsplus n'est pas détecté, vous devrez peut-être charger le module du noyau pour cela:
sudo modprobe hfsplus
Une fois terminé, vous pouvez le démonter en lançant:
sudo umount /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0
file file.dmg
. Vous pouvez également essayer 7z l file.dmg
de lister le contenu.
dmg2img v1.6.2
. J'ai couru dmg2img sur mysql-5.5.28-osx10.6-x86_64.dmg
lequel créé mysql-5.5.28-osx10.6-x86_64.img
, mais il ne monte pas.
Pour l'extraire, il est beaucoup plus facile d'utiliser 7zip. Faites simplement:
7z x file.dmg
7z
fait le travail, alors que dmg2img
s'est plaint d'une image corrompue de dmg.
0.unknown partition
pour moi.
Cela fonctionne pour moi:
7z x
hfs
fichier de partitionExtraire en utilisant 7z x
root # aptitude install p7zip-full
root # 7z x ../mysql-5.5.28-osx10.6-x86_64.dmg
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: ../mysql-5.5.28-osx10.6-x86_64.dmg
Extracting 0.MBR
Extracting 1.Primary GPT Header
Extracting 2.Primary GPT Table
Extracting 3.free
Extracting 4.hfs
Extracting 5.free
Extracting 6.Backup GPT Table
Extracting 7.Backup GPT Header
Everything is Ok
Files: 8
Size: 125475840
Compressed: 117543935
root # ls
0.MBR 1.Primary GPT Header 2.Primary GPT Table 3.free 4.hfs 5.free 6.Backup GPT Table 7.Backup GPT Header
Localisez la hfs
partition (ici c'est un 4.hfs
fichier):
root # ls -l
total 122548
-rw-r--r-- 1 root root 512 Feb 5 16:06 0.MBR
-rw-r--r-- 1 root root 512 Feb 5 16:06 1.Primary GPT Header
-rw-r--r-- 1 root root 16384 Feb 5 16:06 2.Primary GPT Table
-rw-r--r-- 1 root root 3072 Feb 5 16:06 3.free
-rw-r--r-- 1 root root 125435904 Feb 5 16:06 4.hfs
-rw-r--r-- 1 root root 2560 Feb 5 16:06 5.free
-rw-r--r-- 1 root root 16384 Feb 5 16:06 6.Backup GPT Table
-rw-r--r-- 1 root root 512 Feb 5 16:06 7.Backup GPT Header
Montez-le dans le dossier:
root # mkdir t
root # mount -oloop 4.hfs t
root # cd t/
root # ls
mysql-5.5.28-osx10.6-x86_64.pkg MySQL.prefPane MySQLStartupItem.pkg ReadMe.txt
7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 4.hfs
Si vous réussissez avec les instructions de Lekensteyn et binfalse plus de pouvoir pour vous. Si vous obtenez
$ lsmod | grep hfs
hfs 54782 0
hfsplus 84912 0
$ sudo mount -o loop,ro -t hfsplus imagefile.img /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
À l’heure actuelle, Ubuntu ne contient que les versions 1.6.2 et 1.6.4 de dmg2img qui font parfois une différence. Aussi, vous pouvez extraire des partitions spécifiques d'un fichier dmg et seulement certaines d'entre elles sont au format hfs +
$ dmg2img -l file.dmg
partition 0: Protective Master Boot Record (MBR : 0)
partition 1: GPT Header (Primary GPT Header : 1)
partition 2: GPT Partition Data (Primary GPT Table : 2)
partition 3: (Apple_Free : 3)
partition 4: disk image (Apple_HFS : 4)
partition 5: (Apple_Free : 5)
partition 6: GPT Partition Data (Backup GPT Table : 6)
partition 7: GPT Header (Backup GPT Header : 7)
$ dmg2img -p 4 file.dmg imagefile.img
Si vous utilisez dmg2img file.dmg imagefile.img
sur Linux si vous obtenez un message ERROR: Inflation failed, installez simplement 7zip en tant que
sudo aptitude install p7zip-full
et lancez la commande suivante sur le terminal
7z x your_file.dmg
dmg2img InstallESD.dmg imagefile.img
sur le terminal.Maintenant, vous pouvez monter imagefile.img avec
modprobe hfsplus
puis
mount -t hfsplus -o loop mountain.img /mnt
Dans le cas de certains .dmg
s, vous ne pouvez ni 7z x
eux, ni mount
le résultat de dmg2img
.
Dans ce cas, le .img
résultat de dmg2img your.dmg new.img
peut avoir ses paritions extraites avec 7z x
:
$ 7z x factor-macosx-x86-64-0.98.dmg
[...]
Extracting archive: factor-macosx-x86-64-0.98.dmg
ERROR: factor-macosx-x86-64-0.98.dmg
factor-macosx-x86-64-0.98.dmg
Open ERROR: Can not open the file as [Dmg] archive
$ dmg2img factor-macosx-x86-64-0.98.dmg factor.img
[...]
factor-macosx-x86-64-0.98.dmg --> factor.img
[...]
Archive successfully decompressed as factor.img
$ sudo mount -o loop -t hfsplus factor.img /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop5, missing codepage or helper program, or other error.
$ 7z x factor.img
[...]
Extracting archive: factor.img
[...]
Everything is Ok
Folders: 2717
Files: 10266
Size: 176431113
Compressed: 264214528
$ ls -lah factor factor/factor/
factor:
total 24K
drwx------ 6 cat cat 4.0K Jul 30 2018 .
drwxr-xr-x 21 cat cat 4.0K Feb 19 16:28 ..
drwx------ 8 cat cat 4.0K Jul 30 2018 factor
drwx------ 2 cat cat 4.0K Jul 30 2018 '[HFS+ Private Data]'
drwx------ 2 cat cat 4.0K Jul 30 2018 '.HFS+ Private Directory Data'$'\r'
drwx------ 2 cat cat 4.0K Jul 30 2018 .Trashes
factor/factor/:
total 97M
drwx------ 8 cat cat 4.0K Jul 30 2018 .
drwx------ 6 cat cat 4.0K Jul 30 2018 ..
drwx------ 163 cat cat 4.0K Jul 30 2018 basis
drwx------ 45 cat cat 4.0K Jul 30 2018 core
-rw-r--r-- 1 cat cat 702 Jul 30 2018 .dir-locals.el
drwx------ 288 cat cat 12K Jul 30 2018 extra
-rw-r--r-- 1 cat cat 32 Jul 30 2018 factor
drwx------ 3 cat cat 4.0K Jul 30 2018 Factor.app
-rw-r--r-- 1 cat cat 97M Jul 30 2018 factor.image
-rw-r--r-- 1 cat cat 40 Jul 30 2018 .gitattributes
-rw-r--r-- 1 cat cat 43 Jul 30 2018 git-id
-rw-r--r-- 1 cat cat 366K Jul 30 2018 libfactor.dylib
-rw-r--r-- 1 cat cat 16K Jul 30 2018 libfactor-ffi-test.dylib
-rw-r--r-- 1 cat cat 1.3K Jul 30 2018 LICENSE.txt
drwx------ 9 cat cat 4.0K Jul 30 2018 misc
-rw-r--r-- 1 cat cat 4.6K Jul 30 2018 README.md
-rw-r--r-- 1 cat cat 3.6K Jul 30 2018 .travis.yml
drwx------ 2 cat cat 4.0K Jul 30 2018 work
Succès!
7z
le fichier dmg. Pourquoi le convertir alors?
7z x your.dmg
échoue avec Can't open as archive: 1
, et quand dmg2img
la sortie ne sera pas acceptée par l'un mount
ou l'autre. Je vais clarifier
suite à la réponse de @aman et @tuxdna, car dmg2img ne semble pas fonctionner sur les images dmg compressées.
J'ai donc créé un script bash (testé sur Ubuntu 14.10) pour automatiser le processus de:
trouvez-le ici: https://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh
exemple d'utilisation:
panty@Computerino:[~/scripts]: mountdmg.sh -t hfsplus -d /mnt ~/Downloads/cutecom-ng.dmg
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Processing archive: /home/panty/Downloads/cutecom-ng.dmg
Extracting 0.MBR
Extracting 1.Primary GPT Header
Extracting 2.Primary GPT Table
Extracting 3.free
Extracting 4.hfs
Extracting 5.free
Extracting 6.Backup GPT Table
Extracting 7.Backup GPT Header
Everything is Ok
Files: 8
Size: 33549312
Compressed: 10059312
mountdmg.sh: successfully mounted 4.hfs on /dev/loop0
mountdmg.sh: run sudo umount /dev/loop0 when finished