macOS取消自动更新

MacUpdateGuard v4.1 完整笔记(含查看、执行、原理、恢复)

一、下载并执行的完整命令

bash 复制代码
cd ~ && curl -O https://raw.githubusercontent.com/ArdANANG/MacUpdateGuard/main/MacUpdateGuard.sh && chmod +x MacUpdateGuard.sh && sudo ./MacUpdateGuard.sh

命令含义拆解

命令 作用
cd ~ 进入用户目录/Users/oneDream
curl -O url 从 GitHub 下载脚本
chmod +x 添加执行权限
sudo ./ 以管理员权限运行

✅ 脚本被保存到:

bash 复制代码
/Users/oneDream/MacUpdateGuard.sh

二、如何查看这个脚本的具体内容

方式一:终端查看(推荐)

bash 复制代码
cat /Users/oneDream/MacUpdateGuard.sh

方式二:分页查看(内容较多时)

bash 复制代码
less /Users/oneDream/MacUpdateGuard.sh

按 q 退出

方式三:用文本编辑器打开

bash 复制代码
open -e /Users/oneDream/MacUpdateGuard.sh

👉 脚本位置固定为:

bash 复制代码
/Users/oneDream/MacUpdateGuard.sh

三、脚本长什么样(核心结构)

bash 复制代码
#!/bin/bash
# MacUpdateGuard v4.1
# 作者: bili_25396444320

# 屏蔽的苹果域名
DEFAULT_DOMAIN_LIST=(
    "swscan.apple.com"
    "mesu.apple.com"
    "swdist.apple.com"
    "swcdn.apple.com"
    "gdmf.apple.com"
    "xp.apple.com"
)

# 主要功能函数
disable_system_updates()
restore_system_updates()
execute_disable_actions()
configure_hosts_block()

四、禁用更新时,脚本具体做了什么

当你选择菜单 1 时,脚本执行以下核心步骤:

1️⃣ 关闭更新计划

bash 复制代码
sudo softwareupdate --schedule off

2️⃣ 禁用所有自动更新配置

bash 复制代码
defaults write ... AutomaticCheckEnabled -bool FALSE

3️⃣ 备份并修改 /etc/hosts

bash 复制代码
# 备份
sudo cp /etc/hosts /etc/hosts.bak_20260608090111

# 追加屏蔽规则
127.0.0.1 swscan.apple.com
127.0.0.1 mesu.apple.com
# ... 共 6 个域名

4️⃣ 禁用更新守护进程

bash 复制代码
sudo launchctl disable system/com.apple.softwareupdated
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.softwareupdated.plist

5️⃣ 清除小红点和缓存

bash 复制代码
defaults write com.apple.systempreferences AttentionPrefBundleIDs 0
killall Dock
sudo rm -f /var/db/SoftwareUpdate.badge
sudo rm -rf /Library/Updates/*

6️⃣ 刷新 DNS

bash 复制代码
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

7️⃣ 禁用电源唤醒更新

bash 复制代码
sudo pmset -a powernap 0
sudo pmset -a womp 0

五、核心原理(一句话总结)

通过 Hosts 劫持 + 禁用系统服务 + 清除缓存通知,让 Mac 完全无法检查、下载、提醒系统更新。

分层原理表

层面 方法 目标
网络层 Hosts 重定向 6 个苹果域名 连不上更新服务器
服务层 禁用softwareupdated 守护进程 更新服务不运行
配置层 修改SoftwareUpdate.plist 关闭所有更新开关
UI 层 删除 badge / 通知 无小红点、无弹窗
电源层 关闭 Power Nap 睡眠时不唤醒检查

六、如何恢复系统更新(推荐方式)

✅ 使用脚本自带的恢复功能

bash 复制代码
sudo /Users/oneDream/MacUpdateGuard.sh

然后选择:

text 复制代码
2. 恢复系统自动更新

脚本会自动:

  • 恢复 /etc/hosts 备份
  • 重新启用更新服务
  • 恢复电源设置
  • 刷新系统状态

✅ 这是最安全、完整的恢复方式

相关推荐
2501_915921431 天前
详细教程:使用Perfdog工具测量iOS应用的功耗性能与优化方法
android·macos·ios·小程序·uni-app·cocoa·iphone
OliverQiu2 天前
开源一个 macOS 小工具:集中管理 ChatGPT 的网络启动配置
macos·chatgpt·swiftui·mac·proxy·codex·dmg
wangDer_me2 天前
将mac电脑变成一个虚拟打印机
macos·电脑
加载力科技2 天前
Mac 打开 ISO 文件完整教程:3 种方法挂载与解压,挂载失败也能提取文件
macos·命令模式·磁盘工具·mac打开iso·hdiutil·iso解压·mac技巧
Web Security Loop2 天前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试
Raspberry_Pi_官方账号2 天前
Raspberry Pi Desktop 全面升级,现已登陆 PC 和 Mac
服务器·网络·macos·树莓派·raspberry pi·raspberrypios
king13598745502 天前
EmbeddingGemma 2 270M 实测:Mac CPU、PDF/Word、256d 与 FTS5
macos·pdf·word
Patrick在香港3 天前
同一份脚本,mac 正常 Windows 乱码:open() 默认编码实测(附 3.15 终局)
utf-8·windows·python·macos·跨平台·编码·标准库
DevLoom_3 天前
Mac装NTFS for Mac,不用修改 SIP 安全设置也能正常读写NTFS硬盘
macos·macos 27·mac读写ntfs·ntfs for mac·mac应用
Laurie三省3 天前
现场版却配上录音室版的歌词?聊聊我给开源 Mac 歌词软件写的多源打分算法
算法·macos·go