create-dmg
一个用于构建精美DMG镜像的shell脚本。
状态和贡献政策
Create-dmg主要由@aonez和提交拉取请求的贡献者维护。 项目主页是https://github.com/create-dmg/create-dmg。
我们会合并任何添加有用功能且不破坏现有功能的拉取请求。
如果你是活跃用户并想成为维护者,或者只是想聊聊天,请在Gitter上ping我们,地址是gitter.im/create-dmg/Lobby,或者直接给Andrew发邮件。
Create-dmg最初由Andrey Tarantsov创建。 2020年5月,Andrew Janke对项目做出了巨大贡献。
安装
-
你可以使用Homebrew安装这个脚本:
brew install create-dmg
-
你可以下载最新版本并从那里安装:
make install
-
你也可以克隆整个仓库并在本地运行:
git clone https://github.com/create-dmg/create-dmg.git
使用方法
create-dmg [选项 ...] <输出文件名.dmg> <源文件夹>
源文件夹的所有内容都将被复制到磁盘镜像中。
选项:
- --volname <名称>: 设置卷名(显示在 Finder 侧边栏和窗口标题中)
- --volicon <图标.icns>: 设置卷图标
- --background <图片.png>: 设置文件夹背景图片(支持 png、gif、jpg 格式)
- --window-pos
: - --window-size <宽度> <高度>: 设置文件夹窗口的大小
- --text-size <文本大小>: 设置窗口文本大小(10-16)
- --icon-size <图标大小>: 设置窗口图标大小(最大 128)
- --icon <文件名>
: - --hide-extension <文件名>: 隐藏文件的扩展名
- --app-drop-link
: - --ql-drop-link
: - --eula <许可文件>: 将许可文件附加到 DMG
- --rez <rez路径>: 指定用于包含许可文件的 Rez 工具的自定义路径
- --no-internet-enable: 禁用自动挂载和复制
- --format: 指定最终镜像格式(UDZO|UDBZ|ULFO|ULMO)(默认为 UDZO)
- --filesystem: 指定镜像文件系统(HFS+|APFS)(默认为 HFS+,APFS 支持 macOS 10.13 或更高版本)
- --encrypt: 为生成的磁盘镜像启用加密(AES-256 - 将提示输入密码)
- --encrypt-aes128: 为生成的磁盘镜像启用加密(AES-128 - 将提示输入密码)
- --add-file <目标名称> <文件|文件夹>
: - --disk-image-size
: 手动将磁盘镜像大小设置为 x MB - --hdiutil-verbose: 以详细模式执行 hdiutil
- --hdiutil-quiet: 以安静模式执行 hdiutil
- --bless: 为挂载文件夹执行 bless 操作(已弃用,需要 macOS 12.2.1 或更早版本,#127)
- --codesign <签名>: 使用指定签名为磁盘镜像进行代码签名
- --notarize <凭证>: 对磁盘镜像进行公证(等待并装订)使用钥匙串存储的凭证 更多信息请查看苹果官方文档
- --skip-jenkins: 跳过美化 Finder 的 AppleScript,在沙盒和非 GUI 环境中很有用,#72
- --sandbox-safe: 使用沙盒兼容的 hdiutil,不执行 bless 操作和装饰性 AppleScript(不支持 APFS 磁盘镜像)
- --version: 显示工具版本号
- -h, --help: 显示帮助信息 加密
hdiutil 支持使用 AES-256(较慢但更强大)或 AES-128(较快但较弱)进行原生磁盘映像加密。通过 create-dmg 启用磁盘映像加密将需要在过程中间(压缩阶段)输入密码。请注意正确输入密码,因为 hdiutil 不会提示第二次确认密码。
示例
#!/bin/sh
test -f Application-Installer.dmg && rm Application-Installer.dmg
create-dmg \
--volname "应用程序安装器" \
--volicon "application_icon.icns" \
--background "installer_background.png" \
--window-pos 200 120 \
--window-size 800 400 \
--icon-size 100 \
--icon "Application.app" 200 190 \
--hide-extension "Application.app" \
--app-drop-link 600 185 \
"Application-Installer.dmg" \
"source_folder/"
更多示例请查看源代码树中的 examples
文件夹。
要求
除了标准的 macOS/OS X 安装外,不需要其他任何东西。
我们认为这在 OS X 10.6 Snow Leopard 及更高版本中可以正常工作。
我们希望能够在尽可能多的版本中保持其可用性,但遗憾的是,我们没有运行旧版 OS X 的测试机器来实现这一点。开发和测试主要在最近 3-5 年的 macOS 版本中进行;截至 2020 年,这意味着 macOS 10.12 及更高版本。
但如果你在旧版本中发现了bug,请随时报告!我们会尝试与你合作解决问题。
如果你运行的是 OS X 10.5 或更早版本,那就没办法了。在 2023 年处理这些版本实在太困难了。;)