linux – 下载后创建自定义的.dmg文件

前端之家收集整理的这篇文章主要介绍了linux – 下载后创建自定义的.dmg文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想分发一个跨平台的应用程序,可执行文件略有不同,具体取决于下载它的用户.这是通过在可执行文件中的某个位置放置占位符字符串来完成的,该位置字符串在下载时被特定于用户内容替换

必须执行这些字符串替换的Web服务器是Linux机器.对于Windows,可执行文件不会在安装程序.exe中压缩,因此更换字符串很容易.

对于未压缩的Mac OS X .dmg文件,这也很容易.但是,使用gzip或bzip2压缩的.dmg文件并不容易.例如,在后一种情况下,压缩的.dmg不是一个大的bzip2压缩磁盘映像,而是由几个不同的bzip2压缩部分(具有不同的块大小)和一个plist后缀组成.此外,使用bzip2解压缩和重新压缩不同的部分不会产生原始数据,因此我猜测Apple使用bzip2的某些参数不同于命令行工具.

有没有办法从Linux上的未压缩的一个生成压缩的.dmg(没有hdiutil)?或者可能是另一个创建自定义应用程序而不预先生成它们的建议?它应该在没有用户输入的情况下工作.

最佳答案
我意识到我在这里有点太晚了,但是我们想做同样的事情,并使用libdmg让它工作. https://github.com/planetbeing/libdmg-hfsplus

基本上,您可以使用libdmg将dmg文件解压缩到包含hfs文件系统的未压缩文件,使用hfs文件系统中的文件,然后将它们重新组合为具有正确校验和的dmg文件.

如果您使用任何花哨的dmg功能,例如在安装映像之前显示EULA,那么这些功能将无法在此过程中继续存在.然而,背景图像等工作.

猜你在找的Linux相关文章