如何在 macOS 上停止系统自动更新及恢复更新

背景与问题

在 Apple Silicon Mac(如 M1 Pro、M1 Max 等机型)上,用户若已通过「重新安装 macOS」抹盘,可能会发现系统仍自动安装最新版本(如 macOS 26),而非期望的旧版本(如 macOS 15)。这是因为 Apple Silicon 的恢复模式默认会联网拉取当前设备兼容的最新系统版本,抹盘操作本身不会决定安装哪个版本。

若用户希望长期停留在某一特定 macOS 版本,需在完成系统安装后,额外采取措施阻止系统检测和推送新版本。

Capso Screenshot - 系统设置 2026-08-04 at 12.24.50.png

回退到旧版系统的可行路径

在讨论如何阻止更新之前,需明确一点:阻止更新只能防止系统继续升级,无法将已安装的 macOS 26 降级为 15。若确实需要回退,目前有以下途径:

  1. Time Machine 备份恢复:若在升级前曾备份,可在恢复模式中选择「从 Time Machine 恢复」,直接还原至备份时的 macOS 15 状态。
  2. USB 安装器:在另一台 Mac 上下载 macOS 15 完整安装器,制作可启动 U 盘,从外置介质启动并手动安装。但需注意,Apple 通常仅对最新的 1–2 个系统版本保留签名验证,旧版安装器可能因签名关闭而无法通过验证。
  3. 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),可彻底阻止系统连接更新服务器,使「软件更新」页面无法加载或持续转圈。

操作步骤

  1. 打开终端,编辑 hosts 文件:

    sudo nano /etc/hosts
    
  2. 在文件末尾追加以下两行(最精简且有效的组合):

    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
    
  3. 保存并退出(按 Control + O 回车确认,Control + X 退出)。

  4. 刷新 DNS 缓存使配置生效:

    sudo dscacheutil -flushcache
    sudo killall -HUP mDNSResponder
    
  5. 验证屏蔽是否生效:

    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 更新

若未来需要重新接收系统更新,只需反向操作:

  1. 编辑 hosts 文件,删除之前添加的屏蔽条目:

    sudo nano /etc/hosts
    
  2. 保存退出后刷新缓存:

    sudo dscacheutil -flushcache
    
  3. 打开「系统设置 → 通用 → 软件更新」,检查是否恢复正常。


注意事项与风险提示

  • hosts 屏蔽是域名级别的拦截,无法做到「只屏蔽 macOS 26 的更新而保留 macOS 15 的补丁」。Apple 的更新目录(catalog)由 mesu.apple.com 统一分发,系统从中自动选取最新兼容版本。因此,屏蔽该域名意味着系统无法获取任何版本信息。
  • 长期停留在旧版系统意味着无法接收后续安全补丁,存在一定的安全隐患。建议仅在明确需求(如软件兼容性、工作流稳定性)且能承担风险的前提下使用。
  • 修改 /etc/hosts 需要管理员权限,操作前建议备份原始文件或记录所添加的行,以便日后恢复。

结语

对于希望长期停留在特定 macOS 版本的用户,在「系统设置关闭自动更新」与「终端命令关闭服务」之外,通过 hosts 文件屏蔽更新服务器是目前最可靠的技术手段。它直接切断了系统与 Apple 更新基础设施的通信,从根本上避免了被推送新版本的可能。当然,这一操作也要求用户对系统维护有基本的了解,并能在需要时自行恢复更新通道。