總結摘要
詳細介紹如何在macOS中關閉自動更新功能,包含忽略特定版本更新、重置軟體更新偏好設定、清除系統通知等完整操作步驟,適合需要控制系統更新的用戶。
MacOS關閉更新
在某些情況下,用戶可能需要暫時或永久關閉macOS的自動更新功能。本文將詳細介紹如何通過終端機命令來控制macOS的系統更新行為,包含多種方法和完整的操作步驟。
前言
關閉macOS自動更新的常見原因:
- 系統穩定性:避免新版本可能帶來的不穩定因素
- 軟體相容性:確保現有軟體能正常運行
- 工作需求:避免更新過程中斷工作流程
- 硬體限制:舊設備可能無法良好支援新版本
- 網路頻寬:避免大型更新佔用網路資源
⚠️ 重要提醒:關閉系統更新可能會影響系統安全性,請謹慎考慮。
方法一:忽略特定版本更新
忽略 macOS Catalina 更新
如果您想要忽略 macOS Catalina 的更新提醒:
1
| sudo softwareupdate --ignore "macOS Catalina"
|
執行步驟:
- 開啟「終端機」應用程式
- 輸入上述命令並按下 Enter
- 輸入管理員密碼
- 系統將不再提示 Catalina 更新
忽略 macOS Big Sur 更新
如果您想要忽略 macOS Big Sur 的更新提醒:
1
| sudo softwareupdate --ignore "macOS BigSur"
|
注意事項:
- 命令中的版本名稱必須精確匹配
- 可以同時忽略多個版本的更新
- 此方法只針對特定版本,不影響其他更新
方法二:重置軟體更新偏好設定
刪除軟體更新偏好設定
重置系統的軟體更新偏好設定:
1
| defaults delete com.apple.preferences.softwareupdate
|
功能說明:
- 清除所有軟體更新相關的偏好設定
- 重置自動檢查更新的設定
- 清除已下載但未安裝的更新快取
執行後效果:
- 系統偏好設定中的「軟體更新」將恢復預設值
- 需要重新配置自動更新選項
- 可能需要重新啟動系統偏好設定
檢查可用更新
列出所有可用更新
查看當前系統可用的所有更新:
輸出資訊包含:
範例輸出:
1
2
3
4
5
6
| Software Update Tool
Finding available software
Software Update found the following new or updated software:
* macOS Big Sur 11.6.1-20G224
macOS Big Sur (1.2GB), version 11.6.1.
|
清除系統偏好設定通知
移除紅點通知
清除系統偏好設定圖示上的紅色通知點:
1
| defaults delete com.apple.systempreferences AttentionPrefBundleIDs; killall Dock
|
命令解析:
defaults delete com.apple.systempreferences AttentionPrefBundleIDs:刪除通知標記killall Dock:重新啟動 Dock 以套用變更
執行效果:
- 系統偏好設定圖示上的紅點消失
- Dock 會短暫重新啟動
- 不影響實際的更新狀態
完整操作流程
一鍵執行所有操作
將所有命令整合成完整的操作腳本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| #!/bin/bash
echo "開始關閉 macOS 自動更新..."
# 1. 忽略特定版本更新
echo "正在忽略 macOS Catalina 更新..."
sudo softwareupdate --ignore "macOS Catalina"
echo "正在忽略 macOS Big Sur 更新..."
sudo softwareupdate --ignore "macOS BigSur"
# 2. 重置軟體更新偏好設定
echo "正在重置軟體更新偏好設定..."
defaults delete com.apple.preferences.softwareupdate
# 3. 清除系統通知
echo "正在清除系統偏好設定通知..."
defaults delete com.apple.systempreferences AttentionPrefBundleIDs
killall Dock
# 4. 檢查當前更新狀態
echo "檢查可用更新:"
softwareupdate --list
echo "macOS 更新設定已完成!"
|
手動逐步執行
步驟 1:忽略特定版本
1
2
| sudo softwareupdate --ignore "macOS Catalina"
sudo softwareupdate --ignore "macOS BigSur"
|
步驟 2:重置偏好設定
1
| defaults delete com.apple.preferences.softwareupdate
|
步驟 3:檢查更新狀態
步驟 4:清除通知
1
| defaults delete com.apple.systempreferences AttentionPrefBundleIDs; killall Dock
|
注意事項
安全性考量
⚠️ 重要警告:
- 關閉系統更新可能導致安全漏洞
- 建議定期手動檢查重要的安全性更新
- 不建議長期關閉所有更新
系統相容性
- 某些應用程式可能需要特定的 macOS 版本
- 新硬體可能需要最新的系統支援
- 開發者工具通常需要較新的系統版本
網路環境
- 企業環境可能有特定的更新政策
- 某些網路可能限制大型檔案下載
- 考慮在適當時間進行更新
恢復自動更新
重新啟用自動更新
如果需要恢復自動更新功能:
方法 1:透過系統偏好設定
- 開啟「系統偏好設定」
- 點選「軟體更新」
- 勾選「自動保持我的 Mac 為最新狀態」
方法 2:透過終端機命令
1
2
3
4
5
6
7
8
9
| # 啟用自動檢查更新
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true
# 啟用自動下載更新
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool true
# 啟用自動安裝系統資料檔案和安全性更新
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool true
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool true
|
取消忽略特定版本
1
2
3
4
5
| # 查看被忽略的更新
sudo softwareupdate --reset-ignored
# 重新檢查所有更新
sudo softwareupdate --list --all
|
故障排除
常見問題 1:命令執行失敗
錯誤訊息:
1
| command not found: softwareupdate
|
解決方案:
- 確認使用的是 macOS 系統
- 檢查終端機路徑設定
- 嘗試使用完整路徑:
/usr/sbin/softwareupdate
常見問題 2:權限不足
錯誤訊息:
解決方案:
1
2
3
4
5
| # 確保使用 sudo 執行需要管理員權限的命令
sudo softwareupdate --ignore "macOS Catalina"
# 檢查當前用戶權限
id
|
常見問題 3:設定未生效
檢查步驟:
- 重新啟動系統偏好設定
- 登出並重新登入
- 重新啟動電腦
驗證命令:
1
2
3
4
5
| # 檢查被忽略的更新
sudo softwareupdate --list --ignored
# 檢查系統偏好設定
defaults read com.apple.preferences.softwareupdate
|
常見問題 4:Dock 重啟異常
如果 Dock 重啟後出現問題:
1
2
3
4
5
| # 手動重啟 Dock
killall Dock
# 重置 Dock 設定(如果需要)
defaults delete com.apple.dock; killall Dock
|
進階配置
企業環境配置
對於企業環境,可以使用配置描述檔來管理更新:
1
2
3
4
5
| # 創建配置描述檔目錄
sudo mkdir -p /Library/Managed\ Preferences
# 配置自動更新策略
sudo defaults write /Library/Managed\ Preferences/com.apple.SoftwareUpdate.plist AutomaticCheckEnabled -bool false
|
腳本自動化
創建定期檢查腳本:
1
2
3
4
5
6
7
8
9
| #!/bin/bash
# 檢查並記錄更新狀態
LOG_FILE="/var/log/macos_update_check.log"
DATE=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$DATE] 檢查系統更新狀態" >> "$LOG_FILE"
softwareupdate --list >> "$LOG_FILE" 2>&1
echo "[$DATE] 檢查完成" >> "$LOG_FILE"
|
監控更新狀態
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # 創建監控腳本
cat > ~/check_updates.sh << 'EOF'
#!/bin/bash
echo "=== macOS 更新狀態檢查 ==="
echo "日期:$(date)"
echo ""
echo "被忽略的更新:"
sudo softwareupdate --list --ignored
echo ""
echo "可用的更新:"
softwareupdate --list
echo ""
echo "自動更新設定:"
defaults read /Library/Preferences/com.apple.SoftwareUpdate 2>/dev/null || echo "無特殊設定"
EOF
chmod +x ~/check_updates.sh
|
總結
本文介紹了多種關閉 macOS 自動更新的方法:
- 忽略特定版本:使用
softwareupdate --ignore 命令 - 重置偏好設定:使用
defaults delete 命令 - 清除通知:移除系統偏好設定的紅點提醒
- 檢查更新:使用
softwareupdate --list 查看狀態
最佳實踐建議:
- 定期檢查重要的安全性更新
- 在測試環境中驗證新版本的相容性
- 保持重要資料的備份
- 根據實際需求選擇合適的更新策略
安全提醒:
- 不建議長期完全關閉系統更新
- 重要的安全性更新應該及時安裝
- 企業環境應制定統一的更新管理政策
透過這些方法,您可以更好地控制 macOS 的更新行為,在系統穩定性和安全性之間找到適合的平衡點。