分爲以下幾個步驟,個人建議使用root操作以免出現不一致。所有操作必須使用root權限,否則會沒有權限進行升級。
本次升級爲rpm包方式,減少出錯概率。順便提供腳本一鍵升級。
- 更新系統軟件包
- 下載新版本linux kernel
- 安裝新版本內核
- 修改grub
- 檢查
1. 更新系統
不建議直接在生產環境操作,請先進行測試。特殊情況下會出現,軟件於內核發生衝突,從而導致無法正常引導、開機、軟件無法使用。
sudo yum -y install yum-plugin-fastestmirror #這是yum的鏡像加速插件,會自動選擇速度最快的站點。
sudo yum -y update #更新所有軟件包
2. 下載新版本linux kernel
建議使用repo倉庫,也可以單獨下載rpm文件進行安裝。
建議使用穩定版,linux 內核分爲三個大版本。
- mainline(主線),簡稱ml。有新特性,會先增加在此版本內。
- stable(穩定版),在倉庫內簡稱也是ml,穩定版。
- logterm(長期支持),簡稱lt,長期支持,長期進行維護,具體什麼時間不維護,得看官網定義。
這裏選擇清華大學鏡像站 。
PS,清華大學鏡像站會默認使用mainline版本,原因是stable的rpm包也叫kernel-ml,yum安裝默認最新版本的rpm包。
但是這個問題我看了看kernel官網,mainline也被稱之爲stable!!!
新增kernel倉庫源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/x86_64/
cat > /etc/yum.repos.d/kernel.repo << EOF
[kernel]
name=Linux Kernel
baseurl=$baseurl
enabled=1
gpgcheck=0
EOF
cat /etc/yum.repos.d/kernel.repo
3. 安裝新版本內核
yum --disablerepo=* --enablerepo=kernel install kernel-ml -y #禁用其他源,只使用kernel源。以免出錯
4.修改grub
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg #使用awk命令檢查Grub2中所有可用的內核版本。
sudo grub2-set-default 0 #將編號0的內核版本設置爲開機默認
sudo grub2-mkconfig -o /boot/grub2/grub.cfg #重新生成grub2 配置
sudo init 6 # 重啓
sudo uname -r #重啓完成後查看