如何彻底禁止 macOS Catalina 自动更新,去除更新标记和通知

1,519 阅读2分钟

作者主页:sysin.org

请访问原文链接:sysin.org/blog/disabl…,查看最新版。

提示:

以下步骤不是完全必要,但是全部执行可以确保解决顽固性的更新通知角标出现。

以下步骤主要针对 macOS Catalina,macOS Mojave 也可以适用,更低的版本不适用。

如果是新安装系统,暂时不要联网,确保完美屏蔽更新。

1. 取消自动更新选项

请选取苹果菜单 img > “系统偏好设置”,然后点按“软件更新”。

取消勾选:“自动保持我的 Mac 最新”

参看:在 Mac 上更改“软件更新”偏好设置

2. 清除系统更新标记(红点 1)

如果已经检测到更新,可以使用如下方法临时去除更新通知标记。

打开“终端”,执行如下命令:

defaults write com.apple.systempreferences AttentionPrefBundleIDs 0
Killall Dock

3. 屏蔽网络访问

3.1 编辑 hosts 文件,添加如下内容:

推荐使用 SwitchHosts!(免费软件)

127.0.0.1 swscan.apple.com
127.0.0.1 swcdn.apple.com
127.0.0.1 swdist.apple.com

3.2 或者(或同时)使用防火墙软件屏蔽:

推荐 Little Snitch,这是一个商业软件

新建规则1:

Process Name:/System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated

Deny Outgoing Connections

To: Any Server

新建规则2

Process Name:/System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager

Deny Outgoing Connections

To: Any Server

4. 修改权限

该步骤需要禁用 SIP(系统完整性保护),或者在恢复模式下直接操作。

禁用 SIP 后还要重新打开,步骤略嫌繁琐,可以直接在恢复模式下操作。

重启电脑

在黑屏的时候按住 command+R 进入恢复模式(可以按住 command+R 键不放,直到apple logo 画面出现)

打开“终端”

# 切换到系统所在卷,默认名称是 “Macintosh HD”
cd /Volumes/Macintosh\ HD
# 如果修改了名称,假如系统卷名称是 Mac
cd /Volumes/Mac

取消 SoftwareUpdateNotificationManager 可执行权限(默认权限位是 751):

检测系统更新时该进程一直在运行,即使屏蔽了网络访问,仍然可能出现通知标记,所以修改它的可执行权限来禁止它运行。

chmod 640 System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager

清空 /Library/Updates 文件夹:

如果已经检测到更新,新版本系统的描述等信息保存在这个文件夹下面。

rm -rf Library/Updates/*

取消 /Library/Updates 文件夹的写入权限(默认权限位是 751):

chmod 551 Library/Updates/

退出终端,重启电脑。