Открытие файлов изображений в Linux часто является простым процессом. Однако файлы DMG немного сложнее, поскольку Linux изначально не поддерживает эти типы файлов, а также используемую ими файловую систему. Но если вам нужно только извлечь файл DMG, чтобы просмотреть и скопировать его содержимое на ваш компьютер с Linux, есть несколько обходных путей.
Давайте сначала поговорим о том, что такое файл DMG и почему системам на базе Linux труднее открыть их по сравнению с файлами изображений, такими как ISO.
Что такое файл DMG?
В отличие от кроссплатформенных файлов изображений, таких как ISO и IMG, файлы DMG предназначены только для использования на Mac. Это связано с тем, что файлы DMG являются проприетарными форматами файлов образов дисков, созданными Apple для обмена и распространения файлов и программного обеспечения для своих продуктов.
Файл образа диска — это тип файла, который действует как физический дисковод. Эти типы файлов клонируются с реальных жестких дисков и обеспечивают побайтовую копию всех хранимых данных.
Файлы образа диска, такие как DMG, часто используются для распространения программного обеспечения, поскольку разработчики могут легко создать файл образа своей текущей среды со всеми его зависимостями и распространять программное обеспечение как упаковка.
Это упрощает установку программного обеспечения для пользователей, поскольку все зависимости, конфигурации и файлы уже присутствуют, точно так же, как разработчики имеют их на своих машинах.
Почему вы можете захотеть извлечь файл DMG в Linux
Хотя формат файла DMG был создан для распространения программного обеспечения Apple, он также используется для создания резервных копий, архивирования сред и совместного использования всех видов носителей в аккуратно сжатом пакете.
А поскольку macOS уже поставляется с собственным инструментом для создания DMG, пользователи Mac, скорее всего, будут использовать DMG вместо другие форматы файлов образов дисков, такие как ISO.
Поскольку не все используют Mac, извлечение файла изображения DMG вне устройства Mac может оказаться проблематичным. Так зачем извлекать такой файл в Linux?
В соответствии с Статистика, Mac занимает около 17% рынка ПК в США, что ставит его на второе место среди самых популярных персональных компьютеров. Это означает, что многие люди используют Mac, а это также означает, что все больше людей используют DMG для сжатия и обмена файлами.
Таким образом, когда друг или семья отправляет вам файл DMG, это не так уж редко, как люди могут подумать. Конечно, могут быть и другие причины, по которым пользователь Linux может захотеть извлечь файл DMG в своей системе.
Проблема с извлечением файлов DMG в Linux
Будучи проприетарным форматом образа, файлы DMG сложнее монтировать и извлекать в Linux, поскольку он официально не поддерживает использование DMG.
Поскольку большинство дистрибутивов Linux используют расширяемые файловые системы, такие как ext2, ext3 и ext4, монтирование образа HFS или HFS+ в Linux приведет к несовместимости.
Хотя эти проблемы усложняют извлечение файлов DMG за пределами Mac, есть несколько обходных путей для успешного извлечения файлов в Linux.
Как извлечь файлы DMG в Linux
Самая большая проблема с извлечением файла DMG в Linux заключается в том, что его монтирование приведет к ошибке плохой файловой системы. Чтобы успешно смонтировать DMG, вам необходимо установить утилиту, известную как «hfsprogs”. Этот инструмент командной строки является портом из HFS от Apple. hdiutil инструмент, который позволяет их системе монтировать образы типа HFS.
Установив hfsprogs, ваша машина Linux сможет монтировать образы типа HFS, такие как DMG.
Перед установкой hfsprogs убедитесь, что обновить пакеты на вашем компьютере.
Теперь установите hfsprogs на Ubuntu/Debian, используя:
sudo apt установить hfsprogs
В Arch Linux установите hfsprogs из AUR с помощью yay:
ура -S hfsprogs
В Fedora, CentOS и RHEL используйте:
dnf установить hfsplus-tools
Чтобы смонтировать файл образа DMG, давайте создадим новую точку монтирования, создав новый каталог:
sudo mkdir /mnt/mntpoint
Давайте смонтируем файл DMG, запустив:
sudo mount -t hfsplus /dmg/location/Image.dmg /mount/mntpoint
Это должно успешно смонтировать файл образа DMG. Но в этом случае нам было предложено неверно указать тип файловой системы.
При выполнении следующей команды вы можете увидеть, что утилита выдает ошибку плохой файловой системы, поскольку DMG сжат. Linux особенно не любит монтировать сжатые файлы изображений.
файл image.dmg
Доступ к сжатым файлам DMG
Чтобы решить эту проблему, давайте воспользуемся утилитой, известной как dmg2img. Этот инструмент преобразует и распаковывает файл DMG в файл IMG.
Чтобы установить dmg2img в Ubuntu/Debian, запустите:
sudo apt установить dmg2img
В Arch Linux:
sudo pacman -S dmg2img
В дистрибутивах на основе RPM используйте:
sudo dnf установить dmg2img
Чтобы использовать dmg2img, используйте:
изображение dmg2img.dmg
dmg2img теперь будет сжимать и преобразовывать DMG в файл IMG. Давайте попробуем смонтировать файл образа, используя:
sudo mount /img/file/location/image.img /mount/point/location
Обратите внимание, что вам больше не нужно использовать -т hfsplus в команде, поскольку Linux изначально поддерживает файлы IMG.
Теперь, если вы просмотрите содержимое точки монтирования, вы должны увидеть все файлы в файле DMG.
Размонтирование файлов DMG в Linux
Смонтированные файлы образов дисков активно занимают системные ресурсы и ценное пространство памяти. Не забывайте размонтировать файлы образов дисков после каждого использования.
Для размонтирования используйте команду:
sudo umount /mount/точка/местоположение
Имейте в виду, что команда размонтировать и не размонтировать.
Чтобы проверить успешность размонтирования, просто введите ls или cd в точку монтирования.
А поскольку большинство дистрибутивов Linux поддерживают файлы IMG, вы также сможете смонтировать его с помощью графического интерфейса, щелкнув файл правой кнопкой мыши и выбрав параметр монтирования, который для Linux Mint Открыть с помощью Disk Image Mounter.
Как видите, появился значок монтирования; вы можете использовать это, чтобы размонтировать образ, щелкнув правой кнопкой мыши значок и выбрав Размонтировать.
Если вы посмотрите на расположение точки монтирования, вы увидите, что файлы теперь исчезли, что указывает на то, что файл образа был успешно размонтирован.
Стоит ли монтировать или распаковывать в Linux?
Если вам нужно извлечь файлы из файла образа DMG, есть несколько сторонних инструментов, таких как hfsprogs, которые вы можете использовать для монтирования файлов DMG в Linux.
Но если вам нужно только извлечь содержимое из файла DMG, то с этой задачей справятся инструменты для распаковки, такие как dmg2img и 7-Zip, хотя и с ограниченными возможностями. Если вам нужно отредактировать, удалить или добавить какие-либо файлы в файл DMG, то правильное монтирование — единственный способ.
Если вы решите смонтировать или разархивировать файл DMG в Linux, оба метода могут быть ненадежными. раз из-за разницы в файловых системах, типе используемого вами дистрибутива Linux и файла DMG сам. В крайнем случае извлечение файла DMG на виртуальной машине, установленной с macOS, вероятно, будет более надежным решением.