macos自动更新由图形界面、launchd调度、偏好配置三层协同控制,需同步关闭三者才能彻底禁用:先在系统设置中关闭所有自动更新选项,再用终端命令禁用softwareupdated定时任务与服务自启,最后通过defaults写入plist禁用自动下载并刷新dock。

macOS 的自动更新不是单一开关控制的,而是由图形界面设置、后台守护进程调度、偏好配置策略三层协同驱动。真正决定“是否检查、下载、安装、重启”的,是这三者的交集状态,而非某个进程是否在运行。
图形界面:关闭所有自动行为源头
这是最直观、最推荐的第一步操作,能覆盖日常使用中90%以上的自动触发场景:
- 进入“系统设置” → “通用” → “软件更新”,点击“自动更新”旁的 ⓘ 图标
- 取消勾选“自动保持我的 Mac 最新”主开关
- 点“高级”,确保四项全关:自动检查更新、下载新更新、安装 macOS 更新、安装应用商店应用更新
- 返回同一页面,点右上角 (i) 按钮,关闭“显示 macOS 升级提醒”
- 再进入“系统设置” → “App Store”,关闭“应用更新”开关(此项独立控制第三方 App)
launchd 调度:切断后台唤醒与检测链
即使界面已关,macOS 仍可能每24小时唤醒 softwareupdated 尝试联网。终端命令可直接禁用其计划任务:
- 执行 sudo softwareupdate --schedule off —— 停止定时检查
- 执行 sudo launchctl disable system/com.apple.softwareupdated —— 禁止服务自启
- 如该进程正在运行,追加 sudo launchctl bootout system/com.apple.softwareupdated 立即终止
偏好设置写入:防止策略被重置
部分行为受系统级 plist 文件控制,仅改界面设置可能被系统或某些工具重写。直接写入配置更稳定:
- 禁用自动下载:defaults write /Library/Preferences/com.apple.softwareupdate AutomaticDownload -bool false
- 禁用 App Store 应用自动更新:defaults write /Library/Preferences/com.apple.commerce AutoUpdate -bool false
- 执行 killall Dock 刷新界面,或重启生效
进阶防护:屏蔽域名防漏网请求
若关闭后仍有红点、弹窗或后台流量,说明某进程绕过设置直连服务器。可编辑 /etc/hosts 屏蔽关键域名:
- 常用域名包括:swcdn.apple.com、swdist.apple.com、appldnld.apple.com
- 用 sudo nano /etc/hosts 打开,末尾添加:0.0.0.0 swcdn.apple.com 等行
- 保存后无需重启,系统后续请求将被本地拦截











