Как извлечь содержимое DMG без его монтирования? Я хочу добавить систему автообновления в свое приложение. Он загружает DMG с веб-сайта, а затем извлекает из него новую версию приложения.
Выписка из DMG
Ответы (3)
Некоторые файлы .dmg
можно извлечь с помощью 7-zip.
$ 7z x your.dmg
$ ls
your.dmg
0.MBR
1.Primary GPT Header
2.Primary GPT Table
3.free
4.hfs
5.free
6.Backup GPT Table
7.Backup GPT Header
... и после извлечения файла 4.hfs
:
$ 7z x 4.hfs
... вы получите содержимое файла .dmg
.
Вы также можете смонтировать .dmg
в Mac OS X с помощью команды hdiutil
(которая также используется Homebrew Cask).
См. этот вопрос Ask Ubuntu, чтобы узнать больше о вариантах использования в Linux.
7z
.
- person Mengdi Gao; 17.09.2017
Dmg — это просто формат, используемый для MacOS. Это несжатый формат файла, такой как zip
или tar.gz
. У вас есть несколько вариантов его монтирования. Вот несколько вариантов.
- Дважды щелкните по нему, чтобы смонтировать.
- Используйте
hdiutil attach your.dmg
для монтирования файла dmg. После установки на него используйте командную строку, чтобы извлечь нужные файлы.
Это противоречит дизайну DMG, поэтому это очень болезненно. DMG предназначены для монтажа, в этом весь смысл их существования. Вам нужно будет полагаться на экспериментальный код, если вы хотите сделать что-то подобное. Возможно, вам будет удобнее использовать не-DMG-архив, такой как zip-файл, или настроить автоматический процесс обновления на загрузку, монтирование, и размонтирование предоставленного вами DMG-файла.