MacOS關閉更新

總結摘要
詳細介紹如何在macOS中關閉自動更新功能,包含忽略特定版本更新、重置軟體更新偏好設定、清除系統通知等完整操作步驟,適合需要控制系統更新的用戶。

MacOS關閉更新

在某些情況下,用戶可能需要暫時或永久關閉macOS的自動更新功能。本文將詳細介紹如何通過終端機命令來控制macOS的系統更新行為,包含多種方法和完整的操作步驟。

前言

關閉macOS自動更新的常見原因:

  • 系統穩定性:避免新版本可能帶來的不穩定因素
  • 軟體相容性:確保現有軟體能正常運行
  • 工作需求:避免更新過程中斷工作流程
  • 硬體限制:舊設備可能無法良好支援新版本
  • 網路頻寬:避免大型更新佔用網路資源

⚠️ 重要提醒:關閉系統更新可能會影響系統安全性,請謹慎考慮。

方法一:忽略特定版本更新

忽略 macOS Catalina 更新

如果您想要忽略 macOS Catalina 的更新提醒:

1
sudo softwareupdate --ignore "macOS Catalina"

執行步驟:

  1. 開啟「終端機」應用程式
  2. 輸入上述命令並按下 Enter
  3. 輸入管理員密碼
  4. 系統將不再提示 Catalina 更新

忽略 macOS Big Sur 更新

如果您想要忽略 macOS Big Sur 的更新提醒:

1
sudo softwareupdate --ignore "macOS BigSur"

注意事項:

  • 命令中的版本名稱必須精確匹配
  • 可以同時忽略多個版本的更新
  • 此方法只針對特定版本,不影響其他更新

方法二:重置軟體更新偏好設定

刪除軟體更新偏好設定

重置系統的軟體更新偏好設定:

1
defaults delete com.apple.preferences.softwareupdate

功能說明:

  • 清除所有軟體更新相關的偏好設定
  • 重置自動檢查更新的設定
  • 清除已下載但未安裝的更新快取

執行後效果:

  • 系統偏好設定中的「軟體更新」將恢復預設值
  • 需要重新配置自動更新選項
  • 可能需要重新啟動系統偏好設定

檢查可用更新

列出所有可用更新

查看當前系統可用的所有更新:

1
softwareupdate --list

輸出資訊包含:

  • 可用的系統更新
  • 應用程式更新
  • 安全性更新
  • 更新檔案大小

範例輸出:

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:檢查更新狀態

1
softwareupdate --list

步驟 4:清除通知

1
defaults delete com.apple.systempreferences AttentionPrefBundleIDs; killall Dock

注意事項

安全性考量

⚠️ 重要警告

  • 關閉系統更新可能導致安全漏洞
  • 建議定期手動檢查重要的安全性更新
  • 不建議長期關閉所有更新

系統相容性

  • 某些應用程式可能需要特定的 macOS 版本
  • 新硬體可能需要最新的系統支援
  • 開發者工具通常需要較新的系統版本

網路環境

  • 企業環境可能有特定的更新政策
  • 某些網路可能限制大型檔案下載
  • 考慮在適當時間進行更新

恢復自動更新

重新啟用自動更新

如果需要恢復自動更新功能:

方法 1:透過系統偏好設定

  1. 開啟「系統偏好設定」
  2. 點選「軟體更新」
  3. 勾選「自動保持我的 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
Permission denied

解決方案:

1
2
3
4
5
# 確保使用 sudo 執行需要管理員權限的命令
sudo softwareupdate --ignore "macOS Catalina"

# 檢查當前用戶權限
id

常見問題 3:設定未生效

檢查步驟:

  1. 重新啟動系統偏好設定
  2. 登出並重新登入
  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 自動更新的方法:

  1. 忽略特定版本:使用 softwareupdate --ignore 命令
  2. 重置偏好設定:使用 defaults delete 命令
  3. 清除通知:移除系統偏好設定的紅點提醒
  4. 檢查更新:使用 softwareupdate --list 查看狀態

最佳實踐建議:

  • 定期檢查重要的安全性更新
  • 在測試環境中驗證新版本的相容性
  • 保持重要資料的備份
  • 根據實際需求選擇合適的更新策略

安全提醒:

  • 不建議長期完全關閉系統更新
  • 重要的安全性更新應該及時安裝
  • 企業環境應制定統一的更新管理政策

透過這些方法,您可以更好地控制 macOS 的更新行為,在系統穩定性和安全性之間找到適合的平衡點。