1. 程式人生 > >升級CentOS 7.4核心版本的三種方案

升級CentOS 7.4核心版本的三種方案

這裡寫圖片描述
在實驗環境下,已安裝了最新的CentOS 7.4作業系統,現在需要升級核心版本。

實驗環境

CentOS-7-x86_64-Minimal-1708.iso
CentOS Linux release 7.4.1708 (Core)
Kernel 3.10.0-693.el7.x86_64

方案一:小版本升級

連線並同步CentOS自帶yum源,更新核心版本。此方法適用於更新核心補丁 。
具體實驗步驟:

sudo yum list kernel
sudo yum update -y kernel

這裡寫圖片描述

這裡寫圖片描述

此時,已安裝成功,但若想將系統執行在新版本的kernel上,則需要重新啟動作業系統。
這裡寫圖片描述


重啟完成,至此,Kernel版本已升級至【3.10.0-693.17.1.el7.x86_64】
這裡寫圖片描述

方案二:大版本升級

載入elrepo源,搜尋核心更新資源,並進行更新操作。
具體實驗步驟:

# 載入公鑰
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安裝ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# 載入elrepo-kernel元資料
yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
# 檢視可用的rpm包
yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel* # 安裝最新版本的kernel yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64

重啟,選擇新版本核心進入系統。

此時,作業系統使用的核心已升級為【4.15.0-1.el7.elrepo.x86_64】

最後一步,需要將核心工具包一併升級

# 刪除舊版本工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
# 安裝新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64

至此,已完成升級。

方案三:自編譯升級

Step1: 下載原始碼
Step2: 安裝gcc bc cmake
Step3: 編譯原始碼,安裝新核心
自編譯升級過程略微複雜,且不便於後期維護,具體操作步驟在此略去不表。

話題擴充套件

如何將新安裝的核心設定為作業系統的預設核心,或者說如何將新版本的核心設定為重啟後的預設核心?
僅需兩步,之後重啟即可。

grub2-set-default 0
grub2-mkconfig -o /etc/grub2.cfg

術語解析

  • kernel-ml
    kernel-ml 中的ml是英文【mainline stable】的縮寫,elrepo-kernel中羅列出來的是最新的穩定主線版本。

  • kernel-lt
    kernel-lt 中的lt是英文【long term support】的縮寫,elrepo-kernel中羅列出來的長期支援版本。

Reference

Original