Linux运维、服务器管理,除了日志报错排查,内核升级也是必备技能!

很多新手遇到内核报错、硬件不兼容、安全漏洞,不知道怎么解决,其实升级内核就能搞定大部分这类问题;还有不少小伙伴想体验新内核的功能,却怕操作失误导致系统崩溃,不敢下手。

今天就给大家整理一篇「Linux内核升级完整指南」,从内核查询、升级准备,到分步实操、故障回滚,全程零复杂术语,新手跟着步骤走,零失误完成升级,收藏起来,以后升级内核不用慌!

(文末附:升级避坑指南+常见报错解决,新手必看!)

一、先搞懂:为什么要升级Linux内核?

很多新手会问:“我的系统能正常用,为什么要升级内核?” 其实内核升级不是多此一举,主要有3个核心作用,尤其对服务器来说至关重要:

重点提醒:生产环境服务器升级前重装linux系统,一定要先备份数据!避免升级失败导致数据丢失,新手建议先在测试机上实操,再在正式服务器上操作。

二、升级前准备:3步确认,避免踩坑

升级内核前,先做好3个准备工作,确保升级过程顺利,新手必做!

1. 查看当前内核版本(确认是否需要升级)

先查询自己系统的当前内核版本,判断是否需要升级,命令直接复制执行:

# 查看当前内核版本(最常用命令)
uname -r
# 查看系统所有已安装的内核版本
rpm -qa | grep kernel

解读:比如输出“3.10.0-1160.el7.x86_64”,就是当前内核版本;如果版本较低(比如3.x版本),且遇到硬件兼容、内核报错,就可以考虑升级。

2. 确认系统版本(选择对应内核)

不同Linux发行版(CentOS、Ubuntu),升级内核的方法不同,先确认自己的系统版本,命令:

# CentOS/RHEL系统
cat /etc/redhat-release
# Ubuntu系统
lsb_release -a

本文重点讲解「CentOS 7/8」和「Ubuntu 20.04/22.04」的升级方法,覆盖90%新手使用场景。

3. 备份系统数据(关键步骤)

升级内核有极小概率导致系统无法启动,新手一定要备份重要数据,推荐2种简单备份方式:

三、分步实操:Linux内核升级(分系统,新手直接照搬)

分「CentOS系统」和「Ubuntu系统」重装linux系统,步骤清晰,每一步都有命令,复制执行即可,不用手动输入。

(一)CentOS 7/8 系统内核升级(最常用,新手优先看)

CentOS系统升级内核,推荐使用ELRepo仓库(第三方仓库,稳定安全,支持最新内核),步骤如下:

Linux内核升级教程_Linux服务器内核升级方法_重装linux系统

步骤1:安装ELRepo仓库

# 切换到root用户(必须,否则权限不足)
sudo su
# CentOS 7 安装ELRepo仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# CentOS 8 安装ELRepo仓库(如果是CentOS 8,执行这条)
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

步骤2:查看可升级的内核版本

# 查看ELRepo仓库中可用的内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

解读:输出结果中,「kernel-ml」是最新稳定版内核,「kernel-lt」是长期支持版内核,新手推荐安装「kernel-ml」(稳定且功能全)。

步骤3:安装新内核

# 安装最新稳定版内核(推荐新手)
yum --enablerepo=elrepo-kernel install kernel-ml -y
# 若想安装长期支持版内核,执行这条
# yum --enablerepo=elrepo-kernel install kernel-lt -y

安装过程中,会自动下载内核文件,耐心等待即可(根据网络速度,大概5-10分钟)。

步骤4:设置默认启动新内核

安装完成后,需要设置新内核为默认启动,否则重启后还是会使用旧内核:

# 查看系统所有内核,确认新内核的序号(新内核通常在最上面,序号为0)
awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# 设置新内核为默认启动(序号为0,若你的新内核序号不是0,替换成对应序号)
grub2-set-default 0
# 生成新的grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg

步骤5:重启系统,完成升级

# 重启系统(必须重启,否则内核不生效)
reboot

重启后,执行 uname -r,若输出的内核版本是刚安装的新内核,说明升级成功!

(二)Ubuntu 20.04/22.04 系统内核升级

Ubuntu系统升级内核,使用官方仓库即可,步骤更简单,新手直接照搬:

步骤1:更新系统软件

# 切换到root用户
sudo su
# 更新软件包列表
apt update
# 升级系统已安装软件(避免依赖冲突)
apt upgrade -y

步骤2:查看可升级的内核版本

# 查看Ubuntu官方仓库中可用的内核版本
apt search linux-image

解读:输出结果中,「

linux-image-5.xx.x-xx-generic」就是可安装的内核版本,选择最新的稳定版(数字最大的)即可。

步骤3:安装新内核

# 安装最新稳定版内核(替换成你查到的最新版本,比如5.15.0-78-generic)
apt install -y linux-image-5.15.0-78-generic linux-headers-5.15.0-78-generic

说明:linux-headers是内核头文件,必须一起安装,否则可能出现驱动兼容问题。

步骤4:重启系统,验证升级

# 重启系统
reboot
# 重启后,查看当前内核版本
uname -r

若输出的是新安装的内核版本,说明Ubuntu内核升级成功!

四、升级后:2步验证+故障回滚(新手必看)

升级完成后linux安装教程,先验证是否成功,若出现系统无法启动、报错等问题,及时回滚,避免系统瘫痪。

1. 升级成功验证

# 1. 查看当前内核版本(确认是新内核)
uname -r
# 2. 查看系统是否正常运行
systemctl status rsyslog  # 查看日志服务是否正常
ping www.baidu.com        # 查看网络是否正常
df -h                     # 查看磁盘是否正常

若以上命令都能正常执行,无报错,说明升级成功,系统运行正常。

2. 故障回滚(升级失败怎么办?)

如果重启后系统无法启动,或出现严重报错,按以下步骤回滚到旧内核:

重装linux系统_Linux内核升级教程_Linux服务器内核升级方法

重启系统linux删除命令,开机时按「Esc」键,进入grub菜单。在grub菜单中,选择「Previous Linux versions」(旧内核版本),按回车启动。启动后,删除新安装的内核,命令如下: # CentOS系统删除新内核(替换成你安装的新内核版本) yum remove -y kernel-ml-5.19.0-1.el7.x86_64 # Ubuntu系统删除新内核(替换成你安装的新内核版本) apt remove -y linux-image-5.15.0-78-generic linux-headers-5.15.0-78-generic删除后,重启系统,就会默认启动旧内核,系统恢复正常。五、新手必避:内核升级常见坑(重点!)六、常见报错解决(新手速查)1. 升级时提示“依赖冲突”

解决:CentOS系统执行「yum clean all」清理缓存,再重新执行安装命令;Ubuntu系统执行「apt -f install」修复依赖,再升级。

2. 重启后无法进入系统,提示“kernel panic”

解决:按前面的“故障回滚”步骤,启动旧内核,删除新内核,检查新内核版本是否与系统兼容。

3. 升级后网络无法使用

解决:查看内核日志(cat /var/log/messages | grep network),确认网卡驱动是否兼容,若不兼容,回滚到旧内核,或安装对应驱动。

七、总结

Linux内核升级,核心就是“做好准备→分步操作→验证回滚”,新手只要跟着本文步骤走,就能零失误完成升级,不用再怕内核报错、硬件不兼容的问题。

记住:升级前备份数据、升级后验证系统、保留旧内核方便回滚,这3点能避开99%的坑!

后续会持续更新Linux运维干货(日志排查、权限管理、服务部署),感兴趣的朋友,点赞+收藏+关注,一起从零学好Linux,少走弯路!

#Linux运维 #Linux内核升级 #Linux教程 #Linux新手入门 #服务器运维 #内核报错解决

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复