Как пользователь Linux, мне нужно получить содержимое файла .dmg (образ диска Mac OSX), который содержит установщик приложения.
Я пытался dmg2dir
(что требует dmg2img
), который создал файл .img, но ничего больше.
$ sudo dmg2dir jdk-8u51-macosx-x64.dmg
==> Routines successfully accomplished. Ready!
==> Prepare loop device...
==> Mount block device...
Error looking up object for device /dev/disk/by-label/JDK\x208\x20Update\x2051 INTENSO openSUSE\x20Live\x20CD\x20GNOME dump
Variable is empty.
Мне просто нужно распаковать файлы из файла .dmg, я не хочу его монтировать.
Если вам интересно, мне нужно это для создания портативной среды разработки, которая будет использоваться на семинарах на компьютерах, которые не могут быть подготовлены заранее.
Ответы:
Просто используйте
7z x
.В случае, например, Sublime text,
7z x "Sublime Text 2.0.2.dmg"
будет достаточно извлечь все файлы.В других случаях, таких как, например, JDK, вам приходится иметь дело с какой-то матрешкой.
Но в конечном итоге вы получите папку, содержащую файлы, которые вы ищете.
источник
Иногда 7z не работают правильно.
Используйте https://sourceforge.net/projects/catacombae/files/HFSExplorer/0.23.1/ для этих случаев
источник
На Mac, если dmg является изображением каталога, содержащего все файлы, создайте tgz каталога вместо dmg и перенесите его.
источник