我需要通过添加.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-tools
:https://apps.fedoraproject.org/packages/hfsplus-tools
-libdmg-hfsplus
:https://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/