首页
/ Munki 7.0 Beta 5:macOS软件管理工具的重大更新

Munki 7.0 Beta 5:macOS软件管理工具的重大更新

2025-06-16 08:33:06作者:邵娇湘

项目简介

Munki是一个开源的macOS软件管理工具,主要用于企业环境中自动化部署和管理macOS设备上的软件安装、更新和移除。它通过中央仓库管理软件包,并支持灵活的部署策略,是macOS系统管理员的重要工具之一。

Munki 7.0 Beta 5核心更新

Munki 7.0 Beta 5标志着该项目的一个重要里程碑,所有命令行工具已从Python迁移到Swift语言实现,带来了显著的架构变化和性能改进。

架构转型

本次版本最显著的变化是将所有命令行工具从Python重写为Swift,并编译为原生可执行文件。这一转变带来了:

  1. 不再依赖Python运行时环境
  2. 更好的性能表现
  3. 更紧密的macOS系统集成

兼容性调整

新版本将最低支持系统版本提升至macOS 10.15(Catalina),不再支持10.13(High Sierra)和10.14(Mojave)。这一决策基于现代macOS生态系统的需求,同时简化了代码维护。

功能增强与改进

新增功能特性

  1. 版本检测脚本支持:引入了version_script键值,允许管理员通过脚本精确检测已安装软件的版本号,比传统的installcheck_script更精确和灵活。

  2. 电源管理优化:在引导过程中,根据电源状态智能控制显示器休眠,确保用户能看到引导进度:

    • Intel芯片:电池电量>50%时保持显示
    • Apple芯片:电池电量>30%时保持显示

性能优化

  1. 改进了递归文件列表算法,使makecatalogsmanifestutil等工具运行更快
  2. 文件列表顺序与Python版本保持一致,确保生成的目录完全一致
  3. 增强了对PEM文件的解析能力,包括正确处理CRLF行分隔符(常见于Windows生成的文件)

移除的过时功能

为保持代码精简和现代化,移除了多个不再适用的功能:

  1. macOS升级方式:不再支持Intel Mac上的startosinstall方式,统一使用stage_os_installer

  2. Apple软件更新:完全移除了对Apple更新的安装支持,引导用户使用系统原生工具

  3. Adobe安装器支持:移除了多种Adobe专用安装器类型,建议使用Adobe官方打包工具生成标准安装包

  4. 配置配置文件管理:不再支持profile安装器类型,推荐使用MDM解决方案管理配置

  5. 其他过时功能:包括appdmg安装器类型和suppress_bundle_relocation键值等长期弃用的功能

中间件与插件兼容性

中间件变化

  1. Python中间件不再兼容,必须使用新的Swift中间件协议
  2. 多个常用中间件已完成Swift移植:
    • Azure存储中间件
    • BunnyNet中间件
    • CloudFront中间件
    • Google云存储中间件
    • S3中间件

仓库插件

  1. Python仓库插件不再工作
  2. 提供了Swift仓库插件协议和MWA2API仓库插件示例

安装与迁移注意事项

  1. 安装包包含Python库组件(munkilib),作为过渡辅助
  2. 覆盖安装会保留Python框架,便于识别依赖关系
  3. 建议测试环境中验证所有自定义脚本和工作流
  4. 已知makecatalogs工具性能较Python版本有所下降

测试重点建议

管理员在评估此版本时应重点关注:

  1. 管理工具功能,特别是manifestutil的交互模式
  2. 在各种macOS版本上的安装和运行情况
  3. 认证重启流程
  4. 应用使用追踪功能
  5. 客户端证书认证
  6. 中间件插件功能

Munki 7.0 Beta 5代表了该项目向现代化迈出的重要一步,虽然带来了一些兼容性变化,但也为未来的功能扩展和性能优化奠定了基础。建议管理员在测试环境中充分验证后,再考虑生产环境部署。

登录后查看全文
热门项目推荐
相关项目推荐