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

我在Linux上为MacOS交叉编译了一个程序,现在我想将这个MacOS二进制文件转换成DMG文件以供MacOS使用。
有没有办法在Linux(Ubuntu)上将MacOS二进制文件转换成DMG文件呢?
1个回答

在Ubuntu下,有几种方法可以实现这一目标。我在这里描述了一种我在Ubuntu 18.04上测试过的技术,并且还在同事的MacOS电脑上测试了生成的dmg文件。在网上提出的几种技术中,我认为这是更好的选择!
只需要遵循几个相对简单的步骤:
安装一些应用程序:首先,您需要安装hfsprogs,这是Apple的HFS+文件系统开源工具的一个移植版本:
sudo apt-get install hfsprogs
这将提供必要的工具来处理Apple的HFS+文件系统。
创建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
这里有一些变量需要注意:您可以修改count=16以反映您所需的dmg文件的大小,并且您可以修改卷标,在此处给出为-v Install
挂载文件,复制您的程序:现在,您可以创建一个挂载点,在那里挂载您的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 要更改的变量当然是cp命令中的实际应用程序的名称,我在上面只是简单地写为my_program

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

参考资料:


有没有可能只使用一个文件夹来创建一个dmg文件,而不知道其大小? - AlienDrew