Wie erstelle ich eine DMG-Datei unter Linux Ubuntu für MacOS?


9

Ich habe ein Programm unter Linux für MacOS kreuzkompiliert und möchte nun, dass diese MacOS-Binärdatei für MacOS in eine DMG-Datei konvertiert wird.

Gibt es eine Möglichkeit, eine MacOS-Binärdatei unter Linux (Ubuntu) in eine DMG-Datei für MacOS zu konvertieren?

Antworten:


2

Es gibt verschiedene Möglichkeiten, wie dies unter Ubuntu erreicht werden kann, und ich beschreibe hier eine Technik, die ich unter Ubuntu 18.04 getestet und auch die resultierende dmg-Datei auf dem MacOS-Computer eines Kollegen getestet habe. Von den verschiedenen Techniken, die online vorgeschlagen wurden, glaube ich, dass diese die bessere Wahl ist!

Es sind nur wenige relativ einfache Schritte zu befolgen:

  1. Installieren Sie einige Anwendungen : Zuerst müssen Sie installieren, hfsprogswelches ein Port der Open Source-Tools von Apple für HFS + -Dateisysteme ist:

    sudo apt-get install hfsprogs
    

    Dies bietet das notwendige Tool für die Arbeit mit dem HFS + -Dateisystem von Apple.

  2. Erstellen Sie die HFS + -Datei : Als Nächstes erstellen Sie eine 16-MB-DMG-Datei und formatieren sie mit den folgenden zwei Befehlszeilen in HFS +:

    dd if=/dev/zero of=/tmp/my_application.dmg bs=1M count=16 status=progress
    mkfs.hfsplus -v Install /tmp/my_application.dmg
    

    Hier gibt es einige Variablen, die Sie sich ansehen sollten: Sie können die ändern count=16, um die Größe der benötigten dmg-Datei wiederzugeben, und Sie können die Datenträgerbezeichnung ändern, die hier als angegeben ist -v Install.

  3. Mounten Sie die Datei, kopieren Sie Ihr Programm : Jetzt können Sie einen Mount-Punkt erstellen, Ihre dmg-Datei dort mounten, Ihre Programmdateien in die gemounteten dmg-Dateien kopieren und dann alles aushängen:

    mkdir -pv /mnt/tmp
    sudo mount -o loop /tmp/my_application.dmg /mnt/tmp
    sudo cp -av my_program /mnt/tmp
    sudo umount /mnt/tmp
    

    Die Variable, die hier geändert werden muss, ist natürlich der tatsächliche Name Ihrer Anwendung in dem cpBefehl, den ich oben einfach als angegeben habe my_program.

Jetzt ist Ihre fertige dmg-Datei /tmp/my_application.dmgbereit für die Bereitstellung und das Testen unter MacOS!

Verweise:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.