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上,則需要重新啟動作業系統。

方案二:大版本升級

載入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中羅列出來的長期支援版本。