Als Linux-Benutzer muss ich den Inhalt einer .dmg-Datei (Mac OSX Disk Image) abrufen, die ein Anwendungsinstallationsprogramm enthält.
Ich habe versucht dmg2dir
(was erfordert dmg2img
), die eine IMG-Datei erstellt, aber sonst nichts.
$ sudo dmg2dir jdk-8u51-macosx-x64.dmg
==> Routines successfully accomplished. Ready!
==> Prepare loop device...
==> Mount block device...
Error looking up object for device /dev/disk/by-label/JDK\x208\x20Update\x2051 INTENSO openSUSE\x20Live\x20CD\x20GNOME dump
Variable is empty.
Ich muss nur die Dateien aus der .dmg-Datei entpacken, ich möchte sie nicht mounten.
Für den Fall, dass Sie neugierig sind, benötige ich dies, um eine tragbare Entwicklungsumgebung zu erstellen, die in Workshops auf Computern verwendet werden kann, die nicht im Voraus vorbereitet werden können.
Antworten:
Verwenden Sie einfach
7z x
.Im Fall von beispielsweise Sublime-Text ist
7z x "Sublime Text 2.0.2.dmg"
dies ausreichend, um alle Dateien zu extrahieren.In anderen Fällen, wie zum Beispiel beim JDK, muss man sich mit einer Art Matroschka auseinandersetzen.
Aber irgendwann erhalten Sie einen Ordner mit den gewünschten Dateien.
quelle
Manchmal funktioniert 7z nicht richtig.
Verwenden Sie in diesen Fällen https://sourceforge.net/projects/catacombae/files/HFSExplorer/0.23.1/
quelle
Wenn das dmg auf dem Mac ein Abbild eines Verzeichnisses ist, das alle Dateien enthält, erstellen Sie anstelle eines dmg ein tgz des Verzeichnisses und migrieren Sie es.
quelle