如何在 Linux Ubuntu for MacOS 上创建 DMG 文件

Cry*_*imp 10 macosx binary cross-compilation

我在 linux 上为 MacOS 交叉编译了一个程序,现在我希望该 MacOS 二进制文件转换为 MacOS 的 DMG 文件。

有没有办法将 Linux (Ubuntu) 上的 MacOS 二进制文件转换为 MacOS 的 DMG 文件?

and*_*.46 5

几种方法可以在 Ubuntu 下完成,我在这里描述了一种我在 Ubuntu 18.04 上测试过的技术,并在同事的 MacOS 计算机上测试了生成的 dmg 文件。在网上推荐的几种技术中,我相信这是更好的选择!

只需遵循几个相对简单的步骤:

  1. 安装一些应用程序:首先,您需要安装hfsprogsApple 的 HFS+ 文件系统开源工具的一个端口:

    sudo apt-get install hfsprogs
    
    Run Code Online (Sandbox Code Playgroud)

    这将为使用 Apple 的 HFS+ 文件系统提供必要的工具。

  2. 创建 HFS+ 文件:接下来您将创建一个 16MB dmg 文件并将其格式化为 HFS+ 使用以下两个命令行:

    dd if=/dev/zero of=/tmp/my_application.dmg bs=1M count=16 status=progress
    mkfs.hfsplus -v Install /tmp/my_application.dmg
    
    Run Code Online (Sandbox Code Playgroud)

    这里有几个变量你应该看看:你可以改变count=16以反映你需要的 dmg 文件的大小,你可以改变卷标,这里给出为-v Install.

  3. 挂载文件,复制您的程序:现在您可以创建一个挂载点,将您的 dmg 文件挂载在那里,将您的程序文件复制到挂载的 dmg 文件中,然后将其全部卸载:

    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
    
    Run Code Online (Sandbox Code Playgroud)

    此处要更改的变量当然cp我在上面简单地给出的命令中应用程序的实际名称my_program

现在您完成的 dmg 文件已/tmp/my_application.dmg准备好在 MacOS 上进行部署和测试!

参考: