引言

在第 n 次被更新坑了之后,决定禁用更新。

关于被坑的经历,大概有这样,比如:

为了安全,禁止使用商店内应用使用 cmd 作为快捷键。而且没给选项让我可以不安全的用。但社区版可以。

为了安全,把屏幕录制权限调到一天,甚至几分钟一次提示。而且没给选项让我可以不安全的用。但是改 plist 文件可以延长。

总之在他悠久的”你好用户我是你爹”的思路下,我还是决定禁用更新得了。

禁用更新

1
2
3
4
5
6
7
8
9
10
11
12
## 禁用软件更新服务
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false

## 禁用更新通知
sudo defaults write /Library/Preferences/com.apple.systempreferences AttentionPrefBundleIDs 0
sudo defaults write /Library/Preferences/com.apple.systempreferences DidShowPref -bool true

## 重启 Finder
killall Finder

## 编辑 hosts
sudo nano /etc/hosts

在 hosts 里添加:

1
2
3
4
127.0.0.1 swscan.apple.com
127.0.0.1 swquery.apple.com
127.0.0.1 swdownload.apple.com
127.0.0.1 softwareupdate.apple.com

设置未来的通知日期

您可以通过将系统更新通知的日期设置为遥远的未来,来延迟更新提示:​

1
2
defaults write com.apple.SoftwareUpdate MajorOSUserNotificationDate -date "2030-01-01 00:00:00 +0000"
defaults write com.apple.SoftwareUpdate UserNotificationDate -date "2030-01-01 00:00:00 +0000"

这将使系统认为您已被通知过更新,从而延迟再次提示。

清除更新缓存和偏好设置

1
2
3
sudo rm -rf /Library/Updates
sudo rm /Library/Preferences/com.apple.SoftwareUpdate.plist
rm ~/Library/Preferences/com.apple.preferences.softwareupdate.plist