CentOS Linux升级内核kernel方法

目录

一、背景

二、准备工作

三、升级内核


一、背景

某些情况需要对Linux发行版自带的内核kernel可能版本较低,需要对内核kernel进行升级。例如:CentOS 7.x 版本的系统默认内核是3.10.0,该版本的内核在Kubernetes社区有很多已知的Bug(如:内核内存泄漏错误)。通常,对于CentOS 7.x 在安装Kubernetes前建议先对内核进行升级。

下文,以CentOS 7.9 64bit为例,演示升级内核kernel的过程。

二、准备工作

1、升级前,以root用户,检查当前内核版本:

bash 复制代码
uname -r

查询得到的版本号为:3.10.0-1160.el7.x86_64

  • 第一组:3, 主版本号

  • 第二组:10, 次版本号,当前为稳定版本,一般这个数字为偶数表示稳定,奇数表示在开发版本,通常开发版本不做生产使用

  • 第三组:0, 修订版本号

  • 第四组:1160,表示发型版本的补丁版本

  • 第五组:el7:el7是 ‌Red Hat Enterprise Linux 7‌ 的缩写,表示与 Red Hat Enterprise Linux 7 系列兼容的发行版或软件包

  • 第六组:x86_64:采用的是适用64位的CPU的操作系统。

2、升级前,以root用户,查看内核列表及顺序、查看启动是默认内核:

bash 复制代码
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

grub2-editenv list

3、浏览以下网页,从中选择即将升级的新版内核。

https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/

其中kernel-ml中的ml是英文【 mainline stable 】稳定主线版本;kernel-lt 中的lt是英文【 long term support 】的缩写,长期支持版本。

三、升级内核

1、以root用户,选择新版内核,并通过rpm方式安装新内核:

bash 复制代码
rpm -ivh https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm

2、 安装后,以root用户,查看内核列表:

bash 复制代码
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

列表中可以看到刚刚安装的新内核

3、 升级后,以root用户,设置Linux启动时默认选择新内核:

bash 复制代码
grub2-set-default "CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)"

grub2-editenv list

可以看到,Linux启动默认内核已经设置为新内核

4、 重启Linux,以root用户执行reboot重启

bash 复制代码
reboot

5、 重启Linux时,可看到在启动界面多了一个内核选择,且默认选了新内核

6、 重启后,以root用户,检查升级后的内核版本:

至此,内核升级完成。

相关推荐
huainingning6 分钟前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi12 分钟前
【Linux】C语言文件操作
linux
say_fall14 分钟前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii1 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
AI+程序员在路上1 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
默|笙1 小时前
【Linux网络】传输层协议TCP(1)---TCP报文介绍
linux·网络·tcp/ip
相思难忘成疾2 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo2 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
用户4107192013252 小时前
用 systemd 从零做一个系统健康巡检服务:脚本、沙箱与磁盘满排查实战
linux·ubuntu
云飞云共享云桌面2 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造