Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Выписка из DMG

Автор вопроса: Henry ManisterОтветов: 3

Как извлечь содержимое DMG без его монтирования? Я хочу добавить систему автообновления в свое приложение. Он загружает DMG с веб-сайта, а затем извлекает из него новую версию приложения.

macosextractdmg

Ответы

Ответ 1 · рейтинг 10 · Mengdi Gao

Некоторые файлы .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.

Ответ 2 · рейтинг -1 · Alston

Dmg - это просто формат, используемый для MacOS. Это несжатый формат файла, такой как zip или tar.gz. У вас есть несколько вариантов его монтирования. Вот несколько вариантов.

  1. Дважды щелкните по нему, чтобы смонтировать.
  2. Используйте hdiutil attach your.dmg для монтирования файла dmg. После установки на него используйте командную строку, чтобы извлечь нужные файлы.

Ответ 3 · рейтинг -6 · Brighid McDonnell

Это противоречит дизайну DMG, поэтому это очень болезненно. DMG предназначены для монтажа, в этом весь смысл их существования. Вам нужно будет полагаться на экспериментальный код, если вы хотите сделать что-то подобное. Возможно, вам будет удобнее использовать не-DMG-архив, такой как zip-файл, или настроить автоматический процесс обновления на загрузку, монтирование, и размонтирование предоставленного вами DMG-файла.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы