Linux系统更新内核稳定版教程
为什么需要更新Linux内核?
Linux内核是操作系统的核心,负责管理硬件、内存和进程。
使用稳定版内核可以修复安全漏洞、提升硬件兼容性(比如新网卡、显卡支持),还能让系统跑得更平稳。
如果你在服务器上跑着业务,更新内核前一定要评估风险——不过本文会教你怎么做才安全。
第一步:检查当前内核版本
在终端里执行下面这条命令,就能看到你现在的内核版本:
uname -r
输出类似 5.15.0-113-generic 这样的格式,中间那串数字就是主版本号。
接着再确认一下系统架构:
uname -m
x86_64 代表 64位,aarch64 代表 ARM 架构。
记住这些信息,后面选包的时候用得上。
第二步:选择合适的更新方式
方式一:通过官方仓库(推荐新手)
Ubuntu/Debian 用户可以直接用 apt 更新到仓库里最新的稳定版:
sudo apt update && sudo apt upgrade -y
sudo apt install linux-image-generic linux-headers-generic
CentOS/RHEL 7/8 用户使用 yum 或 dnf:
sudo yum update kernel -y
这种方式安装的内核经过发行版测试,兼容性最好。
缺点是可能不是最新的上游版本。
方式二:手动添加第三方源
如果你需要最新稳定版(比如 6.x 系列),可以添加 ELRepo(CentOS/RHEL)或 Ubuntu Mainline 仓库。
这里以 ELRepo 为例:
# 导入 ELRepo GPG 密钥
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装 ELRepo 仓库
sudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 查看可用的内核版本
sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 安装最新的稳定版内核(kernel-ml 是主线版,kernel-lt 是长期支持版,选一个即可)
sudo yum --enablerepo=elrepo-kernel install kernel-ml
方式三:手动编译(不推荐新手)
下载 Linux 内核源码,然后 make、make modules_install、make install 三步走。
过程比较长,而且容易出依赖问题,这里不展开。
第三步:更新引导配置并重启
安装完成后,GRUB 会自动识别新内核。
建议先检查引导顺序:
grub2-mkconfig -o /boot/grub2/grub.cfg # CentOS/RHEL
sudo update-grub # Ubuntu/Debian
然后重启系统:
sudo reboot
重启后,在 GRUB 菜单可以选择新内核启动(如果没选,默认用第一个)。
如果系统卡住,可以按 Esc 进菜单手动选择老内核进入。
第四步:验证新内核并清理旧内核
登录后再次运行 uname -r,确认版本号已经更新。
检查模块加载是否正常:
lsmod | grep -i <你关心的驱动>
比如 N 卡驱动可以用 lsmod | grep nvidia。
如果没问题,可以考虑删除旧内核释放 /boot 空间:
# 查看已安装的内核包
rpm -qa | grep kernel # CentOS/RHEL
dpkg --list | grep linux-image # Ubuntu/Debian
# 保留最新的两个,删除其余的
sudo package-cleanup --oldkernels --count=2 # CentOS 7 需要 yum-utils
sudo apt autoremove --purge # Ubuntu
避坑指南
- 小心专有驱动:NVIDIA、AMD 显卡驱动以及 ZFS 等模块需要在内核更新后重新编译。建议先确认驱动是否支持新内核,或者用
dkms自动重建。 - 不要在生产服务器上直接
apt upgrade:先在高负载测试机跑一遍,或者采用模块化更新。 - 保留至少两个旧内核:万一新内核启动失败,还能回滚。GRUB 默认保留
GRUB_DEFAULT=saved也可以。 - 检查 /boot 分区大小:如果 /boot 只有 200MB,装多个内核可能空间不足,报错信息一般是
No space left。
常见问题
Q:更新内核后网络不通了?
A:多半是网卡驱动没被新内核正确加载。请用 lspci -k 查看驱动状态,重新安装对应驱动或 dracut 重建 initramfs。
Q:如何设置默认启动老内核?
A:编辑 /etc/default/grub,设置 GRUB_DEFAULT=0 为序号(0 是第一个菜单项,1 是第二个),然后执行 update-grub。
Q:内核更新后要不要重启?
A:必须重启才能加载新内核。不想重启可以等下次维护窗口。
Q:更新时提示依赖错误?
A:先 sudo apt --fix-broken install 修复损坏包,再执行内核更新。
总结:更新 Linux 内核到稳定版没那么神秘,选对源、做好备份、验证驱动,就能安全升级。
如果你正在处理 Linux 系统更新内核稳定版教程的实践,建议先按本文步骤在测试环境跑一遍,再应用到生产服务器;
遇到异常时优先回看避坑和高频问题部分。