使用ELRepo升级CentOS内核
Posted 陌上荼靡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ELRepo升级CentOS内核相关的知识,希望对你有一定的参考价值。
在腾讯云中部署了一些服务器,操作系统使用的是CentOS 7.6,但是其默认内核版本较低,现使用ELRepo
对CentOS的内核进行升级。
操作环境
服务器:腾讯云轻量应用服务器
操作系统:CentOS 7.6
当前内核版本:3.10.0-1160.45.1
目标内核版本:5.4.233-1
首先查看当前系统的内核版本
uname -rs
可以看到内核版本为3.10.0-1160.45.1
Linux 3.10.0-1160.45.1.el7.x86_64
当前的内核版本实在是太古老了,这里我们使用ELRepo进行内核升级,速度快,操作简单
以下是ELRepo官网地址: https://elrepo.org/
现在让我们开始升级内核吧
首先导入ELRepo仓库的公钥信息
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
导入成功后开始安装ELRepo
以下是RHEL-7, SL-7 or CentOS-7
系统的安装指令
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
如果你是RHEL-8
或者RHEL-9
可以参考以下命令
# RHEL-8
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
# RHEL-9
yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
安装完成后,我们查看当前可用的内核发行版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
其中主要有两个版本,kernel-lt
代表long term support
版本,kernel-ml
表示mainline stable
版本,为了保证系统的安全和稳定性,我们这里使用kernel-lt
作为升级版本
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
Available Packages
kernel-lt-devel.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
perf.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
开始安装长期支持版本kernel-lt
yum --enablerepo=elrepo-kernel install kernel-lt
安装完毕后,查看一下系统中已完成的kernel信息
grubby --info=ALL | grep ^kernel
可以看到kernel-lt
的最新版本5.4.233-1
已经安装成功了
kernel=/boot/vmlinuz-0-rescue-3d0df1c5536b40eba1b845d007ce1f87
kernel=/boot/vmlinuz-5.4.233-1.el7.elrepo.x86_64
kernel=/boot/vmlinuz-3.10.0-1160.45.1.el7.x86_64
kernel=/boot/vmlinuz-0-rescue-21acf41b46a64ca4a55e93cb350a7749
查看一下当前系统的默认内核
grubby --default-kernel
可以看到当前默认内核依旧为3.10.0-1160.45.1
/boot/vmlinuz-3.10.0-1160.45.1.el7.x86_64
修改系统的默认内核为我们新安装的内核版本
grubby --set-default "/boot/vmlinuz-5.4.233-1.el7.elrepo.x86_64"
重启系统,使内核生效
reboot
重启成功之后再次查看当前系统信息
uname -rs
可以看到当前我们使用的是新安装的内核了
Linux 5.4.233-1.el7.elrepo.x86_64
为了节省空间,我们可以按需移除老的内核
查看已安装的内核
rpm -qa | grep kernel
可以看到我们新老内核的信息,以及一些内核开发包
kernel-tools-3.10.0-1160.45.1.el7.x86_64
kernel-devel-3.10.0-1160.45.1.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-headers-3.10.0-1160.45.1.el7.x86_64
kernel-3.10.0-1160.45.1.el7.x86_64
kernel-lt-5.4.233-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64
kernel-mft-4.15.1-100.kver.3.10.0_1160.45.1.el7.x86_64.x86_64
卸载老的内核信息,注意不要把新的内核也移除了
yum remove kernel-3.10.0-1160.45.1.el7.x86_64 \\
kernel-tools-3.10.0-1160.45.1.el7.x86_64 \\
kernel-devel-3.10.0-1160.45.1.el7.x86_64 \\
kernel-headers-3.10.0-1160.45.1.el7.x86_64 \\
kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64
最后如有有需要的话,可以更新一下系统里的软件包
# yum update
yum --enablerepo=elrepo-kernel update
到此内核就升级完成了,整个过程还是相当顺畅的,不过下载新内核的时候可能网速比较慢,如果发生失败可以多试几次或者使用国内的镜像源来提速。
以上是关于使用ELRepo升级CentOS内核的主要内容,如果未能解决你的问题,请参考以下文章