【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后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~

相关推荐
dsywws1 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零2 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
free3 小时前
netstat中sendq/recvq用于排查发送端发送数据的问题
服务器
小林熬夜学编程3 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
力姆泰克3 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克3 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节
程思扬3 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077004 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
wowocpp4 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu
乡村农夫4 小时前
cuda 环境搭建
linux