安装新内核
更新仓库
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
文章评论