去除mac系统更新角标

发布时间 2023-04-06 17:28:23作者: kuhn7
 

macOS在关闭系统更新的情况下仍然会检测更新,并且出现烦人的角标。在不想更新的情况下,角标还不能轻易去除。和iPhone如出一辙,我只想说不愧是苹果。

出于养老需求,不想对系统进行大版本的更新,当前系统停留在Monterey 12.6.4。
下文记录在不屏蔽更新检测的情况下,清除系统更新的标记。

关闭SIP和authenticated-root

重启进入Recovery,在“实用工具 >> 终端”中输入:

csrutil disable
csrutil authenticated-root disable

切换挂载目录

  1. 重新进入系统,在终端查询挂载磁盘的路径
$ mount  
/dev/disk1s5s1 on / (apfs, sealed, local, read-only, journaled)

注意:这里的 / 目录的的设备名称显示 /dev/disk1s5s1,那么应该挂载的设备名称是 /dev/disk1s5,s1 表示 “Snapshot 1”(APFS 快照)

  1. 创建一个新目录用于挂载(这里定义为 <MOUNT_PATH> ):
    例如:~/mount
mkdir -p -m777 ~/mount
  1. 执行挂载
sudo mount -o nobrowse -t apfs /dev/disk1s5 ~/mount
  1. 在 <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。
  1. 重启系统生效.

  2. 若上次的检测标记还在,就临时清除一下.

defaults write com.apple.systempreferences AttentionPrefBundleIDs 0  
Killall Dock

至此就完成啦!强迫症狂喜~

补充:
禁用SIP一般用于安装或运行某些软件,禁用authenticated-root用于对系统保护目录执行写入操作。开启后,权限修改会失效。

参考

  1. https://sysin.org/blog/disable-macos-monterey-update
  2. 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