【Linux】Centos7升级内核的方法:yum更新(ELRepo)

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。

🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。

🌼 同时洲洲已经建立了程序员技术交流群,如果您感兴趣,可以私信我加入社群,可以直接vx联系(文末有名片)v:bdizztt

🖥 随时欢迎您跟我沟通,一起交流,一起成长、进步!点此也可获得联系方式~

本文目录

  • 前言
  • 一、Linxu内核
    • [1.1 内核解析](#1.1 内核解析)
    • [1.2 内核的分类](#1.2 内核的分类)
    • [1.3 内核的选择](#1.3 内核的选择)
    • [1.4 内核的升级](#1.4 内核的升级)
    • [1.5 注意事项](#1.5 注意事项)
  • 二、ELRepo升级内核
  • 总结

前言

Linux操作系统的多样性很大程度上归功于其内核的灵活性和可定制性。内核作为操作系统的核心,不仅决定了系统的性能和稳定性,也影响着系统的安全性和功能性。

Linux内核是操作系统的核心,负责管理系统资源、控制程序执行、处理硬件设备等。不同版本的内核对应着不同的功能和性能表现,这也是Linux发行版多样化的原因之一。

一、Linxu内核

1.1 内核解析

在Linux系统中,我们可以通过uname -r命令查看当前使用的内核版本。例如,3.10.0-1127.19.1.el7.x86_64这个版本号中,3是主版本号,10是次版本号,表明这是一个稳定的版本,0是修订版本号,而1127.19.1则是发行版的补丁版本号。el7表示这是为RedHat/CentOS系列发行版专用的内核,x86_64指明它适用于64位CPU的操作系统。

1.2 内核的分类

Linux内核可以分为官方内核和各大Linux发行版内核。内核版本号的分类如下:

Prepatch/RC:主要面向内核开发人员和Linux爱好者,包含新功能,需要从源代码编译。

Mainline:由Linus Torvalds维护,每2-3个月发布一次,引入所有新功能。

Stable:主线内核发布后即被认为是稳定的,按需发布BUG修复版本。

Longterm:长期维护版本,用于修复旧版内核的重大BUG,发布频率较低。

1.3 内核的选择

在众多内核版本中,选择一个稳定且经过充分测试的版本至关重要。Longterm内核因其稳定性和较低的BUG修复频率而成为理想的选择。例如,5.4.69版本的内核就是一个长期维护的稳定版本。

选择Longterm内核的理由包括:

稳定性:Longterm内核经过长时间的测试和使用,大部分BUG已被修复。

功能性:新功能的引入使得Longterm内核能够提供更多的系统功能。

向下兼容性:内核的向下兼容性保证了在升级过程中系统的兼容性和稳定性。

1.4 内核的升级

Linux系统通常支持多版本内核共存,因此在升级内核时,我们可以选择保留旧版本内核,仅安装新版本内核,并在系统启动时通过GRUB选择使用新版本内核。

升级策略

1.备份当前系统:在进行内核升级前,备份当前系统状态,以防万一。

2.下载新内核:从可信的源下载新内核的源码包或二进制包。

3.安装新内核:根据系统和内核类型,编译并安装新内核。

4.更新GRUB配置:确保GRUB配置文件中包含了新内核的启动项。

5.重启并选择新内核:重启系统,在GRUB菜单中选择新内核启动。

1.5 注意事项

不要删除旧内核:保留旧内核可以在新内核出现问题时快速回退。

测试新内核:在生产环境部署新内核前,应在测试环境中充分测试其稳定性和兼容性。

二、ELRepo升级内核

ELRepo是一个为Red Hat Enterprise Linux及其衍生版(如CentOS)提供最新内核的第三方仓库。使用ELRepo可以轻松升级到最新的主线(Mainline)或长期支持(Long Term Support, LTS)内核。

步骤1:检查已安装的内核版本

在开始升级之前,首先要确认当前系统中已安装的内核版本。可以通过执行以下命令来查看:

java 复制代码
uname -rs

例如,输出结果可能是Linux 3.10.0-1127.19.1.el7.x86_64。

步骤2:启用ELRepo仓库

接下来,需要启用ELRepo仓库以获取新的内核包。按照以下步骤操作:

导入ELRepo的GPG密钥:

java 复制代码
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装ELRepo仓库包:

java 复制代码
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

查看可用的内核版本:

java 复制代码
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

步骤3:安装新内核

根据输出的内核版本列表,选择一个合适的版本进行安装。可以选择安装主线版本(较新但可能不稳定)或长期稳定版本(经过充分测试的稳定版本)。

安装主线版本(以5.8.13为例):

java 复制代码
yum --enablerepo=elrepo-kernel install kernel-ml -y

安装长期稳定版本(以4.4.238为例):

java 复制代码
yum --enablerepo=elrepo-kernel install kernel-lt -y

安装完成后,重启计算机,并在GRUB启动菜单中手动选择新安装的内核版本。

步骤4:设置GRUB默认内核版本

为了让新安装的内核成为默认启动项,需要修改GRUB配置文件:

打开并编辑 /etc/default/grub 文件,设置 GRUB_DEFAULT=0:

java 复制代码
nano /etc/default/grub

修改配置如下:

java 复制代码
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

保存并关闭文件后,更新GRUB配置:

java 复制代码
grub2-mkconfig -o /boot/grub2/grub.cfg

重启计算机,新内核将作为默认内核启动。

总结

📝Hello,各位看官老爷们好,我已经建立了CSDN技术交流群,如果你很感兴趣,可以私信我加入我的社群。

📝社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论谈等等。

📝社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体副业交流、前沿科技文章分享、论文精读等等。

📝不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个大佬!

📝想都是问题,做都是答案!行动起来吧!欢迎评论区or后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~

相关推荐
Hoxy.R2 分钟前
iSCSI 磁盘扩容后节点不刷新容量的问题解决(StarWind + Linux)
linux·运维·服务器
CV小白进阶路3 分钟前
【无标题】Vscode 报错 got bad result from install script无法远程链接服务器
服务器·ide·vscode
lytao12311 分钟前
使用 dnsmasq 搭建本地 DNS 服务器完整指南
运维·服务器·dns
心随雨下17 分钟前
Tomcat日志配置与优化指南
java·服务器·tomcat
wljt27 分钟前
Linux 常用命令速查手册(Java开发版)
java·linux·python
riderxin27 分钟前
【20251028】固定Ubuntu的IP地址
linux·tcp/ip·ubuntu
赖small强29 分钟前
Linux 内核 8 类同步机制详解(原理、场景与示例)
linux·信号量·原子操作·自旋锁·内核同步方法·读-写自旋锁·读-写信号量
YJlio1 小时前
PsService·下(7.21):Find/SetConfig 与服务的启动/停止/重启/暂停/恢复
linux·运维·服务器
波诺波1 小时前
环境管理器
linux·前端·python
草莓熊Lotso1 小时前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节