macos自动更新可通过三层措施彻底禁用:图形界面中关闭全部自动更新选项;终端执行命令停用softwareupdated进程并清除红点;修改hosts文件屏蔽苹果更新域名实现网络层拦截。

如果你正在用MacBook工作,突然弹出系统更新提醒、后台悄悄下载几百MB甚至几个GB的安装包、Dock图标右上角出现红点,打断你的视频剪辑、代码编译或PPT演示,说明macOS的自动更新机制仍在运行——这不是偶然打扰,而是默认开启的五层联动行为。
图形界面全关:禁用所有触发源
这一步是基础防线,必须先做,否则后续命令可能被界面设置覆盖。
1、点击屏幕左上角苹果菜单()→ 选择“系统设置”。
2、左侧边栏点击“通用”,右侧点击“软件更新”。
3、点击“自动更新”旁边的 ⓘ 图标,进入子设置页。
4、取消勾选“自动保持我的 Mac 最新”——这是总开关,不关它,其他选项形同虚设。
5、点击“高级”,在弹出窗口中【务必全部取消勾选】:自动检查更新、下载新更新、安装 macOS 更新、安装 App Store 应用更新、安装安全响应和系统文件。
6、返回“软件更新”主界面,点击右上角的 ⓘ 按钮,在弹窗中关闭“显示 macOS 升级提醒”——这步漏掉,下次遇到大版本更新仍会弹窗。
终端深度停用:杀掉调度与守护进程
即使图形界面全关,macOS仍会在凌晨2:37左右唤醒 softwareupdated 进程发起检测,并在系统偏好设置图标上生成红点。这一步直接切断它的定时心跳。
1、打开“启动台”→“其他”→“终端”。
2、输入命令:sudo softwareupdate --schedule off,回车后输入管理员密码(无光标反馈,输完直接回车)。
3、执行:sudo launchctl disable system/com.apple.SoftwareUpdate,彻底禁用软件更新守护进程。
4、清除残留红点:defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 && killall Dock——这行命令会立刻让Dock和系统设置图标上的数字消失。
网络层物理拦截:改hosts屏蔽核心域名
这是最顽固场景的终极手段。当上述两步做完还收到“无法检查更新”提示,或某天突然又弹出升级框,说明系统仍在尝试连接苹果服务器。此时必须从DNS层面封死通路。
方法一:手动编辑hosts
1、终端中输入:sudo nano /etc/hosts,回车后输入密码。
2、用方向键移到文件末尾,新起一行,粘贴以下六行(缺一不可,含最新实测有效的域名):
## Block macOS Update127.0.0.1 swscan.apple.com127.0.0.1 swdist.apple.com127.0.0.1 mesu.apple.com127.0.0.1 gdmf.apple.com127.0.0.1 xp.apple.com
3、按 Ctrl+O → 回车确认保存 → 按 Ctrl+X 退出编辑器。
4、刷新DNS缓存使生效:sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder。
方法二:验证是否生效
回到“系统设置”→“通用”→“软件更新”,如果显示“无法检查更新,不能连接到Apple软件更新服务器”,说明已成功拦截。











