如何在 macOS 上停止系统自动更新及恢复更新
如何在 macOS 上停止系统自动更新及恢复更新
背景与问题
在 Apple Silicon Mac(如 M1 Pro、M1 Max 等机型)上,用户若已通过「重新安装 macOS」抹盘,可能会发现系统仍自动安装最新版本(如 macOS 26),而非期望的旧版本(如 macOS 15)。这是因为 Apple Silicon 的恢复模式默认会联网拉取当前设备兼容的最新系统版本,抹盘操作本身不会决定安装哪个版本。
若用户希望长期停留在某一特定 macOS 版本,需在完成系统安装后,额外采取措施阻止系统检测和推送新版本。
回退到旧版系统的可行路径
在讨论如何阻止更新之前,需明确一点:阻止更新只能防止系统继续升级,无法将已安装的 macOS 26 降级为 15。若确实需要回退,目前有以下途径:
- Time Machine 备份恢复:若在升级前曾备份,可在恢复模式中选择「从 Time Machine 恢复」,直接还原至备份时的 macOS 15 状态。
- USB 安装器:在另一台 Mac 上下载 macOS 15 完整安装器,制作可启动 U 盘,从外置介质启动并手动安装。但需注意,Apple 通常仅对最新的 1–2 个系统版本保留签名验证,旧版安装器可能因签名关闭而无法通过验证。
- DFU 模式恢复:通过另一台 Mac 上的 Apple Configurator 2 进行底层恢复,但此方式通常也只能刷入 Apple 当前允许签名的最新版本。
停止 macOS 自动更新的三种方法
以下方法按彻底程度由浅入深排列,用户可根据需求选择。
方法一:系统设置中关闭自动更新
路径:系统设置 → 通用 → 软件更新 → 自动更新
将以下选项全部关闭:
- 检查更新
- 下载可用更新
- 安装 macOS 更新
- 安装安全响应和系统文件
此方法操作最简单,但系统仍可能在后台连接 Apple 更新服务器,存在被推送更新的风险。
方法二:通过终端命令关闭更新服务
在终端中依次执行:
sudo softwareupdate --schedule off
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool FALSE
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool FALSE
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool FALSE
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool FALSE
执行完毕后建议重启系统。此方法从系统服务层面关闭了自动检查与下载,但仍属于软件层面的配置,存在被系统重置或绕过的可能。
方法三:修改 hosts 文件屏蔽更新服务器(最彻底)
通过将 Apple 更新相关的域名指向本地回环地址(127.0.0.1),可彻底阻止系统连接更新服务器,使「软件更新」页面无法加载或持续转圈。
操作步骤:
-
打开终端,编辑 hosts 文件:
sudo nano /etc/hosts -
在文件末尾追加以下两行(最精简且有效的组合):
127.0.0.1 mesu.apple.com 127.0.0.1 gdmf.apple.com若希望更全面地屏蔽,可追加:
127.0.0.1 swdist.apple.com 127.0.0.1 swcdn.apple.com 127.0.0.1 swdownload.apple.com 127.0.0.1 updates-http.cdn-apple.com 127.0.0.1 updates.cdn-apple.com 127.0.0.1 configuration.apple.com -
保存并退出(按
Control + O回车确认,Control + X退出)。 -
刷新 DNS 缓存使配置生效:
sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder -
验证屏蔽是否生效:
ping mesu.apple.com若返回
127.0.0.1,则表示域名已被成功拦截。
对 App Store 应用更新的影响:
上述域名主要用于系统级更新推送,与 App Store 应用(如 Final Cut Pro、Logic Pro 等)的更新通道不同。屏蔽后,第三方应用通过 App Store 的正常更新通常不受影响。但为保险起见,不建议加入 apple.com.edgekey.net 等 CDN 域名,以免误伤其他 Apple 服务。
如何恢复 macOS 更新
若未来需要重新接收系统更新,只需反向操作:
-
编辑 hosts 文件,删除之前添加的屏蔽条目:
sudo nano /etc/hosts -
保存退出后刷新缓存:
sudo dscacheutil -flushcache -
打开「系统设置 → 通用 → 软件更新」,检查是否恢复正常。
注意事项与风险提示
- hosts 屏蔽是域名级别的拦截,无法做到「只屏蔽 macOS 26 的更新而保留 macOS 15 的补丁」。Apple 的更新目录(catalog)由
mesu.apple.com统一分发,系统从中自动选取最新兼容版本。因此,屏蔽该域名意味着系统无法获取任何版本信息。 - 长期停留在旧版系统意味着无法接收后续安全补丁,存在一定的安全隐患。建议仅在明确需求(如软件兼容性、工作流稳定性)且能承担风险的前提下使用。
- 修改
/etc/hosts需要管理员权限,操作前建议备份原始文件或记录所添加的行,以便日后恢复。
结语
对于希望长期停留在特定 macOS 版本的用户,在「系统设置关闭自动更新」与「终端命令关闭服务」之外,通过 hosts 文件屏蔽更新服务器是目前最可靠的技术手段。它直接切断了系统与 Apple 更新基础设施的通信,从根本上避免了被推送新版本的可能。当然,这一操作也要求用户对系统维护有基本的了解,并能在需要时自行恢复更新通道。
