Linux 内核升级
- 为了修复 2026-05-23 披露的 CVE-2026-46300 漏洞,主流 Linux 发行版已发布最新的内核版本,汇总如下:
警告:升级 Linux 内核存在风险,主要体现在系统无法启动、硬件驱动不兼容导致服务异常、性能退化等,极端情况会出现启动黑屏、报错Kernel Panic或无限重启。生产环境务必做系统全量备份或虚拟机快照,在测试环境验证后实施。
| 操作系统 | 最新内核 | 发布日期 | 下载地址 |
|---|---|---|---|
| Red Hat 8.6 | 4.18.0-372.107.1.el8_6 | 2026-06-10 | 需要注册订阅,暂未下载 |
| Red Hat 8.10 | 4.18.0-553.125.1.el8_10 | 2026-06-10 | 需要注册订阅,暂无法下载 |
| Red Hat 9.8 | 5.14.0-687.10.1.el9_8 | 2026-06-10 | 需要注册订阅,暂无法下载 |
| Oracle Linux 8 | 5.4.17-2136.355.3.4.el8uek(R6) 5.15.0-321.202.5.2.el8uek(R7) |
2026-05-22 2026-06-11 |
https://yum.oracle.com/repo/OracleLinux/OL8/UEKR6/x86_64 https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64 |
| Oracle Linux 9 | 5.15.0-321.202.5.el9uek(R7) 6.12.0-203.76.7.1.el9uek(R8) |
2026-06-10 2026-06-11 |
https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/x86_64 https://yum.oracle.com/repo/OracleLinux/OL9/UEKR8/x86_64 |
| Oracle Linux 10 | 6.12.0-202.76.4.4.el10uek(R8) | 2026-06-10 | https://yum.oracle.com/repo/OracleLinux/OL10/UEKR8/x86_64 |
| Kylin V10 SP3 | 4.19.90-89.39.v2401.ky10 | 2026-06-18 | https://update.cs2c.com.cn/NS/V10 |
| Ubuntu 22.04 | 5.15.0.184.165 | 2026-06-11 | https://archive.ubuntu.com/ubuntu/pool/main/l/linux |
| Ubuntu 24.04 | 6.8.0-130.130 | 2026-06-10 | https://archive.ubuntu.com/ubuntu/pool/main/l/linux |
| Ubuntu 26.04 | 7.0.0-26.26 | 2026-06-11 | https://archive.ubuntu.com/ubuntu/pool/main/l/linux |
| SUSE Linux 15.5 | 5.14.21-150500.55.163.1 | 2026-06-10 | 需要注册订阅,暂无法下载 |
| SUSE Linux 15.6 | 6.4.0-150600.20.9.2 | 2026-06-10 | 需要注册订阅,暂无法下载 |
| SUSE Linux 15.7 | 6.4.0-150700.53.55.1 | 2026-05-18 | 需要注册订阅,暂无法下载 |
| SUSE Linux 16.0 | 6.12.0-160000.31.1 | 2026-05-14 | https://scc.suse.com/patches |
| Debian 13.5 | 6.12.95-1 | - | CVE-2026-46300 |
Red Hat Linux 8.6 内核离线升级到 4.18.0-372.107.1.el8_6
- 示例将 Red Hat Enterprise Linux 8.6 的内核从 4.18.0-372.9.1.el8.x86_64 离线升级到 4.18.0-372.107.1.el8.x86_64
- 参考:https://access.redhat.com/security/cve/cve-2026-46300
#.查看当前的内核版本,默认为 4.18.0-372.9.1.el8.x86_64
[root@localhost ~]# source /etc/os-release && echo $PRETTY_NAME && uname -r
Red Hat Enterprise Linux 8.6 (Ootpa)
4.18.0-372.9.1.el8.x86_64
#.查看当前内核的构建日期, 示例 2022-04-16
[root@localhost ~]# rpm -qi kernel-`uname -r` | grep "Build Date"
Build Date : Sat 16 Apr 2022 10:46:52 AM CST
离线升级过程:不建议在 Red Hat Linux 8.6 上安装 Oracle Linux 8.6 的内核文件,可能导致系统不稳定
#.第1步.下载内核文件(可选kernel-devel/kernel-headers驱动)
cd /opt/
ll kernel-4.18.0-372.107.1.el8.x86_64.rpm
ll kernel-core-4.18.0-372.107.1.el8.x86_64.rpm
ll kernel-modules-4.18.0-372.107.1.el8.x86_64.rpm
ll kernel-modules-extra-4.18.0-372.107.1.el8.x86_64.rpm
#.第2步.安装内核文件(注意顺序)
rpm -ivh kernel-core-4.18.0-372.107.1.el8.x86_64.rpm
rpm -ivh kernel-modules-4.18.0-372.107.1.el8.x86_64.rpm
rpm -ivh kernel-4.18.0-372.107.1.el8.x86_64.rpm
rpm -ivh kernel-modules-extra-4.18.0-372.107.1.el8.x86_64.rpm
#.第3步.查看已安装的内核清单
rpm -qa | grep "kernel-[0-9]"
#.第4步.查看当前默认启动的内核路径
grubby --default-kernel
#.第5步.重启后若输出为升级后的内核版本则升级成功
reboot
uname -r
#.第6步.确认新内核的构建日期
[root@localhost ~]# rpm -qi kernel-`uname -r` | grep "Build Date"
回退到老的内核版本:Linux更新内核会默认保留最近2-3个旧版本的内核,只要没有手动删除,就可以随时回退
#.第1步.查看已安装的内核清单
rpm -qa | grep "kernel-[0-9]"
#.第2步.查看当前已安装的所有内核, 索引号越大则内核越旧
grubby --info=ALL | grep -E '^index|^kernel'
#.第3步.将旧内核设置为默认启动项, 示例改回 4.18.0-372.9.1
# grubby --set-default-index=1
grubby --set-default=/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
#.第4步.查看当前默认启动的内核路径
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
#.第5步.重启后确认已回退成功
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
Oracle Linux 8.9 内核离线升级到 5.15.0-321.202.5.2.el8uek.x86_64
- 示例将 Oracle Enterprise Linux 8.9 的内核从 5.15.0-200.131.27.el8uek.x86_64 离线升级到 5.15.0-321.202.5.2.el8uek.x86_64
#.查看当前的内核版本, 默认为 5.15.0-200.131.27.el8uek.x86_64
[root@localhost ~]# source /etc/os-release && echo $PRETTY_NAME && uname -r
Oracle Linux Server 8.9
5.15.0-200.131.27.el8uek.x86_64
#.查看当前内核的构建日期, 示例 2023-10-05
[root@localhost ~]# rpm -qi kernel-uek-`uname -r` | grep "Build Date"
Build Date : Thu 05 Oct 2023 01:29:58 PM CST
离线升级过程:
#.第1步.下载内核文件
cd /opt/
wget -c https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/getPackage/kernel-uek-core-5.15.0-321.202.5.2.el8uek.x86_64.rpm
wget -c https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/getPackage/kernel-uek-modules-5.15.0-321.202.5.2.el8uek.x86_64.rpm
wget -c https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/getPackage/kernel-uek-5.15.0-321.202.5.2.el8uek.x86_64.rpm
wget -c https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/getPackage/kernel-uek-modules-extra-5.15.0-321.202.5.2.el8uek.x86_64.rpm
#.第2步.安装内核文件(注意顺序)
rpm -ivh kernel-uek-core-5.15.0-321.202.5.2.el8uek.x86_64.rpm
rpm -ivh kernel-uek-modules-5.15.0-321.202.5.2.el8uek.x86_64.rpm
rpm -ivh kernel-uek-5.15.0-321.202.5.2.el8uek.x86_64.rpm
rpm -ivh kernel-uek-modules-extra-5.15.0-321.202.5.2.el8uek.x86_64.rpm
#.第3步.查看已安装的内核清单
[root@localhost opt]# rpm -qa | grep "kernel-uek-[0-9]"
kernel-uek-5.15.0-200.131.27.el8uek.x86_64
kernel-uek-5.15.0-321.202.5.2.el8uek.x86_64 #.新的内核
[root@localhost opt]# ls -l /boot/vmlinuz-*
-rwxr-xr-x. 1 root root 10921472 Nov 16 2023 /boot/vmlinuz-4.18.0-513.5.1.el8_9.x86_64
-rwxr-xr-x. 1 root root 13579568 Oct 5 2023 /boot/vmlinuz-5.15.0-200.131.27.el8uek.x86_64
-rwxr-xr-x. 1 root root 13757168 Jun 11 23:04 /boot/vmlinuz-5.15.0-321.202.5.2.el8uek.x86_64 #.新的内核
#.第4步.查看当前默认启动的内核路径
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-5.15.0-321.202.5.2.el8uek.x86_64
#.第5步.重启后若输出为升级后的内核版本则升级成功, 示例已升级到 5.15.0-321.202.5.2.el8uek.x86_64
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
5.15.0-321.202.5.2.el8uek.x86_64
#.第6步.确认新内核的构建日期, 示例 2026-06-11
[root@localhost ~]# rpm -qi kernel-uek-`uname -r` | grep "Build Date"
Build Date : Thu 11 Jun 2026 11:12:31 PM CST
回退到老的内核版本:Linux更新内核会默认保留最近2-3个旧版本的内核,只要没有手动删除,就可以随时回退
#.第1步.查看已安装的内核清单
[root@localhost opt]# rpm -qa | grep "kernel-uek-[0-9]"
kernel-uek-5.15.0-200.131.27.el8uek.x86_64 #.老的内核
kernel-uek-5.15.0-321.202.5.2.el8uek.x86_64
#.第2步.查看当前已安装的所有内核, 索引号越大则内核越旧
[root@localhost ~]# grubby --info=ALL | grep -E '^index|^kernel'
index=0
kernel="/boot/vmlinuz-5.15.0-321.202.5.2.el8uek.x86_64"
index=1
kernel="/boot/vmlinuz-5.15.0-200.131.27.el8uek.x86_64"
index=2
kernel="/boot/vmlinuz-4.18.0-513.5.1.el8_9.x86_64"
index=3
kernel="/boot/vmlinuz-0-rescue-b50272e4a0ca499c9c109d3888811924"
#.第3步.将旧内核设置为默认启动项, 示例改回 5.15.0-200.131.27
# grubby --set-default-index=1
grubby --set-default=/boot/vmlinuz-5.15.0-200.131.27.el8uek.x86_64
#.第4步.查看当前默认启动的内核路径
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-5.15.0-200.131.27.el8uek.x86_64
#.第5步.重启后确认已回退成功
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
5.15.0-200.131.27.el8uek.x86_64
Kylin V10 SP3 2403 内核升级到 4.19.90-89.41.v2401.ky10
- 示例将 Kylin Server V10 SP3 2403 的内核从 4.19.90-89.11.v2401.ky10 升级到 4.19.90-89.41.v2401.ky10
#.查看当前的内核版本, 默认为 4.19.90-89.11
[root@localhost ~]# nkvers | grep release && uname -r
Kylin Linux Advanced Server release V10 (Halberd)
release V10 SP3 2403/(Halberd)-x86_64-Build20.01/20240426
4.19.90-89.11.v2401.ky10.x86_64
#.查看当前内核的构建日期, 示例 2024-03-07
[root@localhost ~]# rpm -qi kernel-`uname -r` | grep "Build Date"
Build Date : Tue 07 May 2024 05:41:45 PM CST
离线升级过程:
#.第1步.下载内核文件(可能遗漏, 建议在线升级)
cd /opt/
wget -c https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/kernel-4.19.90-89.41.v2401.ky10.x86_64.rpm
wget -c https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/kernel-core-4.19.90-89.41.v2401.ky10.x86_64.rpm
wget -c https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/kernel-modules-4.19.90-89.41.v2401.ky10.x86_64.rpm
wget -c https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/kernel-modules-extra-4.19.90-89.41.v2401.ky10.x86_64.rpm
wget -c https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/kernel-devel-4.19.90-89.41.v2401.ky10.x86_64.rpm
wget -c https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/kernel-headers-4.19.90-89.41.v2401.ky10.x86_64.rpm
#第2步.安装内核文件(依赖较多, 建议在线升级)
[root@localhost opt]# rpm -ivh *.rpm --nodeps --force
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:kernel-core-4.19.90-89.41.v2401.k################################# [ 17%]
2:kernel-modules-4.19.90-89.41.v240################################# [ 33%]
3:kernel-modules-extra-4.19.90-89.4################################# [ 50%]
4:kernel-4.19.90-89.41.v2401.ky10 ################################# [ 67%]
5:kernel-headers-4.19.90-89.41.v240################################# [ 83%]
6:kernel-devel-4.19.90-89.41.v2401.################################# [100%]
#.第3步.查看已安装的内核清单
[root@localhost opt]# rpm -qa | grep "kernel-[0-9]"
kernel-4.19.90-89.11.v2401.ky10.x86_64
kernel-4.19.90-89.41.v2401.ky10.x86_64 #.新的内核
#.第4步.查看当前默认启动的内核路径
[root@localhost opt]# grubby --default-kernel
/boot/vmlinuz-4.19.90-89.41.v2401.ky10.x86_64
#.第5步.重启后若输出为升级后的内核版本则升级成功, 示例已升级到 4.19.90-89.41
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.19.90-89.41.v2401.ky10.x86_64
#.第6步.确认新内核的构建日期, 示例 2026-06-18
[root@localhost ~]# rpm -qi kernel-`uname -r` | grep "Build Date"
Build Date : Thu 18 Jun 2026 01:14:35 PM CST
在线升级过程:参考 https://www.kylinos.cn/about/news/2053652622032867329.html
#.第1步.更新软件源缓存
#.dnf方式 sudo dnf clean all && sudo dnf makecache
sudo yum clean all && sudo yum makecache
#.第2步.升级系统内核
#.dnf方式 sudo dnf update -y kernel kernel-core kernel-modules kernel-modules-extra kernel-modules-internal
sudo yum update -y kernel kernel-core kernel-modules kernel-modules-extra kernel-modules-internal
#.第3步.[按需].升级 kernel-devel 及 kernel-headers
#.dnf方式 sudo dnf update -y kernel-devel kernel-headers
sudo yum update -y kernel-devel kernel-headers
#.第4步.查看已安装的内核清单
[root@localhost ~]# rpm -qa | grep "kernel-[0-9]"
kernel-4.19.90-89.11.v2401.ky10.x86_64
kernel-4.19.90-89.41.v2401.ky10.x86_64 #.新的内核
#.第5步.查看当前默认启动的内核路径
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-4.19.90-89.41.v2401.ky10.x86_64
#.第6步.重启后若输出为升级后的内核版本则升级成功, 示例已升级到 4.19.90-89.41
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.19.90-89.41.v2401.ky10.x86_64
#.第7步.确认新内核的构建日期, 示例 2026-06-18
[root@localhost ~]# rpm -qi kernel-`uname -r` | grep "Build Date"
Build Date : Thu 18 Jun 2026 01:14:35 PM CST
回退到老的内核版本:Linux更新内核会默认保留最近2-3个旧版本的内核,只要没有手动删除,就可以随时回退
#.第1步.查看已安装的内核清单
[root@localhost ~]# rpm -qa | grep "kernel-[0-9]"
kernel-4.19.90-89.11.v2401.ky10.x86_64 #.老的内核
kernel-4.19.90-89.41.v2401.ky10.x86_64
#.第2步.查看当前已安装的所有内核, 索引号越大则内核越旧
[root@localhost ~]# grubby --info=ALL | grep -E '^index|^kernel'
index=0
kernel=/boot/vmlinuz-4.19.90-89.41.v2401.ky10.x86_64
index=1
kernel=/boot/vmlinuz-4.19.90-89.11.v2401.ky10.x86_64
index=2
kernel=/boot/vmlinuz-0-rescue-536e05c172894caaa7a06b69feeb647e
index=3
#.第3步.将旧内核设置为默认启动项, 示例改回 4.19.90-89.11
# grubby --set-default-index=1
grubby --set-default=/boot/vmlinuz-4.19.90-89.11.v2401.ky10.x86_64
#.第4步.查看当前默认启动的内核路径
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-4.19.90-89.11.v2401.ky10.x86_64
#.第5步.重启后确认已回退成功
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.19.90-89.11.v2401.ky10.x86_64
CentOS Linux 7.9 内核离线升级到 5.4.240
- 示例将 CentOS Linux release 7.9.2009 的内核从 3.10.0-1160.el7.x86_64 离线升级到 5.4.240-1.el7.elrepo.x86_64
#.查看当前的内核版本, 默认为 3.10.0-1160.el7.x86_64
[root@localhost ~]# cat /etc/redhat-release && uname -r
CentOS Linux release 7.9.2009 (Core)
3.10.0-1160.el7.x86_64
#.查看当前内核的构建日期, 示例 2020-10-20
[root@localhost ~]# rpm -qi kernel-`uname -r` | grep "Build Date"
Build Date : Tue 20 Oct 2020 12:34:26 AM CST
#.查看当前GRUB配置文件中有哪些可用的内核选项
[root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
0 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
1 : CentOS Linux (0-rescue-44c76cd7fc4b48c19e1046e684a125af) 7 (Core)
离线升级过程:
#.第1步.下载并安装最新的内核
wget -c http://iso.sqlfans.cn/linux/kernel-lt-5.4.240-1.el7.elrepo.x86_64.rpm
yum localinstall -y /opt/kernel-lt-5.4.240-1.el7.elrepo.x86_64.rpm
#.第2步.安装最内核之后, 确认已经有多个内核, 包括原内核 1 与新安装的内核 0
[root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
0 : CentOS Linux (5.4.240-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-44c76cd7fc4b48c19e1046e684a125af) 7 (Core)
#.第3步.新内核安装后, 需调整操作系统的内核启动顺序, 将 GRUB_DEFAULT=saved 改为 GRUB_DEFAULT=0
sed -i 's/^GRUB_DEFAULT.*$/GRUB_DEFAULT=0/g' /etc/default/grub
cat /etc/default/grub | grep GRUB_DEFAULT
#.第4步.重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
#.第5步.重启后若输出为升级后的内核版本则升级成功, 示例已升级到 5.4.240
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
5.4.240-1.el7.elrepo.x86_64
#.第6步.查看已安装的内核清单
[root@localhost ~]# rpm -qa | grep kernel
kernel-lt-5.4.240-1.el7.elrepo.x86_64 #.新的内核
kernel-3.10.0-1160.el7.x86_64
#.第7步.确认新内核的构建日期, 示例 2023-04-05
[root@localhost ~]# rpm -qi kernel-lt-`uname -r` | grep "Build Date"
Build Date : Wed 05 Apr 2023 01:52:08 AM CST
回退到老的内核版本:Linux更新内核会默认保留最近2-3个旧版本的内核,只要没有手动删除,就可以随时回退
#.第1步.查看已安装的内核清单
[root@localhost ~]# rpm -qa | grep kernel
kernel-lt-5.4.240-1.el7.elrepo.x86_64
kernel-3.10.0-1160.el7.x86_64 #.老的内核
#.第2步.查看当前已安装的所有内核, 索引号越大则内核越旧
[root@localhost ~]# grubby --info=ALL | grep -E '^index|^kernel'
index=0
kernel=/boot/vmlinuz-5.4.240-1.el7.elrepo.x86_64
index=1
kernel=/boot/vmlinuz-3.10.0-1160.el7.x86_64
index=2
kernel=/boot/vmlinuz-0-rescue-85333bce0c4a476f913b7ffcd81d9f61
index=3
#.第3步.将旧内核设置为默认启动项, 示例改回 3.10.0-1160
# grubby --set-default-index=1
grubby --set-default=/boot/vmlinuz-3.10.0-1160.el7.x86_64
#.第4步.查看当前默认启动的内核路径
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-3.10.0-1160.el7.x86_64
#.第5步.重启后确认已回退成功
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64
Ubuntu 24.04.03 内核升级到 6.8.0-130.130
- 示例将 Ubuntu 24.04.03 的内核从 6.8.0-71.71 升级到 6.8.0-130.130
- 参考:https://ubuntu.com/security/CVE-2026-46300
#.查看当前的内核版本, 默认为 6.8.0-71-generic
root@localhost:~# source /etc/os-release && echo $PRETTY_NAME && uname -r
Ubuntu 24.04.3 LTS
6.8.0-71-generic
#.查看完整签名, 示例为 6.8.0-71.71-generic
root@localhost:~# cat /proc/version_signature
Ubuntu 6.8.0-71.71-generic 6.8.12
#.查看当前内核的构建日期, 示例 2025-07-22
root@localhost:~# uname -v
#71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025
离线升级过程:
#.第1步.下载内核包(除modules-extra,另外4个必备)
cd /opt/
wget -c https://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-6.8.0-130_6.8.0-130.130_all.deb
wget -c https://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-6.8.0-130-generic_6.8.0-130.130_amd64.deb
wget -c https://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-modules-6.8.0-130-generic_6.8.0-130.130_amd64.deb
wget -c https://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-modules-extra-6.8.0-130-generic_6.8.0-130.130_amd64.deb
wget -c https://archive.ubuntu.com/ubuntu/pool/main/l/linux-signed/linux-image-6.8.0-130-generic_6.8.0-130.130_amd64.deb
#.第2步.安装内核包(注意顺序,最后1个image是内核镜像主包)
dpkg -i linux-headers-6.8.0-130_6.8.0-130.130_all.deb
dpkg -i linux-headers-6.8.0-130-generic_6.8.0-130.130_amd64.deb
dpkg -i linux-modules-6.8.0-130-generic_6.8.0-130.130_amd64.deb
dpkg -i linux-modules-extra-6.8.0-130-generic_6.8.0-130.130_amd64.deb
dpkg -i linux-image-6.8.0-130-generic_6.8.0-130.130_amd64.deb
#.第3步.查看已安装的内核清单
root@localhost:~# dpkg -l | grep "linux-image-[0-9]" | awk '{print $2}'
linux-image-6.8.0-130-generic #.新的内核
linux-image-6.8.0-71-generic
#.第4步.列出已安装的内核包
root@localhost:~# dpkg -l | grep -E "linux-(headers|image|modules|modules-extra)-[0-9]" | awk '{print $2}' | grep "130"
linux-headers-6.8.0-130
linux-headers-6.8.0-130-generic
linux-image-6.8.0-130-generic
linux-modules-6.8.0-130-generic
linux-modules-extra-6.8.0-130-generic
#.第5步.重启后确认内核版本, 示例已升级到 6.8.0-130.130-generic
root@localhost:~# reboot
root@localhost:~# uname -r
6.8.0-130-generic
#.第6步.查看新内核的构建日期, 示例 2026-05-29
root@localhost:~# uname -v
#130-Ubuntu SMP PREEMPT_DYNAMIC Fri May 29 13:01:31 UTC 2026
在线升级过程:
#.第1步.先启用 proposed (预发布)源
cp /etc/apt/sources.list.d/ubuntu.sources /ubuntu.sources.$(date +%Y%m%d%H%M%S)
sed -i 's/^Suites.*/Suites: noble noble-updates noble-security noble-proposed/g' /etc/apt/sources.list.d/ubuntu.sources
cat /etc/apt/sources.list.d/ubuntu.sources | grep "^Suites"
#.第2步.更新软件包列表并安装指定内核
apt update
apt install -y linux-image-6.8.0-130-generic
#.第3步.查看已安装的内核清单
root@localhost:~# dpkg -l | grep "linux-image-[0-9]" | awk '{print $2}'
linux-image-6.8.0-130-generic #.新的内核
linux-image-6.8.0-71-generic
#.第4步.重启后确认内核版本, 示例已升级到 6.8.0-130-generic
root@localhost:~# reboot
root@localhost:~# uname -r
6.8.0-130-generic
#.第5步.最后禁用 proposed (预发布)源
sed -i 's/^Suites.*/Suites: noble noble-updates noble-security/g' /etc/apt/sources.list.d/ubuntu.sources
cat /etc/apt/sources.list.d/ubuntu.sources | grep "^Suites"
回退到老的内核版本:Linux更新内核会默认保留最近2-3个旧版本的内核,只要没有手动删除,就可以随时回退
#.第1步.查看已安装的内核清单
root@localhost:~# dpkg -l | grep "linux-image-[0-9]" | awk '{print $2}'
linux-image-6.8.0-130-generic
linux-image-6.8.0-71-generic #.老的内核
#.第2步.查看所有启动菜单项
root@localhost:~# grep -E "menuentry '|submenu '" /boot/grub/grub.cfg | nl -v 0 | awk -F"'" '{print $1, $2}'
0 menuentry Ubuntu
1 submenu Advanced options for Ubuntu #.Advanced子菜单
2 menuentry Ubuntu, with Linux 6.8.0-130-generic #.子菜单内的第0项
3 menuentry Ubuntu, with Linux 6.8.0-130-generic (recovery mode) #.子菜单内的第1项
4 menuentry Ubuntu, with Linux 6.8.0-100-generic #.子菜单内的第2项
5 menuentry Ubuntu, with Linux 6.8.0-100-generic (recovery mode)
6 menuentry UEFI Firmware Settings
#.第3步.调整默认的启动项, 示例 1>2 为子菜单层级(1表示Advanced options子菜单,2表示该子菜单内的第2项,从0开始计数)
root@localhost:~# sed -i 's/^GRUB_DEFAULT.*/GRUB_DEFAULT="1>2"/g' /etc/default/grub
root@localhost:~# grep GRUB_DEFAULT /etc/default/grub
GRUB_DEFAULT="1>2"
#.第4步.更新GRUB引导配置
root@localhost:~# update-grub
#.第5步.重启后确认内核版本, 示例已改回 6.8.0-71-generic
root@localhost:~# reboot
root@localhost:~# uname -r
6.8.0-71-generic
openSUSE Leap 15.5 内核在线升级到 5.14.21-150500.55.88.1
- 示例将 openSUSE Leap 15.5 的内核从 5.14.21-150500.53.2 在线升级到 5.14.21-150500.55.88.1
- 说明:由于 SUSE Linux Enterprise Server 15.5 需要注册订阅,所以这里以 openSUSE Leap(与 SUSE Linux 同源同宗)进行测试
- 参考:https://www.suse.com/security/cve/CVE-2026-46300.html
#.查看当前的内核版本, 默认为 5.14.21-150500.53-default
opensuse15:~ # source /etc/os-release && echo $PRETTY_NAME && uname -r
openSUSE Leap 15.5
5.14.21-150500.53-default
#.查看更详细的内核版本
opensuse15:~ # rpm -qa kernel-default
kernel-default-5.14.21-150500.53.2.x86_64
#.查看当前内核的构建日期, 示例 2023-03-17
opensuse15:~ # rpm -qi kernel-default-5.14.21-150500.53.2.x86_64 | grep "Build Date"
Build Date : Wed May 17 23:45:43 2023
在线升级过程:
#.第1步.搜索最新可用的内核
opensuse15:~ # zypper refresh
opensuse15:~ # zypper info kernel-default | grep "^Source"
Source package : kernel-default-5.14.21-150500.55.88.1.nosrc
#.第2步.安装最新可用的内核
opensuse15:~ # zypper install -y kernel-default-5.14.21-150500.55.88.1
#.第3步.重启后确认内核版本, 示例已升级到 5.14.21-150500.55.88-default
opensuse15:~ # reboot
opensuse15:~ # uname -r
5.14.21-150500.55.88-default
#.第4步.查看已安装的内核清单
opensuse15:~ # rpm -qa kernel-default
kernel-default-5.14.21-150500.55.88.1.x86_64 #.新的内核
kernel-default-5.14.21-150500.53.2.x86_64
#.第5步.确认新内核的构建日期, 示例 2024-12-10
opensuse15:~ # rpm -qi kernel-default-5.14.21-150500.55.88.1.x86_64 | grep "Build Date"
Build Date : Tue Dec 10 20:41:22 2024
回退到老的内核版本:Linux更新内核会默认保留最近2-3个旧版本的内核,只要没有手动删除,就可以随时回退
#.第1步.查看已安装的内核清单
opensuse15:~ # rpm -qa kernel-default
kernel-default-5.14.21-150500.55.88.1.x86_64
kernel-default-5.14.21-150500.53.2.x86_64 #.老的内核
#.第2步.查看当前已安装的所有内核
opensuse155:~ # grep -E "menuentry '.*Linux 5.14.21" /boot/grub2/grub.cfg | awk -F\' '{print $2}'
openSUSE Leap 15.5, with Linux 5.14.21-150500.55.88-default
openSUSE Leap 15.5, with Linux 5.14.21-150500.55.88-default (recovery mode)
openSUSE Leap 15.5, with Linux 5.14.21-150500.53-default
openSUSE Leap 15.5, with Linux 5.14.21-150500.53-default (recovery mode)
#.第3步.设置默认的启动项, 示例改回 5.14.21-150500.53
grub2-set-default "Advanced options for openSUSE Leap 15.5>openSUSE Leap 15.5, with Linux 5.14.21-150500.53-default"
#.第4步.刷新grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
#.第5步.查看当前默认启动项
grub2-editenv list
#.第6步.重启后确认已回退成功
opensuse15:~ # reboot
opensuse15:~ # uname -r
5.14.21-150500.53-default