更新linux內核及其組件

Docker對Linux內核版本的最低要求是3.10。目前Linux內核已經發布到 5.4,爲了更好使用docker和k8s,需要對公司相關CentOS 7內核進行升級。

下載公鑰

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安裝elrepo repo

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

倉庫啓用後,列出可用的內核相關包:

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 

查詢所有kernel包

rpm -qa|grep kernel
kernel-devel-3.10.0-862.6.3.el7.x86_64
kernel-tools-libs-3.10.0-862.6.3.el7.x86_64
kernel-tools-3.10.0-862.6.3.el7.x86_64
kernel-devel-3.10.0-862.el7.x86_64
abrt-addon-kerneloops-2.1.11-50.el7.centos.x86_64
kernel-3.10.0-862.6.3.el7.x86_64
kernel-headers-3.10.0-862.6.3.el7.x86_64

根據上述查詢結果,刪除所有舊內核相關包

yum remove kernel-devel kernel-tools-libs kernel-tools kernel-headers

卸載上述軟件包會連帶卸載以下安裝包需要更新後,重新安裝。kernel-devel會連帶刪除systemtap和systemtap-devel。kernel-headers則和下面都有關係。

compat-glibc   x86_64   1:2.12-4.el7.centos
compat-glibc-headers  x86_64   1:2.12-4.el7.centos
gcc x86_64   4.8.5-28.el7_5.1
gcc-c++x86_64   4.8.5-28.el7_5.1
gcc-gfortran   x86_64   4.8.5-28.el7_5.1
glibc-develx86_64   2.17-222.el7
glibc-headers  x86_64   2.17-222.el7
libquadmath-devel  x86_64   4.8.5-28.el7_5.1
libtool x86_64   2.4.2-22.el7_3
systemtap   x86_64   3.2-8.el7_5
systemtap-develx86_64   3.2-8.el7_5

安裝新內核

yum --enablerepo=elrepo-kernel install -y kernel-ml.x86_64

安裝新內核相關軟件

yum --disablerepo=\* --enablerepo=elrepo-kernel install -y  kernel-ml-devel kernel-ml-tools kernel-ml-tools-libs kernel-ml-tools-libs-devel kernel-ml-headers

查看默認內核

grub2-editenv list

將新內核設爲默認grbu啓動項

grub2-set-default 0

生成 grub 配置文件

grub2-mkconfig -o /etc/grub2.cfg
reboot   #不重啓也可以

刪除舊內核

yum remove kernel-3.10.0-862.6.3.el7.x86_64

安裝更新舊內核時被卸載的軟件

yum install -y compat-glibc compat-glibc-headers gcc gcc-c++ gcc-gfortran glibc-devel glibc-headers libquadmath-devel libtool systemtap systemtap-devel

查看默認內核

grub2-editenv list
saved_entry=CentOS Linux (5.4.8-1.el7.elrepo.x86_64) 7 (Core)
發佈了33 篇原創文章 · 獲贊 4 · 訪問量 9684
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章