Rocky Linux 8.X 内核版本升级至5.X

此升级方式不仅仅适用于 Rocky Linux 8.x,也适用于 Rocky Linux 9.x,以及所有 Red Hat 系 Linux 操作系统。

本文档基于 Rocky Linux 8.10 Minimal 版本,默认内核版本为:4.18.X,全新安装测试。

1. 启用ELRepo

# 查看当前内核版本
[root@localhost ~]# uname -r 
4.18.0-553.el8_10.x86_64

# 载入公钥
[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 安装 ElRepo
[root@localhost ~]# dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
Last metadata expiration check: 0:00:19 ago on Thu 06 Mar 2025 11:30:50 AM CST.
elrepo-release-8.el8.elrepo.noarch.rpm                                                                                                      14 kB/s |  19 kB     00:01  
Dependencies resolved.
===========================================================================================================================================================================
 Package                                    Architecture                       Version                                      Repository                                Size
===========================================================================================================================================================================
Installing:
 elrepo-release                             noarch                             8.4-2.el8.elrepo                             @commandline                              19 k

Transaction Summary
===========================================================================================================================================================================
Install  1 Package

Total size: 19 k
Installed size: 8.3 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                   1/1 
  Installing       : elrepo-release-8.4-2.el8.elrepo.noarch                                                                                                            1/1 
  Verifying        : elrepo-release-8.4-2.el8.elrepo.noarch                                                                                                            1/1 

Installed:
  elrepo-release-8.4-2.el8.elrepo.noarch   

Complete!

# 载入 elrepo-kernel 数据
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel repolist
repo id                                                       repo name
elrepo-kernel                                                 ELRepo.org Community Enterprise Linux Kernel Repository - el8

# 查看可用内核包
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel list kernel*
Last metadata expiration check: 0:01:13 ago on Thu 06 Mar 2025 11:33:13 AM CST.
Installed Packages
kernel.x86_64                                                                        4.18.0-553.el8_10                                                        @anaconda  
kernel-core.x86_64                                                                   4.18.0-553.el8_10                                                        @anaconda  
kernel-modules.x86_64                                                                4.18.0-553.el8_10                                                        @anaconda  
kernel-tools.x86_64                                                                  4.18.0-553.el8_10                                                        @anaconda  
kernel-tools-libs.x86_64                                                             4.18.0-553.el8_10                                                        @anaconda  
Available Packages
kernel-lt.x86_64                                                                     5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-core.x86_64                                                                5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-devel.x86_64                                                               5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-doc.noarch                                                                 5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-headers.x86_64                                                             5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-modules.x86_64                                                             5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-modules-extra.x86_64                                                       5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-tools.x86_64                                                               5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-tools-libs.x86_64                                                          5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                                    5.4.290-1.el8.elrepo                                                     elrepo-kernel
kernel-ml.x86_64                                                                     6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-core.x86_64                                                                6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-devel.x86_64                                                               6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-doc.noarch                                                                 6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-headers.x86_64                                                             6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-modules.x86_64                                                             6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-modules-extra.x86_64                                                       6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-tools.x86_64                                                               6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-tools-libs.x86_64                                                          6.13.5-1.el8.elrepo                                                      elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                                    6.13.5-1.el8.elrepo                                                      elrepo-kernel 

2. 升级内核版本

☆ 术语解释

  • kernel-ml 主线版本是 Linux 内核开发的最前沿,包含了最新的功能、改进和修复。
  • kernel-lt 长期支持版本是从主线版本中选出的,用于提供长期的维护和支持。
# 安装LTS长期服务支持版本内核
[root@localhost ~]#  dnf --disablerepo=\* --enablerepo=elrepo-kernel install  kernel-lt.x86_64 -y 
Last metadata expiration check: 0:12:10 ago on Thu 06 Mar 2025 11:33:13 AM CST.
Dependencies resolved.
===========================================================================================================================================================================
 Package                                     Architecture                     Version                                        Repository                               Size
===========================================================================================================================================================================
Installing:
 kernel-lt                                   x86_64                           5.4.290-1.el8.elrepo                           elrepo-kernel                            91 k
Installing dependencies:
 kernel-lt-core                              x86_64                           5.4.290-1.el8.elrepo                           elrepo-kernel                            30 M
 kernel-lt-modules                           x86_64                           5.4.290-1.el8.elrepo                           elrepo-kernel                            26 M

Transaction Summary
===========================================================================================================================================================================
Install  3 Packages

Total download size: 56 M
Installed size: 92 M
Downloading Packages:
(1/3): kernel-lt-5.4.290-1.el8.elrepo.x86_64.rpm                                                                                            70 kB/s |  91 kB     00:01  
(2/3): kernel-lt-modules-5.4.290-1.el8.elrepo.x86_64.rpm                                                                                   1.6 MB/s |  26 MB     00:16  
(3/3): kernel-lt-core-5.4.290-1.el8.elrepo.x86_64.rpm                                                                                      1.5 MB/s |  30 MB     00:20  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                      2.7 MB/s |  56 MB     00:20   
ELRepo.org Community Enterprise Linux Kernel Repository - el8                                                                              1.6 MB/s | 1.7 kB     00:00  
GPG key at file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org (0xBAADAE52) is already installed
ELRepo.org Community Enterprise Linux Kernel Repository - el8                                                                              3.0 MB/s | 3.1 kB     00:00  
Importing GPG key 0xEAA31D4A:
 Userid     : "elrepo.org (RPM Signing Key v2 for elrepo.org) <secure@elrepo.org>"
 Fingerprint: B8A7 5587 4DA2 40C9 DAC4 E715 5160 0989 EAA3 1D4A
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-v2-elrepo.org
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                   1/1 
  Installing       : kernel-lt-core-5.4.290-1.el8.elrepo.x86_64                                                                                                        1/3 
  Running scriptlet: kernel-lt-core-5.4.290-1.el8.elrepo.x86_64                                                                                                        1/3 
  Installing       : kernel-lt-modules-5.4.290-1.el8.elrepo.x86_64                                                                                                     2/3 
  Running scriptlet: kernel-lt-modules-5.4.290-1.el8.elrepo.x86_64                                                                                                     2/3 
  Installing       : kernel-lt-5.4.290-1.el8.elrepo.x86_64                                                                                                             3/3 
  Running scriptlet: kernel-lt-core-5.4.290-1.el8.elrepo.x86_64                                                                                                        3/3 
  Running scriptlet: kernel-lt-5.4.290-1.el8.elrepo.x86_64                                                                                                             3/3 
  Verifying        : kernel-lt-5.4.290-1.el8.elrepo.x86_64                                                                                                             1/3 
  Verifying        : kernel-lt-core-5.4.290-1.el8.elrepo.x86_64                                                                                                        2/3 
  Verifying        : kernel-lt-modules-5.4.290-1.el8.elrepo.x86_64                                                                                                     3/3 

Installed:
  kernel-lt-5.4.290-1.el8.elrepo.x86_64               kernel-lt-core-5.4.290-1.el8.elrepo.x86_64               kernel-lt-modules-5.4.290-1.el8.elrepo.x86_64  

Complete!

# 安装新版本内核工具包
[root@localhost ~]# dnf --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64
Last metadata expiration check: 0:21:36 ago on Thu 06 Mar 2025 11:33:13 AM CST.
Dependencies resolved.
===========================================================================================================================================================================
 Package                                       Architecture                    Version                                        Repository                              Size
===========================================================================================================================================================================
Installing:
 kernel-lt-tools                               x86_64                          5.4.290-1.el8.elrepo                           elrepo-kernel                          284 k
Installing dependencies:
 kernel-lt-tools-libs                          x86_64                          5.4.290-1.el8.elrepo                           elrepo-kernel                          102 k

Transaction Summary
===========================================================================================================================================================================
Install  2 Packages

Total download size: 386 k
Installed size: 663 k
Downloading Packages:
(1/2): kernel-lt-tools-libs-5.4.290-1.el8.elrepo.x86_64.rpm                                                                                 47 kB/s | 102 kB     00:02  
(2/2): kernel-lt-tools-5.4.290-1.el8.elrepo.x86_64.rpm                                                                                      72 kB/s | 284 kB     00:03  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                       86 kB/s | 386 kB     00:04   
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                   1/1 
  Installing       : kernel-lt-tools-libs-5.4.290-1.el8.elrepo.x86_64                                                                                                  1/2 
  Running scriptlet: kernel-lt-tools-libs-5.4.290-1.el8.elrepo.x86_64                                                                                                  1/2 
  Installing       : kernel-lt-tools-5.4.290-1.el8.elrepo.x86_64                                                                                                       2/2 
  Running scriptlet: kernel-lt-tools-5.4.290-1.el8.elrepo.x86_64                                                                                                       2/2 
  Verifying        : kernel-lt-tools-5.4.290-1.el8.elrepo.x86_64                                                                                                       1/2 
  Verifying        : kernel-lt-tools-libs-5.4.290-1.el8.elrepo.x86_64                                                                                                  2/2 

Installed:
  kernel-lt-tools-5.4.290-1.el8.elrepo.x86_64                                       kernel-lt-tools-libs-5.4.290-1.el8.elrepo.x86_64    

Complete!

3. 设置内核启动顺序

可以通过 grubby --info=ALL命令获取目前所有启动项,然后通过 grub2-set-default命令设置或者通过 grubby --set-default设置对应启动项。

# 查看所有内核启动项
[root@localhost ~]#  grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.4.290-1.el8.elrepo.x86_64"
args="ro crashkernel=auto $tuned_params"
root="UUID=1c303f6e-99fd-42e1-93bd-40973b20810a"
initrd="/boot/initramfs-5.4.290-1.el8.elrepo.x86_64.img $tuned_initrd"
title="Enterprise Linux (5.4.290-1.el8.elrepo.x86_64) 8.10"
id="a2444675b5374d0e9773e641227ae89f-5.4.290-1.el8.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-4.18.0-553.el8_10.x86_64"
args="ro crashkernel=auto $tuned_params"
root="UUID=1c303f6e-99fd-42e1-93bd-40973b20810a"
initrd="/boot/initramfs-4.18.0-553.el8_10.x86_64.img $tuned_initrd"
title="Rocky Linux (4.18.0-553.el8_10.x86_64) 8.10 (Green Obsidian)"
id="a2444675b5374d0e9773e641227ae89f-4.18.0-553.el8_10.x86_64"
index=2
kernel="/boot/vmlinuz-0-rescue-a2444675b5374d0e9773e641227ae89f"
args="ro crashkernel=auto"
root="UUID=1c303f6e-99fd-42e1-93bd-40973b20810a"
initrd="/boot/initramfs-0-rescue-a2444675b5374d0e9773e641227ae89f.img"
title="Rocky Linux (0-rescue-a2444675b5374d0e9773e641227ae89f) 8.10 (Green Obsidian)"
id="a2444675b5374d0e9773e641227ae89f-0-rescue"

# 我们在安装完新版本内核并卸载老版本工具之后发现默认启动内核已经变成新版本了,所以我们无需手动设置
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-5.4.290-1.el8.elrepo.x86_64

# 重启服务器,验证内核版本号是否与升级的版本号一致
[root@localhost ~]# uname -r 
5.4.290-1.el8.elrepo.x86_64

4. 删除旧版本内核

# 查看已安装的内核版本和版本工具包
[root@localhost ~]# dnf list installed | grep kernel
kernel.x86_64                      4.18.0-553.el8_10              @anaconda   
kernel-core.x86_64                 4.18.0-553.el8_10              @anaconda   
kernel-lt.x86_64                   5.4.290-1.el8.elrepo           @elrepo-kernel
kernel-lt-core.x86_64              5.4.290-1.el8.elrepo           @elrepo-kernel
kernel-lt-modules.x86_64           5.4.290-1.el8.elrepo           @elrepo-kernel
kernel-modules.x86_64              4.18.0-553.el8_10              @anaconda   
kernel-tools.x86_64                4.18.0-553.el8_10              @anaconda   
kernel-tools-libs.x86_64           4.18.0-553.el8_10              @anaconda  

# 删除旧版本工具包 
[root@localhost ~]# dnf remove kernel-tools-libs.x86_64 kernel-tools.x86_64
Dependencies resolved.
===========================================================================================================================================================================
 Package                                      Architecture                      Version                                         Repository                            Size
===========================================================================================================================================================================
Removing:
 kernel-tools                                 x86_64                            4.18.0-553.el8_10                               @anaconda                            704 k
 kernel-tools-libs                            x86_64                            4.18.0-553.el8_10                               @anaconda                             23 k

Transaction Summary
===========================================================================================================================================================================
Remove  2 Packages

Freed space: 727 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                   1/1 
  Running scriptlet: kernel-tools-4.18.0-553.el8_10.x86_64                                                                                                             1/1 
  Running scriptlet: kernel-tools-4.18.0-553.el8_10.x86_64                                                                                                             1/2 
  Erasing          : kernel-tools-4.18.0-553.el8_10.x86_64                                                                                                             1/2 
  Running scriptlet: kernel-tools-4.18.0-553.el8_10.x86_64                                                                                                             1/2 
  Erasing          : kernel-tools-libs-4.18.0-553.el8_10.x86_64                                                                                                        2/2 
  Running scriptlet: kernel-tools-libs-4.18.0-553.el8_10.x86_64                                                                                                        2/2 
  Verifying        : kernel-tools-4.18.0-553.el8_10.x86_64                                                                                                             1/2 
  Verifying        : kernel-tools-libs-4.18.0-553.el8_10.x86_64                                                                                                        2/2 

Removed:
  kernel-tools-4.18.0-553.el8_10.x86_64                                             kernel-tools-libs-4.18.0-553.el8_10.x86_64  

Complete!

# 删除旧版本内核
[root@localhost ~]# dnf remove `rpm -aq | grep kernel | grep 4.18`
Dependencies resolved.
===========================================================================================================================================================================
 Package                                    Architecture                       Version                                         Repository                             Size
===========================================================================================================================================================================
Removing:
 kernel                                     x86_64                             4.18.0-553.el8_10                               @anaconda                               0  
 kernel-core                                x86_64                             4.18.0-553.el8_10                               @anaconda                              71 M
 kernel-modules                             x86_64                             4.18.0-553.el8_10                               @anaconda                              25 M
Removing dependent packages:
 kmod-kvdo                                  x86_64                             6.2.8.7-92.el8                                  @anaconda                             1.7 M
 vdo                                        x86_64                             6.2.9.7-14.el8                                  @anaconda                             3.3 M

Transaction Summary
===========================================================================================================================================================================
Remove  5 Packages

Freed space: 101 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                   1/1 
  Running scriptlet: kernel-4.18.0-553.el8_10.x86_64                                                                                                                   1/1 
  Erasing          : kernel-4.18.0-553.el8_10.x86_64                                                                                                                   1/5 
  Running scriptlet: kernel-4.18.0-553.el8_10.x86_64                                                                                                                   1/5 
  Running scriptlet: vdo-6.2.9.7-14.el8.x86_64                                                                                                                         2/5 
  Erasing          : vdo-6.2.9.7-14.el8.x86_64                                                                                                                         2/5 
  Running scriptlet: vdo-6.2.9.7-14.el8.x86_64                                                                                                                         2/5 
  Running scriptlet: kmod-kvdo-6.2.8.7-92.el8.x86_64                                                                                                                   3/5 
  Erasing          : kmod-kvdo-6.2.8.7-92.el8.x86_64                                                                                                                   3/5 
  Running scriptlet: kmod-kvdo-6.2.8.7-92.el8.x86_64                                                                                                                   3/5 
  Erasing          : kernel-modules-4.18.0-553.el8_10.x86_64                                                                                                           4/5 
  Running scriptlet: kernel-modules-4.18.0-553.el8_10.x86_64                                                                                                           4/5 
  Running scriptlet: kernel-core-4.18.0-553.el8_10.x86_64                                                                                                              5/5 
  Erasing          : kernel-core-4.18.0-553.el8_10.x86_64                                                                                                              5/5 
  Running scriptlet: kernel-core-4.18.0-553.el8_10.x86_64                                                                                                              5/5 
  Verifying        : kernel-4.18.0-553.el8_10.x86_64                                                                                                                   1/5 
  Verifying        : kernel-core-4.18.0-553.el8_10.x86_64                                                                                                              2/5 
  Verifying        : kernel-modules-4.18.0-553.el8_10.x86_64                                                                                                           3/5 
  Verifying        : kmod-kvdo-6.2.8.7-92.el8.x86_64                                                                                                                   4/5 
  Verifying        : vdo-6.2.9.7-14.el8.x86_64                                                                                                                         5/5 

Removed:
  kernel-4.18.0-553.el8_10.x86_64 kernel-core-4.18.0-553.el8_10.x86_64 kernel-modules-4.18.0-553.el8_10.x86_64 kmod-kvdo-6.2.8.7-92.el8.x86_64 vdo-6.2.9.7-14.el8.x86_64

Complete!


# 查看启动配置,只有最新版本内核了
[root@localhost ~]#  grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.4.290-1.el8.elrepo.x86_64"
args="ro crashkernel=auto $tuned_params"
root="UUID=1c303f6e-99fd-42e1-93bd-40973b20810a"
initrd="/boot/initramfs-5.4.290-1.el8.elrepo.x86_64.img $tuned_initrd"
title="Enterprise Linux (5.4.290-1.el8.elrepo.x86_64) 8.10"
id="a2444675b5374d0e9773e641227ae89f-5.4.290-1.el8.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-0-rescue-a2444675b5374d0e9773e641227ae89f"
args="ro crashkernel=auto"
root="UUID=1c303f6e-99fd-42e1-93bd-40973b20810a"
initrd="/boot/initramfs-0-rescue-a2444675b5374d0e9773e641227ae89f.img"
title="Rocky Linux (0-rescue-a2444675b5374d0e9773e641227ae89f) 8.10 (Green Obsidian)"
id="a2444675b5374d0e9773e641227ae89f-0-rescue"
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇