centos7内核kernel升级到最新版本

centos7系统内核升级到最新的kernel-ml5.x

准备

查看系统版本

cat /etc/redhat-release

看当前操作系统版本信息

cat /proc/version

查看版本当前操作系统内核信息

uname -a
输出
Linux 140 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
.x86_64 硬件平台
140 节点名称
3.10.0-1127.13.1.el7.x86_64 操作系统发行编号
GNU/Linux 操作系统名称
#1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 系统版本和时间

uname -r 查看内核版本

查看已安装的内核

rpm -qa | grep kernel

centos 7.X系统自带的3.10.x内核存在一些bugs,例如导致运行的docker、kubernetes不稳定,需要升级内核到4.4版本以上

升级内核-小版本升级

kernel-ml 不支持使用 yum -y update 直接更新内核。

查看当前安装和可升级的版本

yum list kernel

升级

yum update kernel -y

重启验证

reboot
uname -a

升级内核-大版本升级

更新仓库

yum -y update

导入公钥

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

启用 ELRepo 仓库

ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持

centos8
yum install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm

centos7
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
或者 yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

载入elrepo-kernel元数据

yum --disablerepo=* --enablerepo=elrepo-kernel repolist

查看已安装和可安装系统内核包

查看所有的内核
yum --disablerepo=* --enablerepo=elrepo-kernel list kernel*

仅查看可安装的内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#–enablerepo 选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo,这里用 elrepo-kernel 替换。

安装最新版Kernel

yum --disablerepo=* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64
#kernel-ml 中的ml是英文【mainline stable】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。
#kernel-lt 中的lt是英文【long term support】的缩写,elrepo-kernel中罗列出来的长期支持版本。
#也可指定安装版本

设置 grub2(设置为默认启动选项并重启)

查看系统上的所有内核
awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
#centos8 已经改变 不能用这个查看
#若/etc/grub2.cfg不存在,先执行:
yum install -y grub2
grub2-mkconfig -o /boot/grub2/grub.cfg
设置默认启动选项
grub2-set-default 0
# 0 为最新内核

重启验证

reboot
uname -a

删除旧内核(可不执行)

通过 yum remove 命令或通过 yum-utils 工具

查看系统中全部的内核
rpm -qa | grep kernel

卸载旧内核
更新完重启之后,可使用 yum -y remove kernel-ml-<完整的版本号>

删除旧内核的 RPM 包
yum remove kernel-3.10.0-957.1.3.el7.x86_64 kernel-3.10.0-693.el7.x86_64 kernel-tools-3.10.0-957.1.3.el7.x86_64
或 rpm -e
通过 yum-utils 工具

如果安装的内核不多于 3 个,yum-utils 工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核
yum install yum-utils

package-cleanup --oldkernels

删除旧版本的内核工具包
 yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64

安装新版本工具包
yum --disablerepo=* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64

posted @ 2022-02-11 11:22  tangshow  阅读(781)  评论(0)    收藏  举报