macOS在关闭系统更新的情况下仍然会检测更新,并且出现烦人的角标。在不想更新的情况下,角标还不能轻易去除。和iPhone如出一辙,我只想说不愧是苹果。
出于养老需求,不想对系统进行大版本的更新,当前系统停留在Monterey 12.6.4。
下文记录在不屏蔽更新检测的情况下,清除系统更新的标记。
关闭SIP和authenticated-root
重启进入Recovery,在“实用工具 >> 终端”中输入:
csrutil disable
csrutil authenticated-root disable
切换挂载目录
- 重新进入系统,在终端查询挂载磁盘的路径
$ mount
/dev/disk1s5s1 on / (apfs, sealed, local, read-only, journaled)
注意:这里的 / 目录的的设备名称显示 /dev/disk1s5s1
,那么应该挂载的设备名称是 /dev/disk1s5
,s1 表示 “Snapshot 1”(APFS 快照)
- 创建一个新目录用于挂载(这里定义为
<MOUNT_PATH>
):
例如:~/mount
mkdir -p -m777 ~/mount
- 执行挂载
sudo mount -o nobrowse -t apfs /dev/disk1s5 ~/mount
- 在
<MOUNT_PATH>
下修改文件
cd ~/mount
sudo chmod 644 System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager
sudo bless --folder ~/mount/System/Library/CoreServices --bootefi --create-snapshot。
-
重启系统生效.
-
若上次的检测标记还在,就临时清除一下.
defaults write com.apple.systempreferences AttentionPrefBundleIDs 0
Killall Dock
至此就完成啦!强迫症狂喜~
补充:
禁用SIP一般用于安装或运行某些软件,禁用authenticated-root用于对系统保护目录执行写入操作。开启后,权限修改会失效。
参考
- https://sysin.org/blog/disable-macos-monterey-update
- https://x.medemede.cn/archives/ru-he-zheng-que-guan-bi-m-a-c-o-s--1-1-he-1-2-de-s-i-p-yi-ji-zhi-du-wen-jian-xi-tong