升级CentOS7,CentOS8 Linux内核

2019-01-14 5427点热度 0人点赞 0条评论

安装新内核

更新仓库

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

王显锋

激情工作,快乐生活!

文章评论