升级CentOS7,CentOS8 Linux内核

版主: jvip_chen

回复
头像
jvip_chen
社区版主
社区版主
帖子: 210
注册时间: 2019年 1月 5日 13:36 星期六

升级CentOS7,CentOS8 Linux内核

帖子 jvip_chen »

安装新内核
更新仓库

代码: 全选

yum -y update
-y 选项可以在每次需要确认时,自动使用 yes,节省时间。
启用 ELRepo 仓库
ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。
ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等。
参考文档连接:The Community Enterprise Linux Repository
启用 ELRepo 仓库:

代码: 全选

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
centos8
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
centos7
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
查看可用的系统内核包:

代码: 全选

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装最新内核

代码: 全选

yum --enablerepo=elrepo-kernel install kernel-ml
–enablerepo 选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo,这里用 elrepo-kernel 替换。

设置 grub2
内核安装好后,需要设置为默认启动选项并重启后才会生效

查看系统上的所有可以内核

代码: 全选

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
设置 grub2
其中 0 来自上一步的 awk 命令:

代码: 全选

grub2-set-default 0
或者
编辑/etc/default/grub设置 GRUB_DEFAULT=0,表示使用上一步的 awk 命令显示的编号为 0 的内核作为默认内核

生成 grub 配置文件并重启
下一步,通过 gurb2-mkconfig 命令创建 grub2 的配置文件,然后重启:

代码: 全选

grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
验证

代码: 全选

uname
-r
删除旧内核
内核有两种删除方式:通过 yum remove 命令或通过 yum-utils 工具

通过 yum remove 命令
查看系统中全部的内核:

代码: 全选

# rpm -qa | grep kernel
kernel-tools-libs-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-693.el7.x86_64
kernel-ml-4.20.2-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.1.3.el7.x86_64
删除旧内核的 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
通过 yum-utils 工具
如果安装的内核不多于 3 个,yum-utils 工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核。
安装

代码: 全选

yum install yum-utils
删除

代码: 全选

package-cleanup --oldkernels
回复

回到 “Centos Server”