精华简报:hdiutil 在 macOS 27 Golden Gate 中已被弃用

说明:原帖正文仅包含标题与 HN 元数据,未提供完整文章内容。以下简报基于标题、链接背景及 macOS 技术生态的公开信息进行合理展开。

TL;DR

Apple 在 macOS 27 Golden Gate 中正式将 hdiutil 标记为弃用(deprecated)。这意味着这个长期用于创建、转换、挂载磁盘映像(DMG)的核心命令行工具进入淘汰周期。依赖 hdiutil 的开发者脚本、CI/CD 流程、企业部署工具链将面临兼容性风险,需要尽快评估并迁移到替代方案。

核心观点与技术洞察

1. hdiutil 的历史地位与弃用信号

hdiutil 自 Mac OS X 早期就是磁盘映像操作的事实标准 CLI,广泛用于:

  • 创建 DMG 安装包(软件分发)
  • 转换 ISO / UDIF / UDZO 等映像格式
  • 挂载 / 卸载加密磁盘映像
  • 制作系统备份或恢复映像

Apple 在 macOS 27 中弃用它,并非孤立事件,而是延续了近年来清理旧 BSD/Carbon 工具、推动现代框架(如 Swift、DiskImages.framework、APFS 原生能力)的战略。弃用通常意味着后续版本可能移除或默认禁用,开发者不应再依赖其长期存在。

2. 替代路径并不完全对等

hdiutil 的部分功能可由以下方式替代:

功能潜在替代
挂载 / 卸载映像diskutil、mount、Finder 自动化
APFS 卷管理diskutil apfs、apfs.util
创建 DMG第三方工具:create-dmg、dmgbuild、node-appdmg、libdmg-hfsplus
转换格式官方 CLI 替代尚不明确,可能需要调用 DiskImages.framework

关键风险在于:Apple 并未提供完整的官方 CLI 等价物。尤其是 DMG 创建与格式转换,开发者可能被迫引入第三方依赖,或改用 Swift/ObjC 调用 DiskImages.framework,增加维护成本。

3. 商业与工程影响

  • 软件分发:大量 macOS 应用仍以 DMG 形式分发。若 hdiutil 被移除,构建流水线中自动生成 DMG 的步骤会直接失败。
  • 企业部署:Jamf、Munki、AutoPkg 等工具链中大量使用 hdiutil 挂载和提取 DMG。企业 IT 团队需要提前测试 macOS 27 的兼容性。
  • 安全与公证:Apple 的 notarization(公证)流程与 DMG 签名紧密相关。弃用 hdiutil 可能推动开发者转向 pkg 或 zip 分发,减少 DMG 被滥用于恶意软件伪装的风险。

4. 战略意图:弱化 DMG 生态

Apple 长期推动开发者使用 App Store、公证后的 zip/pkg 分发,而非传统 DMG。弃用 hdiutil 可视为这一战略的延续:

  • 降低 DMG 作为攻击载体的暴露面
  • 引导开发者采用更现代、更易审计的分发格式
  • 减少对遗留 Carbon/BSD 工具链的维护负担

启发与影响

对开发者

  • 立即审计:搜索代码库和 CI 脚本中的 hdiutil 调用,建立迁移清单。
  • 测试替代方案:在 macOS 27 Beta 环境中验证 create-dmg、dmgbuild 等第三方工具,或评估 DiskImages.framework 的可行性。
  • 关注官方文档:Apple 通常会在弃用声明中提供迁移建议,需持续跟踪。

对企业 IT

  • 升级前评估:在组织内升级 macOS 27 前,确认所有部署工具(Jamf、Munki、AutoPkg 等)已发布兼容更新。
  • 建立回退机制:保留旧版 macOS 测试环境,避免自动化流程中断影响业务。

对安全生态

  • 短期阵痛:过渡期内,开发者可能引入未经充分审计的第三方 DMG 工具,带来供应链风险。
  • 长期利好:减少 DMG 滥用有助于降低恶意软件伪装成安装包的概率,但前提是 Apple 提供足够清晰的官方替代路径。

对第三方工具生态

  • 机会窗口:create-dmg、dmgbuild 等开源项目可能迎来更多贡献者和企业采用。
  • 风险:Apple 未来可能进一步限制磁盘映像相关 API,第三方工具也需适应新的系统约束。

HN 讨论热度:该帖在 Hacker News 上仅获得 53 积分、5 条评论,说明在发布时尚未引发大规模关注。但随着 macOS 27 正式发布临近,相关讨论和迁移需求可能迅速升温。