Das Öffnen von Bilddateien unter Linux ist oft ein unkomplizierter Vorgang. DMG-Dateien sind jedoch etwas komplizierter, da Linux diese Dateitypen sowie das von ihnen verwendete Dateisystem nicht nativ unterstützt. Wenn Sie jedoch nur eine DMG-Datei extrahieren müssen, um ihren Inhalt anzuzeigen und auf Ihren Linux-Computer zu kopieren, gibt es einige Problemumgehungen.
Lassen Sie uns zuerst darüber sprechen, was eine DMG-Datei ist und warum Linux-basierte Systeme sie im Vergleich zu Image-Dateien wie ISO schwerer öffnen.
Was ist eine DMG-Datei?
Im Gegensatz zu plattformübergreifenden Bilddateien wie ISO und IMG sind DMG-Dateien nur für die Verwendung durch einen Mac gedacht. Dies liegt daran, dass DMG-Dateien proprietäre Disc-Image-Dateiformate sind, die von Apple erstellt wurden, um Dateien und Software für ihre Produkte freizugeben und zu verteilen.
Eine Disc-Image-Datei ist ein Dateityp, der sich wie ein physisches Disc-Laufwerk verhält. Diese Dateitypen werden von tatsächlichen Festplatten geklont und stellen eine „Byte-für-Byte“-Kopie aller gespeicherten Daten bereit.
Disc-Image-Dateien wie DMG werden häufig zum Verteilen von Software verwendet, da Entwickler problemlos eine erstellen können Image-Datei ihrer aktuellen Umgebung mit allen Abhängigkeiten und vertreiben die Software als Paket.
Dies erleichtert Benutzern die Installation der Software, da alle Abhängigkeiten, Konfigurationen und Dateien bereits vorhanden sind, genau wie die Entwickler sie auf ihren Computern haben.
Warum möchten Sie vielleicht eine DMG-Datei unter Linux extrahieren?
Obwohl das DMG-Dateiformat zum Verteilen von Apple-Software entwickelt wurde, wird es auch verwendet, um Backups zu erstellen, Umgebungen zu archivieren und alle Arten von Medien in einem ordentlich komprimierten Paket zu teilen.
Und da macOS bereits mit einem nativen DMG-Erstellungstool ausgestattet ist, werden Mac-Benutzer wahrscheinlich stattdessen DMG verwenden andere Disc-Image-Dateiformate wie ISO.
Da nicht jeder einen Mac verwendet, kann sich das Extrahieren einer DMG-Bilddatei außerhalb eines Mac-Geräts als problematisch erweisen. Warum also eine solche Datei unter Linux extrahieren?
Entsprechend Statistik, nimmt der Mac etwa 17 % des US-PC-Marktes ein und ist damit das zweitbeliebteste PC-System. Das sind viele Leute, die einen Mac verwenden, was auch bedeutet, dass mehr Leute DMG verwenden, um ihre Dateien zu komprimieren und zu teilen.
Es ist also nicht so ungewöhnlich, dass Ihnen ein Freund oder eine Familie eine DMG-Datei sendet, wie die Leute vielleicht denken. Natürlich kann es auch andere Gründe geben, warum ein Linux-Benutzer eine DMG-Datei auf seinem System extrahieren möchte.
Das Problem beim Extrahieren von DMG-Dateien unter Linux
Da es sich um ein proprietäres Bildformat handelt, sind DMG-Dateien unter Linux schwieriger zu mounten und zu extrahieren, da es die Verwendung von DMG nicht offiziell unterstützt.
Da die meisten Linux-Distributionen erweiterbare Dateisysteme wie ext2, ext3 und ext4 verwenden, führt das Mounten eines HFS- oder HFS+-Images unter Linux zu Inkompatibilitäten.
Obwohl diese Probleme das Extrahieren von DMG-Dateien außerhalb eines Mac erschweren, gibt es einige Problemumgehungen, um Dateien unter Linux erfolgreich zu extrahieren.
So extrahieren Sie DMG-Dateien unter Linux
Das größte Problem beim Extrahieren einer DMG-Datei unter Linux besteht darin, dass das Mounten zu einem fehlerhaften Dateisystemfehler führt. Um ein DMG erfolgreich zu mounten, müssen Sie ein Dienstprogramm installieren, das als „hfsprogs”. Dieses Befehlszeilentool ist eine Portierung von Apples HFS hdiutil Tool, das es ihrem System ermöglicht, HFS-Images zu mounten.
Durch die Installation von hfsprogs ist Ihr Linux-Rechner in der Lage, HFS-Images wie DMG zu mounten.
Stellen Sie vor der Installation von hfsprogs sicher, dass dies der Fall ist Aktualisieren Sie die Pakete auf Ihrem Computer.
Installieren Sie nun hfsprogs unter Ubuntu/Debian mit:
sudo apt installiere hfsprogs
Installieren Sie unter Arch Linux hfsprogs aus dem AUR mit yay:
yay -S hfsprogs
Verwenden Sie unter Fedora, CentOS und RHEL:
dnf hfsplus-tools installieren
Um die DMG-Image-Datei zu mounten, erstellen wir einen neuen Mount-Punkt, indem wir ein neues Verzeichnis erstellen:
sudo mkdir /mnt/mntpoint
Lassen Sie uns die DMG-Datei mounten, indem Sie Folgendes ausführen:
sudo mount -t hfsplus /dmg/location/Image.dmg /mount/mntpoint
Das sollte die DMG-Image-Datei erfolgreich mounten. Aber in diesem Fall wurden wir mit einem falschen Dateisystemtypfehler aufgefordert.
Wenn Sie den folgenden Befehl ausführen, können Sie sehen, dass das Dienstprogramm einen fehlerhaften Dateisystemfehler auslöst, da die DMG komprimiert ist. Linux mag es besonders nicht, komprimierte Bilddateien zu mounten.
Datei image.dmg
Zugriff auf komprimierte DMG-Dateien
Um das Problem zu lösen, verwenden wir ein Dienstprogramm namens dmg2img. Dieses Tool konvertiert und dekomprimiert die DMG-Datei in eine IMG-Datei.
Um dmg2img unter Ubuntu/Debian zu installieren, führen Sie Folgendes aus:
sudo apt installiere dmg2img
Unter Arch-Linux:
sudo pacman -S dmg2img
Verwenden Sie bei RPM-basierten Distributionen:
sudo dnf installiere dmg2img
Um dmg2img zu verwenden, verwenden Sie:
dmg2img Bild.dmg
dmg2img komprimiert und konvertiert nun die DMG in eine IMG-Datei. Lassen Sie uns versuchen, die Bilddatei zu mounten, indem Sie Folgendes verwenden:
sudo mount /img/file/location/image.img /mount/point/location
Beachten Sie, dass Sie die nicht mehr verwenden müssen -t hfsplus Option im Befehl, da Linux IMG-Dateien nativ unterstützt.
Wenn Sie sich nun den Inhalt des Einhängepunkts ansehen, sollten Sie alle Dateien in der DMG-Datei sehen.
Unmounten von DMG-Dateien unter Linux
Gemountete Disc-Image-Dateien nehmen aktiv Systemressourcen und wertvollen Speicherplatz in Anspruch. Vergessen Sie nicht, Disc-Image-Dateien nach jedem Gebrauch zu unmounten.
Verwenden Sie zum Aushängen den Befehl:
sudo umount /mount/point/location
Denken Sie daran, dass der Befehl lautet Menge und nicht aushängen.
Um zu überprüfen, ob das Unmounten erfolgreich war, geben Sie einfach ls oder cd in den Mount-Punkt ein.
Und da die meisten Linux-Distributionen IMG-Dateien unterstützen, sollten Sie sie auch über die GUI mounten können, indem Sie mit der rechten Maustaste auf die Datei klicken und die Mount-Option auswählen, die für Linux Mint gilt Mit Disk Image Mounter öffnen.
Wie Sie sehen können, ist ein Mount-Symbol aufgetaucht; Sie können dies verwenden, um das Image zu unmounten, indem Sie mit der rechten Maustaste auf das Symbol klicken und auswählen Aushängen.
Wenn Sie sich den Ort des Einhängepunkts ansehen, sehen Sie, dass die Dateien jetzt weg sind, was darauf hinweist, dass die Image-Datei erfolgreich ausgehängt wurde.
Sollten Sie unter Linux mounten oder entpacken?
Wenn Sie Dateien aus einer DMG-Image-Datei extrahieren müssen, gibt es einige Tools von Drittanbietern wie hfsprogs, mit denen Sie DMG-Dateien in Linux mounten können.
Wenn Sie jedoch nur Inhalte aus der DMG-Datei extrahieren müssen, sollten Tools zum Entpacken wie dmg2img und 7-Zip die Arbeit erledigen, wenn auch mit eingeschränkten Fähigkeiten. Wenn Sie Dateien in der DMG-Datei bearbeiten, löschen oder hinzufügen müssen, ist das ordnungsgemäße Mounten die einzige Möglichkeit.
Unabhängig davon, ob Sie eine DMG-Datei unter Linux bereitstellen oder entpacken, sind beide Methoden möglicherweise immer noch unzuverlässig Zeiten aufgrund der unterschiedlichen Dateisysteme, der Art der verwendeten Linux-Distribution und der DMG-Datei selbst. Als praktikabler letzter Ausweg ist das Extrahieren der DMG-Datei auf einer VM, die mit macOS installiert ist, wahrscheinlich eine zuverlässigere Lösung.