Linux Study Lab !

当前位置:   网站首页 >> Linux 基础配置

CentOS 7 yum更新long-term内核

虽然CentOS8就结束了,但2022年的今天,7仍然有较多服务器跑着还未迭代新版本。在Rocky Linux没有得到充分验证前我们还是使用7或者ubuntu 20.xx系列比较稳妥。本文给予仍然在使用7但是内核运行在3.x又不想自己编译新版内核的人另一种选择那就是使用elrepo.org提供的内核,直接使用yum安装即可。

首先运行如下命令:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm    #系统为centos8时请将地址中的7改成8

将安装CentOS 7内核更新库,然后可以使用清单命令列表当前可供更新的内核版本,内核版本分两种,一种为long-term版一种为mainline版本,推荐生产业务服务器更新前者

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

截止本文发布时,仓库内提供的版本如下:

kernel-lt.x86_64                                                           5.4.168-1.el7.elrepo
kernel-ml.x86_64                                                           5.15.11-1.el7.elrepo

我们安装long-term版本

 yum --enablerepo=elrepo-kernel install kernel-lt

下载安装后,重启即可在系统加载时选择从5.4内核版本启动,如您的服务器为云服务器则需要继续以下步骤后再重启

首先查看当前系统上已安装到grub2启动器里的内核清单

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.4.168-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.49.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-50166bfb77424b719127a9766ed25ad3) 7 (Core)

可以看到按序号顺序0开始依次排列,直接使用命令指定序号可以指定系统下次重启后使用的内核

grub2-set-default 0

也可以直接编译grub配置文件来实现

vi /etc/default/grub
修改参数GRUB_DEFAULT=0
然后重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg

重启即可


附:系统为centos8时,新安装的内核会默认设置为下一次启动,具体可通过如下命令查看

grubby --default-kernel

列出当前安装的所有内核

grubby --info=ALL

>
index=0
kernel="/boot/vmlinuz-5.4.171-1.el8.elrepo.x86_64"
args="ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap $tuned_params"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-5.4.171-1.el8.elrepo.x86_64.img $tuned_initrd"
title="Rocky Linux (5.4.171-1.el8.elrepo.x86_64) 8.5 (Green Obsidian)"
id="712462ef4bd7466da41d0aa76548c3e1-5.4.171-1.el8.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-4.18.0-348.7.1.el8_5.x86_64"
args="ro resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap $tuned_params"
root="/dev/mapper/rl-root"
initrd="/boot/initramfs-4.18.0-348.7.1.el8_5.x86_64.img $tuned_initrd"
title="Rocky Linux (4.18.0-348.7.1.el8_5.x86_64) 8.5 (Green Obsidian)"
id="712462ef4bd7466da41d0aa76548c3e1-4.18.0-348.7.1.el8_5.x86_64"

设置下次启动内核

grubby --set-default /boot/vmlinuz-5.4.171-1.el8.elrepo.x86_64


附:删除老旧内核

查看系统中内核(本例中显示的版本为系统自带的3.10和更新后的5.4)

rpm -qa | grep kernel
kernel-tools-libs-3.10.0-1160.49.1.el7.x86_64
kernel-tools-3.10.0-1160.49.1.el7.x86_64
kernel-3.10.0-1160.49.1.el7.x86_64
kernel-lt-5.4.168-1.el7.elrepo.x86_64

删除指定版本内核

yum remove kernel-3.10.0-1160.49.1.el7.x86_64



发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项