Зачем конвертировать PKG в DMG?
Большинство людей делает это для переупаковки программ в образ диска, перетаскиванием в Applications, вместо установщика, или для архивирования установленных файлов в монтируемый образ без запуска полного установщика на целевой машине. .pkg остаётся нетронутым; извлекаются только файлы для повторной упаковки.
Способы конвертации PKG в DMG
Pacifist APP
Откройте .pkg в Pacifist, выберите файлы или bundle приложения, нажмите Извлечь в и сохраните во временную папку, затем используйте Файл > Новое изображение > Образ из папки в Disk Utility, чтобы создать .dmg из этой папки.
Disk Utility FREE
После извлечения содержимого .pkg в папку через Pacifist или командные утилиты, используйте Файл > Новое изображение > Образ из папки в Disk Utility для создания сжатого .dmg.
Об этих форматах
Файл PKG - это пакет установщика macOS; он устанавливает программное обеспечение на Mac. Дважды щелкните его, чтобы запустить приложение Apple Installer, которое проведет вас через процесс…
Открыть детали .PKG →Файл DMG - это образ диска Apple, стандартный контейнер для распространения приложений Mac. На Mac дважды щелкните по нему, чтобы смонтировать образ, затем перетащите приложение в папку…
Открыть детали .DMG →Качество и на что обратить внимание
- Установочные скрипты (
preinstall,postinstall) из.pkgне выполняются при прямом извлечении файлов - приложения, требующие системных изменений, регистрации лицензии или вспомогательных инструментов, могут работать некорректно. - Bill of Materials (BOM) внутри
.pkgзаписывает точные целевые пути, права доступа и владельца для каждого установленного файла; эта информация теряется при обходе установщика. .dmg- это монтируемый образ диска для распространения файлов, а не установщик - он не может запускать скрипты или управлять правами доступа так, как это делает.pkg.
Часто задаваемые вопросы
Зачем конвертировать PKG в DMG вместо простого запуска установщика?
.pkg на целевой машине.Будет ли приложение работать корректно, если оно извлечено из `.pkg` и помещено в `.dmg`?
Какие командные утилиты могут это сделать на macOS?
xar -xf file.pkg для распаковки XAR, cat Payload | gunzip | cpio -id для извлечения файлов, затем hdiutil create для создания .dmg.Следует ли использовать DMG или ISO для распространения программного обеспечения macOS?
.dmg - это нативный формат образа диска macOS. ISO предназначен для оптических образов дисков и редко является правильным форматом для распространения программного обеспечения macOS.