CentOS 7 升级内核&删除旧内核

Author Avatar
青枫 2022年06月22日
  • 在其它设备中阅读本文章

注意事项

关于内核种类

kernel-lt

kernel-lt 中的 lt 是英文 longterm 的缩写,即长期支持版本

kernel-ml

kernel-ml 中的 ml 是英文 mainline 的缩写,即最新的稳定主分支版本

  1. ML 与 LT 两种内核类型版本可以共存
  2. 但每种类型内核只能存在一个版本
  • 例如:
    当系统已存在 LT 内核的 5.4.103 版本时,继续安装 LT 内核的 4.4.215 版本则会提示: package kernel-lt-5.4.103-1.el7.elrepo.x86_64 (which is newer than kernel-lt-4.4.215-1.el7.elrepo.x86_64) is already installed

升级内核

1. 查看当前系统内核版本

uname -r

2. 导入 ELRepo 公钥:

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

3. 安装 ELRepo

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

4. 查看可用内核

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

5. 安装 LT 或 ML 版本内核

# 安装 LT 版本 (推荐)
yum --enablerepo=elrepo-kernel -y install kernel-lt

# 安装 MT 版本
yum --enablerepo=elrepo-kernel -y install kernel-ml

6. 查看内核列表

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg

7. 设置默认启动内核(一般最新安装的内核启动顺序为 0)

grub2-set-default 0

8. 重启系统

reboot

9. 查看当前系统内核版本

uname -r

删除旧内核

1. 查看系统所有内核

[root@server ~]$ rpm -qa | grep kernel
kernel-5.18.1-1.x86_64
kernel-lt-5.4.199-1.el7.elrepo.x86_64
kernel-headers-5.18.1-1.x86_64

2. 删除指定内核

此处以删除 5.18.1 版本内核为例

注意:无法删除系统当前在用的内核

yum remove -y kernel-5.18.1-1.x86_64
yum remove -y kernel-headers-5.18.1-1.x86_64

3. 重启系统

reboot

4. 查看系统所有内核

rpm -qa | grep kernel