如何使用 Linux 工具创建压缩的 dmg 文件?

Posted

技术标签:

【中文标题】如何使用 Linux 工具创建压缩的 dmg 文件?【英文标题】:How to create a compressed dmg file using Linux tools? 【发布时间】:2018-08-02 14:02:49 【问题描述】:

有很多问题教如何从 Linux 创建 DMG 文件。但是他们都不清楚如何为其添加压缩。

我通常创建一个 DMG 包以重新分发到 MacOS,但我想按照 Apple 的规定添加压缩。

有没有人尝试过在 DMG 打包过程中支持压缩的工具?

没有压缩的类似问题:

How can I generate a DMG file from a folder in Linux? How to create dmg file in Centos through command line

【问题讨论】:

在***.com/questions/286419/…查看'uckelman'的回答 【参考方案1】:

这取决于。这是good analysis of the .dmg format。从该文档中,为每个块块指定了压缩:

Table: DMG blxx types
Type    Scheme  Meaning
0x00000000  --- Zero-Fill
0x00000001  UDRW/UDRO   RAW or NULL compression (uncompressed)
0x00000002  --- Ignored/unknown
0x80000004  UDCO    Apple Data Compression (ADC)
0x80000005  UDZO    zLib data compression
0x80000006  UDBZ    bz2lib data compression
0x7ffffffe  --- No blocks - Comment: +beg and +end
0xffffffff  --- No blocks - Identifies last blxx entry

【讨论】:

【参考方案2】:

将@Valerio 评论的要点转换为正确的答案,这样其他人就不会像我几乎一样错过它:

根据@uckelman 的this answer:

    安装libdmg-hfsplus 运行dmg uncompressed.dmg compressed.dmg

【讨论】:

以上是关于如何使用 Linux 工具创建压缩的 dmg 文件?的主要内容,如果未能解决你的问题,请参考以下文章

百科知识 DMG文件如何打开

导出发布版本正在创建应用程序目录而不是 dmg

Linux tar 解压缩工具

如何在Windows上将jar文件转换为.dmg [重复]

Linux文件压缩和解压使用记录

如何将脚本捆绑到 dmg 文件中