我需要通过添加.dmg(也称为Apple磁盘映像)文件来更新文件(这是OSGI应用程序,并且我想添加更多捆绑包),但我希望使用与平台无关的解决方案。我的主要代码是用Python编写的,但是我对Java也很满意。是否可以像这样编辑.dmg文件?

请注意,我不一定要创建/dmg文件,因为我有一个文件,但是如果最好的方法是解压缩然后重新打包,那么也可以。

最佳答案

在Mac以外的其他地方创建.dmg映像并不是一件容易的事,至少使用免费软件也不是一件容易的事。有了非免费软件,它主要是针对Mac的软件。我去过那里,认为这是浪费时间。

如果您使用的是Mac,请使用hdiutil操作.dmg

例如,在https://bitbucket.org/al45tair/dmgbuild中有一个Python包装器可以为您提供一些想法。

在大多数情况下,您不能直接“编辑” .dmg,因为这些是固定大小的图像AFAICR。但是,您可以调整以下大小:
hdiutil resize -size 70m

然后,您可以挂载它并将文件复制到其中。

如果这是一次性操作,则最好手动执行而不是自动化IMHO。

现在有一些可以在Linux上构建的工具,但是我没有对其进行评估,并且不使用hdiutils时的关键问题是创建一个.dmg文件,该文件将始终在Mac上可读...
您可以尝试:
 -hfsplus-toolshttps://apps.fedoraproject.org/packages/hfsplus-tools
 -libdmg-hfsplushttps://github.com/planetbeing/libdmg-hfsplus,在Debian中也是如此。
 -hfsutils:在Linux发行版中可用

另请参见http://www.nathancoulson.com/proj_cross_tools.php以获得这些列表以及此SO问题:How to build a dmg Mac OS X file (on a non-Mac platform)?

同样,是YMMV,但我始终无法在Mac之外创建100%可靠的.dmg。

关于java - 我可以使用某些python(或Java)API将文件夹复制到dmg文件中吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37586023/

10-11 22:54