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

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

2025-06-16 15:30:12作者:邵娇湘

项目简介

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

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

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
868
513
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
268
308
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
373
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
599
58
GitNextGitNext
基于可以运行在OpenHarmony的git,提供git客户端操作能力
ArkTS
10
3