Linux:如何修改 .dmg 文件

ikr*_*reb 2 linux dmg-image 7-zip macos

我打了电话

 file file.dmg
Run Code Online (Sandbox Code Playgroud)

并收到了消息zlib compressed data。我使用以下命令提取dmg文件7z

7z x file.dmg
Run Code Online (Sandbox Code Playgroud)

然后我创建一个目录test挂载 hfs 文件

mount -t hfsplus -o loop 4.hfs test
Run Code Online (Sandbox Code Playgroud)

然后我修改数据并添加几个文件,然后想dmg用我修改后的数据构建一个新文件,但是如何?

har*_*ymc 5

以下是我为创建dmg文件找到的一些参考资料(但没有经验)。

libdmg-hfsplus

libdmg-hfsplus 存储库包含许多可移植的库和用于操作 HFS+ 文件系统和 DMG 映像的实用程序,仍处于实验阶段,因此它不包含任何允许从头开始构建 Apple DMG 映像的实用程序,但是可以转换ISO文件。

在文章如何在 Linux 上为基于 Windows 的应用程序构建 DMG 文件中找到了以下命令 ,以使用库的分叉版本从源代码构建:

    sudo apt-get install gcc
    sudo apt-get install g++
    sudo apt-get install cmake
    sudo apt-get install zlib1g-dev
    sudo apt-get install genisoimage
    git clone https://github.com/hamstergene/libdmg-hfsplus.git
    cd libdmg-hfsplus
    cmake .
    make
Run Code Online (Sandbox Code Playgroud)

生成的程序将在以下位置找到dmg/dmg并且可以像这样使用:

    # Generates IMG disk image with the help of genisoimage
    genisoimage -D -V "SetMeitClient" -no-pad -r -apple -file-mode 0777 -o generated.img original && \
    # Converts IMG into DMG ($dmgPath is the path that points to the DMG utility)
    dmg generated.img generated.dmg
Run Code Online (Sandbox Code Playgroud)

github 创建-dmg

这个开源项目被描述为:

用于构建精美 DMG 的 shell 脚本。

我在几个地方发现证词说它可以完成工作。

节点应用程序

这个开源项目需要npm并被描述为:

为您的 OS X 应用程序生成漂亮的 DMG 图像。

也有证据表明它运行良好。