DMG-файл — формат образов дисков Apple¶
DMG-файл (Disk Image) — формат файла-образа диска, используемый в операционных системах macOS и OS X для распространения программного обеспечения, создания резервных копий и виртуального «монтирования» дисковых носителей. Файл с расширением .dmg содержит точную копию файловой системы диска и при открытии в macOS представляется пользователю как виртуальный накопитель, появляющийся на рабочем столе и в Finder аналогично физическому диску.
¶Структура и формат
DMG-файл представляет собой контейнер, внутри которого может находиться файловая система одного из нескольких поддерживаемых типов:
- UDIF (Universal Disk Image Format) — основной формат образов Apple, разработанный для macOS;
- UDZO — сжатый вариант UDIF (используется LZFSE, zlib или bzip2);
- ULFO — сжатие LZFSE (для более новых версий macOS);
- ULMO — сжатие LZMA;
- UDRO — несжатый образ;
- UDZO с шифрованием — образ может быть защищён паролем с использованием AES-128 или AES-256.
Внутри образа может находиться как обычная файловая система HFS+ или APFS, так и специальная структура каталогов, содержащая метаданные: расположение иконок, фоновое изображение окна Finder, лицензионное соглашение и другую информацию, отображаемую при монтировании.
¶История
Формат DMG появился в конце 1990-х годов в рамках перехода Apple на собственную файловую систему HFS+. Первоначально для дистрибуции программного обеспечения использовался формат DMG, заменивший устаревшие образы .img и .smi. С выходом Mac OS X формат стал основным способом распространения программ для платформы Apple. В 2016 году, с выходом macOS Sierra, Apple начала постепенно переходить на формат .pkg и онлайн-дистрибуцию через Mac App Store, однако .dmg остаётся распространённым способом распространения программ вне магазина.
¶Создание и монтирование
¶Создание
В macOS для создания DMG-образа используется утилита Дисковая утилита (Disk Utility), входящая в состав операционной системы. Пользователь может выбрать размер образа, тип файловой систему, степень сжатия и, при необходимости, шифрование. Также существуют сторонние утилиты (например, hdiutil — командная утилита macOS), позволяющие создавать и преобразовывать образы из терминала:
`` hdiutil create -volname "MyDisk" -srcfolder ./mydata -ov -format UDZO output.dmg ``
¶Монтирование
В macOS для открытия DMG-файла достаточно двойного щелчка по файлу. Система автоматически проверяет целостность образа (если встроена контрольная сумма), монтирует его как виртуальный диск и открывает окно Finder. После завершения работы образ отсоединяется перетаскиванием иконки в Корзину или через меню «Отключить».
В Windows и Linux для работы с DMG-файлами требуются сторонние утилиты: например, 7-Zip (для извлечения содержимого), dmg2img (для преобразования в формат .img), Acidanthera-утилиты или эмуляторы виртуальных дисков.
¶Применение
Основные сферы использования DMG:
- Распространение программного обеспечения. Большинство программ, распространяемых вне Mac App Store, поставляются в виде DMG-образа, содержащего приложение и, как правило, символическую ссылку на папку «Программы» для упрощения установки.
- Резервное копирование. Позволяет создавать точные копии разделов диска, включая загрузочные разделы, что используется при клонировании систем.
- Лицензирование. Поддержка шифрования и парольной защиты позволяет использовать образы для защиты распространяемого ПО.
- Дистрибуция Live-систем. Некоторые загрузочные утилиты macOS (например, macOS Recovery) используют DMG для хранения среды восстановления.
¶Отличие от ISO
Часто DMG сравнивают с форматом ISO ( .iso), который является международным стандартом (ISO 9660 / UDF) и поддерживается повсеместно. Основные отличия:
| Характеристика | DMG | ISO |
|---|---|---|
| Платформа | macOS | Кроссплатформенный |
| Шифрование | Поддерживается | Не поддерживается |
| Сжатие | Несколько алгоритмов | Ограниченно (UDF) |
| Метаданные Finder | Поддерживаются | Отсутствуют |
| Поддержка в Windows | Требует сторонних утилит | Нативная |
¶Ограничения
DMG-файлы не могут быть смонтированы «нативно» вне экосистемы Apple без дополнительного программного обеспечения. Кроме того, образы, созданные в новых версиях macOS (с использованием APFS), могут не открываться в старых версиях системы. При распространении программ важно учитывать, что Gatekeeper по умолчанию блокирует запуск приложений из образов, не подписанных идентификатором разработчика Apple.
¶Примечания
Источники:
- Документация Apple Developer — Disk Utility Help
- Руководство по использованию macOS
- hdiutil man page (macOS)
- Формат UDIF: описание структуры (Apple Technical Note)
