Loading... > 最近系统更新到Ventura,各种用着用着转圈圈,必须重启才能恢复正常,于是一怒之下重新安装了Monterey,没有Time Machine备份,过程很难受。安装好后我们将系统升级屏蔽掉。 ### 简单使用host屏蔽 Mac的host文件存在于`/private/etc/hosts`中,我们没有办法直接修改系统文件,可以将文件拷贝出来后修改,然后复制进去,当然也可以使用终端进行操作。 1. 使用命令 ```shell sudo nano /private/etc/hosts ``` 使用nano编辑器单纯是比较习惯这个,当然我们也可以使用vim 复制以下代码进去 ```ini ## Mac Software Update (sysin) 127.0.0.1 swdist.apple.com 127.0.0.1 swscan.apple.com 127.0.0.1 swcdn.apple.com 127.0.0.1 gdmf.apple.com 127.0.0.1 mesu.apple.com 127.0.0.1 xp.apple.com ```  Ctrl + x保存后即可 2. 使用软件[SwitchHosts](https://github.com/oldj/SwitchHosts) 在GitHub的[release界面](https://github.com/oldj/SwitchHosts/releases)下载对应自己设备的安装包,这里我们下载的是[SwitchHosts_mac_arm64_4.1.2.6086.dmg](https://github.com/oldj/SwitchHosts/releases/download/v4.1.2/SwitchHosts_mac_arm64_4.1.2.6086.dmg) 安装完成后打开软件,左上角+新建一个  最后打开右侧小开关即可 通过host屏蔽更新会显示如下图  ### 清除系统更新标记 1. 临时清除系统更新标记 如果已经检测到更新,可以使用如下方法临时去除更新通知标记。 打开 “终端”,执行如下命令: ```shell defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 Killall Dock ``` 小红点就消失了 但是在Monterey中,再次进入系统更新,虽然不会提示更新,但是小红点会重复出现 2. 修改权限 1. 确保 FileVault 已经禁用(默认禁用),在 ” >> 系统偏好设置… >> 安全性和隐私 >> 文件保险箱” 查看确认。 2. 关机状态下,长按开机键,出现设置选项后松开,选中选项图标,点击继续,进入后选择当前账户,输入密码,解锁后点击左上角实用工具,选择终端。 3. 首先查看`csrutil`状态 ```shell csrutil status ```  这个是我已经关闭了的,没有关闭最后就是现实enabled ```shell csrutil disable ``` 等待两三秒,就会提示关闭成功 再将`authenticated-root`关闭 ```shell csrutil authenticated-root disable ``` 不关这个创建快照的时候会出现错误  4. 正常重启到 macOS 5. 通过执行 `mount` 命令查找要挂载的设备  看到第一行的根目录对应的是`/dev/disk3s31`,那么应该挂载的设备名称是 `/dev/disk3s3`,s1 表示 “Snapshot 1”(APFS 快照) 6. 创建一个新目录用于挂载,我们选择在用户目录下创建 例如:~/mount ```shell l mkdir -p -m777 ~/mount ``` 7. 执行挂载 ```shell sudo mount -o nobrowse -t apfs /dev/disk3s3 ~/mount ``` 后面两个参数分别是我们刚刚查到的挂载目录和创建的新目录 8. 在新目录下修改文件 ```shell cd ~/mount sudo chmod 644 System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager ``` 9. 执行`sudo bless --folder ~/mount/System/Library/CoreServices --bootefi --create-snapshot` 注意,这里要先挂载后再执行,直接执行会报错找不到节点  **在M芯片的Mac上,我们无法使用上述命令完成快照生成**  **我们需要用到以下命令:** ```shell sudo bless --mount ~/mount/System/Library/CoreServices/ --setBoot --create-snapshot ``` 10. 重启电脑 11. 验证 ```shell ls -l /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager ```  此时,即使不做任何屏蔽操作,可以正常检测软件更新,但不会出现更新标记(红点数字1)  最后修改:2023 年 01 月 08 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏