Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

yum upgrade vs yum update:差異解析與實測

編輯:Linux 教學

CentOS/RHEL 系統管理常見困惑:yum upgrade 與 yum update 到底差在哪?官方文件說明:

  • yum update:更新所有套件包含核心,必要時會安裝新套件、移除舊套件以滿足相依。
  • yum upgrade:等同 yum update --obsoletes,處理淘汰套件,但在 RHEL/CentOS 7 以前不更新核心套件(除非明確指定)。

本文以 CentOS 5.5 實測驗證差異。

實測環境

項目升級前
系統版本CentOS 5.5
核心版本2.6.18-194.el5

執行 yum -y upgrade

項目升級後
系統版本CentOS 5.7
核心版本2.6.18-194.el5 (未變)

執行 yum -y update

項目升級後
系統版本CentOS 5.7
核心版本2.6.18-238.el5 (已更新)

關鍵差異總結

指令更新一般套件更新核心處理淘汰套件適用場景
yum update✅✅✅ (含 --obsoletes)例行維護、安全性更新、想要最新核心
yum upgrade✅❌ (舊版)✅ (內建 --obsoletes)不想動核心、僅更新應用層套件

現代版本(CentOS 7+/RHEL 7+/Fedora)補充

自 yum 3.4.3 起(CentOS 7 預設),upgrade 內建 --obsoletes 且會更新核心,兩者行為幾乎相同。若需「不更新核心」,可用:

yum update --exclude=kernel*   # 排除核心套件
yum upgrade --exclude=kernel*

最佳實踐建議

  1. 生產環境:先在測試機跑 yum check-update 審視將更新套件,再排程維護視窗執行 yum update。
  2. 核心鎖定:若應用依賴特定核心模組(如專有驅動),在 /etc/yum.conf 加入 exclude=kernel* 或使用 yum versionlock。
  3. 離線/內網環境:建立本地 yum repo(createrepo),確保版本一致性。
  4. 事務紀錄:yum history 可查看、回滾、重做任意交易。
簡單記憶:update = 全面更新(含核心),upgrade = 處理淘汰套件(舊版不動核心)。現代版本兩者趨同,以 update 為主流指令。
Copyright © Windows教程網 All Rights Reserved