内核

Linux每个一段时间会发布一个新的内核维护版本,新的版本会带来一些新的特性,有性能的优化,安全更新,新的功能等等,请各位确认好自己的业务需要进行更新,如生产环境中,已经保持稳定没有问题的不建议直接更新。

{dotted startColor="#ff6c6c" endColor="#1989fa"/}

更新


通常的方法是编译内核进行安装,需要对linux有一定的知识和了解,比较繁杂。

更方便的方法


以Centos为例,我们可以通过yum软件包管理进行内核的更新。

具体操作命令示例

更新yum源仓库
yum -y update
启用 ELRepo 仓库

ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。
ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等。

导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装ELRepo仓库的yum源

Centos7

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

Centos8

#Centos8
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
查看ELRepo提供的内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

kernel-lt:表示longterm,即长期支持的内核;当前为5.4
kernel-ml:表示mainline,即当前主线的内核;当前为6.1

安装最新版本内核
yum --enablerepo=elrepo-kernel install kernel-ml
查看系统可用内核,并设置启动项
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

可能会有如下显示

0 : CentOS Linux (6.1.0-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.71.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.66.1.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
4 : CentOS Linux (0-rescue-0b6c236045fa4fbbaf5a2bc97b8c3bc4) 7 (Core)
指定开机启动内核版本

grub2-set-default 0

生成 grub 配置文件

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

重启系统

reboot

验证是否成功

uname -a
如果显示内核版本为6.1的即为成功。

卸载旧内核

yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))