Как я могу открыть файл .dmg?

У меня есть .dmg файл, и я не могу понять, как его открыть. Как я могу его открыть?

Чтобы извлечь его, гораздо проще использовать 7zip:

7z x file.dmg

Устанавливать dmg2img.

Далее прочтите страница с информацией о пакете и страница руководства чтобы посмотреть, будет ли это полезно для вас.

Приложение, похоже, преобразует .dmg в файл, который можно смонтировать с помощью mount команда:

dmg2img file.dmg imagefile.img

От вашего Статья в Википедии, следующая команда, по - видимому, доступна для этого:

sudo mount -o loop -t hfsplus imagefile.img /mnt

Таким образом, файл imagefile.img является результатом dmg2iso и содержание будет доступно по адресу /mnt. Если тип hfsplus не обнаружен, возможно, вам потребуется загрузить для него модуль ядра:

sudo modprobe hfsplus

Когда это будет сделано, вы можете размонтировать его, выполнив:

sudo umount /mnt

Это работает для меня:

  • Извлечь с помощью 7z x
  • Найдите hfs файл раздела
  • Смонтируйте его в каталог

Извлечь с помощью 7z x

root # aptitude install p7zip-fullroot # 7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,4 CPUs)Processing archive: ../mysql-5.5.28-osx10.6-x86_64.dmgExtracting  0.MBRExtracting  1.Primary GPT HeaderExtracting  2.Primary GPT TableExtracting  3.freeExtracting  4.hfsExtracting  5.freeExtracting  6.Backup GPT TableExtracting  7.Backup GPT HeaderEverything is OkFiles: 8Size:       125475840Compressed: 117543935root # ls0.MBR  1.Primary GPT Header  2.Primary GPT Table  3.free  4.hfs  5.free  6.Backup GPT Table  7.Backup GPT Header

Найдите hfs раздел ( вот он 4.hfs файл ):

root # ls -ltotal 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

Смонтируйте его в папку:

root # mkdir troot # mount -oloop 4.hfs troot # cd t/root # lsmysql-5.5.28-osx10.6-x86_64.pkg  MySQL.prefPane  MySQLStartupItem.pkg  ReadMe.txt

Если вы преуспеете в выполнении инструкций Лекенштейна и бинфалса, у вас будет больше власти. Если вы получаете

$ lsmod | grep hfshfs                    54782  0 hfsplus                84912  0$ sudo mount -o loop,ro -t hfsplus imagefile.img /mntmount: wrong fs type, bad option, bad superblock on /dev/loop0,

Прямо сейчас Ubuntu поставляется только с dmg2img версии 1.6.2, а версия 1.6.4 иногда имеет значение. Кроме того, вы можете извлечь определенные разделы из dmg, и только некоторые из них являются hfs +

$ dmg2img -l file.dmgpartition 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
  • Текущие версии Ubuntu поставляются с 1.6.5 начиная с версии 14.04

В случае некоторых .dmgs, вы не можете ни 7z x их, ни mount результатом dmg2img.

В этом случае, .img в результате dmg2img your.dmg new.img может иметь свои параметры, извлеченные с помощью 7z x:

$ 7z x factor-macosx-x86-64-0.98.dmg[...]Extracting archive: factor-macosx-x86-64-0.98.dmgERROR: factor-macosx-x86-64-0.98.dmgfactor-macosx-x86-64-0.98.dmgOpen 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 /mntmount: /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: 2717Files: 10266Size:       176431113Compressed: 264214528$ ls -lah factor factor/factor/factor:total 24Kdrwx------  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  factordrwx------  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  .Trashesfactor/factor/:total 97Mdrwx------   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 basisdrwx------  45 cat cat 4.0K Jul 30  2018 core-rw-r--r--   1 cat cat  702 Jul 30  2018 .dir-locals.eldrwx------ 288 cat cat  12K Jul 30  2018 extra-rw-r--r--   1 cat cat   32 Jul 30  2018 factordrwx------   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.txtdrwx------   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.ymldrwx------   2 cat cat 4.0K Jul 30  2018 work

Успех!

При использовании dmg2img file.dmg imagefile.img в Linux, если вы получаете сообщение об ошибке: Ошибка инфляции, просто установите 7zip как

sudo aptitude install p7zip-full

и выполните следующую команду на терминале

7z x your_file.dmg
  • найдите файл InstallMacOSX.pkg/InstallESD.dmg
  • выполните команду dmg2img InstallESD.dmg imagefile.img на терминале.

Теперь вы можете смонтировать imagefile.img с помощью

modprobe hfsplus

и затем

mount -t hfsplus -o loop mountain.img /mnt

Прежде всего установите DMG2IMG. Теперь вы можете преобразовать его в IMG:

dmg2img your.dmg new.img 

То IMG может монтироваться с:

sudo modprobe hfsplussudo mount -t hfsplus -o loop new.img /mnt

И взгляните на /mnt

следуя ответу @aman и @tuxdna, потому что dmg2img, похоже, не работает со сжатыми изображениями dmg.

поэтому я создал скрипт bash (протестирован на ubuntu 14.10), чтобы автоматизировать процесс :

  • извлечение с помощью 7z во временную папку
  • ищете, какой раздел монтировать
  • скопируйте папку/раздел hfs/hfsplus в другое место
  • удалите временную папку
  • установите раздел

найдите его здесь: https://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh

пример использования:

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-18p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)Processing archive: /home/panty/Downloads/cutecom-ng.dmgExtracting  0.MBRExtracting  1.Primary GPT HeaderExtracting  2.Primary GPT TableExtracting  3.freeExtracting  4.hfsExtracting  5.freeExtracting  6.Backup GPT TableExtracting  7.Backup GPT HeaderEverything is OkFiles: 8Size:       33549312Compressed: 10059312mountdmg.sh: successfully mounted 4.hfs on /dev/loop0mountdmg.sh: run sudo umount /dev/loop0 when finished

Инструкции в некоторых сообщениях в этой теме работают только с более старыми версиями 7z.

Если вы хотите извлечь ТОЛЬКО файл 4.hfs из файла .dmg (т.Е. только на один уровень глубиной) и используете более новую версию 7-zip, вам нужно использовать другие параметры:

В 7-Zip [64] 9.20 вы можете использовать эту команду:

7z x file.dmg 4.hfs

В 7-Zip [64] 16.02 вам нужно использовать эту команду:

7z x -t* file.dmg 4.hfs