Відповіді:
Встановіть 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
mount: wrong fs type, bad option, bad superblock on /dev/loop0
file file.dmg
. Ви також можете спробувати 7z l file.dmg
перерахувати вміст.
dmg2img v1.6.2
. Я запустив dmg2img, на mysql-5.5.28-osx10.6-x86_64.dmg
якому створено mysql-5.5.28-osx10.6-x86_64.img
, але він не монтується.
Щоб його витягнути, набагато простіше використовувати 7zip. Просто робіть:
7z x file.dmg
7z
зробив роботу, тоді як dmg2img
скаржився на зіпсований образ dmg.
0.unknown partition
для мене.
Це працює для мене:
7z x
hfs
файл розділуВитяг за допомогою 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
Знайдіть hfs
розділ (ось 4.hfs
файл):
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
Змонтуйте його до папки:
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
Якщо вам вдасться виконати вказівки Lekensteyn, і ви зможете отримати більше сил для вас. Якщо ви отримуєте
$ 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,
Зараз Ubuntu поставляється лише з dmg2img версії 1.6.2, а версія 1.6.4 іноді має значення. Також ви можете витягти конкретні розділи з dmg, і лише деякі з них є 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
При використанні dmg2img file.dmg imagefile.img
в Linux, якщо ви отримуєте ПОМИЛКУ: повідомлення про помилку інфляції, просто встановіть 7zip як
sudo aptitude install p7zip-full
і видайте наступну команду на терміналі
7z x your_file.dmg
dmg2img InstallESD.dmg imagefile.img
на терміналі.Тепер ви можете змонтувати imagefile.img за допомогою
modprobe hfsplus
і потім
mount -t hfsplus -o loop mountain.img /mnt
У випадку деяких .dmg
s, ви не можете ні 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.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
Успіху!
7z
у файлі dmg. Навіщо тоді конвертувати?
7z x your.dmg
не вдається Can't open as archive: 1
, і коли dmg2img
вихід не буде прийнятий mount
жодним із них. Поясню
після відповіді @aman та @tuxdna, оскільки dmg2img, здається, не працює на стислих зображеннях dmg.
тому я створив скрипт bash (тестувався на ubuntu 14.10), щоб автоматизувати процес:
знайти його тут: 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-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