CentOS手动升级系统内核

技术文档

CentOS手动升级系统内核

2022-10-13 10:57


                                            




说明:

系统版本:CentOS 7.x

CentOS 7.x默认内核版本是Linux 3.10,我们需要部署K8s等项目需要高版本的内核。

Linux Kernel官方网站:https://www.kernel.org/

ELRepo源网站:http://elrepo.org/

 

一、升级系统

#检查当前 CentOS 系统版本

cat /etc/redhat-release

CentOS Linux release 7.9.2009 (Core)

 

#查看当前 CentOS 系统内核版本

uname -sr

Linux 3.10.0-1160.el7.x86_64

 

yum clean all #清除缓存

 

yum makecache fast #重新建立缓存

 

yum update -y #升级系统

 

reboot #重启系统

 

二、使用elrepo源升级内核

 

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

 

yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

 

cp /etc/yum.repos.d/elrepo.repo /etc/yum.repos.d/elrepo.repo.bak #备份文件

 

#查看最新版内核

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

 

lable

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

* elrepo-kernel: hkg.mirror.rackspace.com

Available Packages

kernel-lt.x86_64 5.4.129-1.el7.elrepo elrepo-kernel

kernel-lt-devel.x86_64 5.4.129-1.el7.elrepo elrepo-kernel

kernel-lt-doc.noarch 5.4.129-1.el7.elrepo elrepo-kernel

kernel-lt-headers.x86_64 5.4.129-1.el7.elrepo elrepo-kernel

kernel-lt-tools.x86_64 5.4.129-1.el7.elrepo elrepo-kernel

kernel-lt-tools-libs.x86_64 5.4.129-1.el7.elrepo elrepo-kernel

kernel-lt-tools-libs-devel.x86_64 5.4.129-1.el7.elrepo elrepo-kernel

kernel-ml-devel.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

kernel-ml-doc.noarch 5.13.0-1.el7.elrepo elrepo-kernel

kernel-ml-headers.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

kernel-ml-tools.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

kernel-ml-tools-libs.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

kernel-ml-tools-libs-devel.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

perf.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

python-perf.x86_64 5.13.0-1.el7.elrepo elrepo-kernel

 

内核版本说明:

#kernel-ml #主线版本,比较新

#kernel-lt #长期支持版本,比较旧

#安装新内核,这里安装主线版本

yum --enablerepo=elrepo-kernel install kernel-ml

 

 

三、设置系统默认内核

#查看系统上的所有可用内核

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

0 : CentOS Linux (5.13.0-1.el7.elrepo.x86_64) 7 (Core)

1 : CentOS Linux (3.10.0-1160.31.1.el7.x86_64) 7 (Core)

2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)

3 : CentOS Linux (0-rescue-2aaf6a587102425da09a55cad51a2c2f) 7 (Core)

 

 

#设置默认内核为我们刚才升级的内核版本

cp /etc/default/grub /etc/default/grub-bak #备份

image.png

vi /etc/default/grub

 

 

GRUB_DEFAULT=saved修改为:

GRUB_DEFAULT=0

:wq! #保存退出

 

#重新创建内核配置

grub2-mkconfig -o /boot/grub2/grub.cfg

 

#查看默认内核

grubby --default-kernel

grub2-editenv list

 

yum makecache #更新软件包

 

reboot #重启,现在系统默认内核已经是我们刚才升级后的最新版本

 

至此,CentOS升级系统内核到最新版教程完成。

 

扩展阅读:

#查看可以安装的内核版本

yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-ml.x86_64

#安装指定版本内核

yum --enablerepo="elrepo-kernel" install kernel-ml-5.13.1-1.el7.elrepo.x86_64 -y