提示:
以下步骤不是完全必要,但是全部执行可以确保解决顽固性的更新通知角标出现。
以下步骤主要针对 macOS Catalina,macOS Mojave 有限适用,更低的版本不适用。
如果是新安装系统,暂时不要联网,确保完美屏蔽更新。
1. 取消自动更新选项
请选取苹果菜单 >> “系统偏好设置”,然后点按“软件更新”。
取消勾选:“自动保持我的 Mac 最新”
2. 清除系统更新标记(红点 1)
如果已经检测到更新,可以使用如下方法临时去除更新通知标记。
打开“终端”,执行如下命令:
1 | defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 |
3. 屏蔽网络访问
3.1 编辑 hosts 文件,添加如下内容
手动编辑:sudo vi /etc/hosts
或者使用 SwitchHosts(免费软件)。
1 | 127.0.0.1 swscan.apple.com |
3.2 或者(或同时)使用防火墙软件屏蔽
推荐 Little Snitch,这是一个商业软件 (sysin)
新建规则 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 需要进入恢复模式,然后要重新打开 SIP,步骤略嫌繁琐,本例直接在恢复模式下操作。
进入恢复模式(启动到 recoveryOS):
重启电脑,在黑屏的时候按住 command + R 进入恢复模式(可以按住 command + R 不放,直到 apple logo 画面出现)
打开“终端”(Utilities (实用工具) -> Terminal(终端)):
1 | 切换到系统所在卷,默认名称是 “Macintosh HD” |
取消 SoftwareUpdateNotificationManager 可执行权限(默认权限位是 755):
检测系统更新时该进程一直在运行,即使屏蔽了网络访问,仍然可能出现通知标记,所以修改它的可执行权限来禁止它运行。
1 | chmod 644 System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager |
清空 /Library/Updates 文件夹:
如果已经检测到更新,新版本系统的描述等信息保存在这个文件夹下面。
1 | rm -rf Library/Updates/ |
备注:取消 /Library/Updates 文件夹的写入权限(默认权限位是 755):chmod -R 444 Library/Updates/
,没有实际意义,仍然会写入到其他文件夹(未知)。
退出终端,重启电脑,操作完毕。
5. 如果需要更新
不建议补丁打补丁的方式安装,可以使用完整软件包升级或者全新安装:
-
下载知识兔 macOS 镜像,完整安装。
macOS Catalina
macOS Big Sur -
取消上述第 3 条的屏蔽,访问 App Store 下载 macOS 完整软件包,下载后会自动保存在“应用程序”下面,直接安装即可。
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验