安装内核
看下目前是什么版本内核
uname -r
安装公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装ELRepo
dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
上次元数据过期检查:0:37:17 前,执行于 2024年08月10日 星期六 14时31分02秒。
elrepo-release-9.el9.elrepo.noarch.rpm 12 kB/s | 12 kB 00:01
依赖关系解决。
====================================================================================================
软件包 架构 版本 仓库 大小
====================================================================================================
安装:
elrepo-release noarch 9.1-1.el9.elrepo @commandline 12 k
事务概要
====================================================================================================
安装 1 软件包
总计:12 k
安装大小:5.0 k
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : elrepo-release-9.1-1.el9.elrepo.noarch 1/1
验证 : elrepo-release-9.1-1.el9.elrepo.noarch 1/1
已安装:
elrepo-release-9.1-1.el9.elrepo.noarch
完毕!
设置国内源
1. 注释掉原生的镜像列表
2. 并将 elrepo.org/linux
地址替换为中科大镜像对应的地址 mirrors.ustc.edu.cn/elrepo
(如果是想要使用清华镜像就替换为:mirrors.tuna.tsinghua.edu.cn/elrepo
)
sed -i 's/mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/elrepo.repo
sed -i 's#elrepo.org/linux#mirrors.ustc.edu.cn/elrepo#g' /etc/yum.repos.d/elrepo.repo
建立缓存
yum makecache
ELRepo.org Community Enterprise Linux Repository - el9 1.4 MB/s | 261 kB 00:00
Extra Packages for Enterprise Linux 9 - x86_64 43 kB/s | 16 kB 00:00
Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_6 1.0 kB/s | 993 B 00:00
Rocky Linux 9 - BaseOS 5.3 kB/s | 4.1 kB 00:00
Rocky Linux 9 - AppStream 6.4 kB/s | 4.5 kB 00:00
Rocky Linux 9 - Extras 2.0 kB/s | 2.9 kB 00:01
元数据缓存已建立。
载入elrepo-kernel元数据
dnf --disablerepo=\* --enablerepo=elrepo-kernel repolist
仓库 id 仓库名称
elrepo-kernel ELRepo.org Community Enterprise Linux Kernel Repository - el9
查看可用内核包
dnf --disablerepo=\* --enablerepo=elrepo-kernel list kernel*
ELRepo.org Community Enterprise Linux Kernel Repository - el9 11 MB/s | 3.1 MB 00:00
上次元数据过期检查:0:00:01 前,执行于 2024年08月10日 星期六 15时14分06秒。
已安装的软件包
kernel.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel-core.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel-devel.x86_64 5.14.0-427.13.1.el9_4 @AppStream
kernel-headers.x86_64 5.14.0-427.13.1.el9_4 @AppStream
kernel-modules.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel-modules-core.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel-srpm-macros.noarch 1.0-13.el9 @AppStream
kernel-tools.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel-tools-libs.x86_64 5.14.0-427.13.1.el9_4 @anaconda
可安装的软件包
kernel-lt.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-core.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-devel.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-devel-matched.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-doc.noarch 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-headers.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-modules.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-modules-extra.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-tools.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 6.1.103-1.el9.elrepo elrepo-kernel
kernel-ml.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-core.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-devel.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-devel-matched.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-doc.noarch 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-headers.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-modules.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-modules-extra.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-tools.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 6.10.3-1.el9.elrepo elrepo-kernel
安装最新版本的kernel
lt long term,长期支持版本,更稳定
ml main line,主线版本,特性更新
#我这里安装的是lt 安装ml 改为 kernel-ml.x86_64 即可
dnf --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt.x86_64
上次元数据过期检查:0:03:06 前,执行于 2024年08月10日 星期六 15时14分06秒。
依赖关系解决。
====================================================================================================
软件包 架构 版本 仓库 大小
====================================================================================================
安装:
kernel-lt x86_64 6.1.103-1.el9.elrepo elrepo-kernel 39 k
安装依赖关系:
kernel-lt-core x86_64 6.1.103-1.el9.elrepo elrepo-kernel 46 M
kernel-lt-modules x86_64 6.1.103-1.el9.elrepo elrepo-kernel 45 M
事务概要
====================================================================================================
安装 3 软件包
总下载:91 M
安装大小:130 M
下载软件包:
(1/3): kernel-lt-6.1.103-1.el9.elrepo.x86_64.rpm 406 kB/s | 39 kB 00:00
(2/3): kernel-lt-modules-6.1.103-1.el9.elrepo.x86_64.rpm 34 MB/s | 45 MB 00:01
(3/3): kernel-lt-core-6.1.103-1.el9.elrepo.x86_64.rpm 8.8 MB/s | 46 MB 00:05
----------------------------------------------------------------------------------------------------
总计 17 MB/s | 91 MB 00:05
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : kernel-lt-core-6.1.103-1.el9.elrepo.x86_64 1/3
运行脚本: kernel-lt-core-6.1.103-1.el9.elrepo.x86_64 1/3
安装 : kernel-lt-modules-6.1.103-1.el9.elrepo.x86_64 2/3
运行脚本: kernel-lt-modules-6.1.103-1.el9.elrepo.x86_64 2/3
安装 : kernel-lt-6.1.103-1.el9.elrepo.x86_64 3/3
运行脚本: kernel-lt-core-6.1.103-1.el9.elrepo.x86_64 3/3
运行脚本: kernel-lt-6.1.103-1.el9.elrepo.x86_64 3/3
验证 : kernel-lt-6.1.103-1.el9.elrepo.x86_64 1/3
验证 : kernel-lt-core-6.1.103-1.el9.elrepo.x86_64 2/3
验证 : kernel-lt-modules-6.1.103-1.el9.elrepo.x86_64 3/3
已安装:
kernel-lt-6.1.103-1.el9.elrepo.x86_64 kernel-lt-core-6.1.103-1.el9.elrepo.x86_64
kernel-lt-modules-6.1.103-1.el9.elrepo.x86_64
完毕
删除旧版本工具包
dnf remove kernel-tools-libs.x86_64 kernel-tools.x86_64
依赖关系解决。
====================================================================================================
软件包 架构 版本 仓库 大小
====================================================================================================
移除:
kernel-tools x86_64 5.14.0-427.13.1.el9_4 @anaconda 848 k
kernel-tools-libs x86_64 5.14.0-427.13.1.el9_4 @anaconda 30 k
事务概要
====================================================================================================
移除 2 软件包
将会释放空间:878 k
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
运行脚本: kernel-tools-5.14.0-427.13.1.el9_4.x86_64 1/2
删除 : kernel-tools-5.14.0-427.13.1.el9_4.x86_64 1/2
运行脚本: kernel-tools-5.14.0-427.13.1.el9_4.x86_64 1/2
删除 : kernel-tools-libs-5.14.0-427.13.1.el9_4.x86_64 2/2
运行脚本: kernel-tools-libs-5.14.0-427.13.1.el9_4.x86_64 2/2
验证 : kernel-tools-5.14.0-427.13.1.el9_4.x86_64 1/2
验证 : kernel-tools-libs-5.14.0-427.13.1.el9_4.x86_64 2/2
已移除:
kernel-tools-5.14.0-427.13.1.el9_4.x86_64 kernel-tools-libs-5.14.0-427.13.1.el9_4.x86_64
完毕!
安装新版本内核工具包
#这里我选择的依然是lt 版本
dnf --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64
上次元数据过期检查:0:07:15 前,执行于 2024年08月10日 星期六 15时14分06秒。
依赖关系解决。
====================================================================================================
软件包 架构 版本 仓库 大小
====================================================================================================
安装:
kernel-lt-tools x86_64 6.1.103-1.el9.elrepo elrepo-kernel 273 k
安装依赖关系:
kernel-lt-tools-libs x86_64 6.1.103-1.el9.elrepo elrepo-kernel 49 k
事务概要
====================================================================================================
安装 2 软件包
总下载:323 k
安装大小:833 k
下载软件包:
(1/2): kernel-lt-tools-libs-6.1.103-1.el9.elrepo.x86_64.rpm 362 kB/s | 49 kB 00:00
(2/2): kernel-lt-tools-6.1.103-1.el9.elrepo.x86_64.rpm 1.8 MB/s | 273 kB 00:00
----------------------------------------------------------------------------------------------------
总计 2.1 MB/s | 323 kB 00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : kernel-lt-tools-libs-6.1.103-1.el9.elrepo.x86_64 1/2
运行脚本: kernel-lt-tools-libs-6.1.103-1.el9.elrepo.x86_64 1/2
安装 : kernel-lt-tools-6.1.103-1.el9.elrepo.x86_64 2/2
运行脚本: kernel-lt-tools-6.1.103-1.el9.elrepo.x86_64 2/2
验证 : kernel-lt-tools-6.1.103-1.el9.elrepo.x86_64 1/2
验证 : kernel-lt-tools-libs-6.1.103-1.el9.elrepo.x86_64 2/2
已安装:
kernel-lt-tools-6.1.103-1.el9.elrepo.x86_64 kernel-lt-tools-libs-6.1.103-1.el9.elrepo.x86_64
完毕!
安装新版本的内核工具包时报错
Error:
Problem: cannot install the best candidate for the job
- nothing provides libpci.so.3()(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
- nothing provides libpci.so.3(LIBPCI_3.0)(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
- nothing provides libpci.so.3(LIBPCI_3.3)(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
- nothing provides libpci.so.3(LIBPCI_3.5)(64bit) needed by kernel-ml-tools-6.0.10-1.el9.elrepo.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
在卸载旧版本的内核工具包的时候,删除了pciutils-libs,造成安装新版本的内核工具包时报错,所以我们需要先安装pciutils-libs,再安装新版本的内核工具包。
dnf install pciutils-libs
设置内核启动顺序
设置默认启动顺序,通过grubby --info=ALL命令获取目前所有启动项,然后通过grub2-set-default命令设置或者通过grubby --set-default设置对应启动项。
查看默认内核启动项 (是新版本就不用继续设置了)
grubby --default-kernel
/boot/vmlinuz-6.1.103-1.el9.elrepo.x86_64
设置内核启动项
查看所有内核启动项
grubby --info=ALL
index=0
kernel="/boot/vmlinuz-6.1.103-1.el9.elrepo.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_server-swap rd.lvm.lv=rl_server/root rd.lvm.lv=rl_server/swap rhgb quiet $tuned_params"
root="/dev/mapper/rl_server-root"
initrd="/boot/initramfs-6.1.103-1.el9.elrepo.x86_64.img $tuned_initrd"
title="Rocky Linux (6.1.103-1.el9.elrepo.x86_64) 9.4 (Blue Onyx)"
id="81b09f3ffcbb4fe8a06c5ba9a914e2da-6.1.103-1.el9.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_server-swap rd.lvm.lv=rl_server/root rd.lvm.lv=rl_server/swap rhgb quiet $tuned_params"
root="/dev/mapper/rl_server-root"
initrd="/boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img $tuned_initrd"
title="Rocky Linux (5.14.0-427.13.1.el9_4.x86_64) 9.4 (Blue Onyx)"
id="81b09f3ffcbb4fe8a06c5ba9a914e2da-5.14.0-427.13.1.el9_4.x86_64"
index=2
kernel="/boot/vmlinuz-0-rescue-81b09f3ffcbb4fe8a06c5ba9a914e2da"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_server-swap rd.lvm.lv=rl_server/root rd.lvm.lv=rl_server/swap rhgb quiet"
root="/dev/mapper/rl_server-root"
initrd="/boot/initramfs-0-rescue-81b09f3ffcbb4fe8a06c5ba9a914e2da.img"
title="Rocky Linux (0-rescue-81b09f3ffcbb4fe8a06c5ba9a914e2da) 9.4 (Blue Onyx)"
id="81b09f3ffcbb4fe8a06c5ba9a914e2da-0-rescue"
这里看到内核 5.14 索引为1,所以这里设置默认内核为1
grubby --set-default 1
The default is /boot/loader/entries/81b09f3ffcbb4fe8a06c5ba9a914e2da-5.14.0-427.13.1.el9_4.x86_64.conf with index 1 and kernel /boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
查看默认启动内核
grubby --default-kernel
/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
已经成功设置为 5.14
重启
reboot
重启之后再看一下内核版本
uname -r
6.1.103-1.el9.elrepo.x86_64
删除旧内核 (建议保留两个)
在这里我们保留系统上安装的最后两个内核并删除多余的旧内核。已经明确定义了installonly_limit=2使用--setopt来覆盖/etc/dnf/dnf.conf中的默认配置。如果您不指定installonly_limit参数,那么默认情况下dnf remove命令将采用/etc/dnf/dnf.conf中的installonly_limit值。
对应的limit值,可以修改配置文件
grep limit /etc/dnf/dnf.conf
installonly_limit=3
删除多余内核,只保留最后两个
我这里只有两个所以会提示没有找到
dnf remove --oldinstallonly --setopt installonly_limit=2 kernel
错误:没有找到需要删除的旧的 installonly 软件包。
查看安装的内核
rpm -qa | grep kernel
kernel-headers-5.14.0-427.13.1.el9_4.x86_64
kernel-srpm-macros-1.0-13.el9.noarch
kernel-devel-5.14.0-427.13.1.el9_4.x86_64
kernel-modules-core-5.14.0-427.13.1.el9_4.x86_64
kernel-core-5.14.0-427.13.1.el9_4.x86_64
kernel-modules-5.14.0-427.13.1.el9_4.x86_64
kernel-5.14.0-427.13.1.el9_4.x86_64
kernel-lt-core-6.1.103-1.el9.elrepo.x86_64
kernel-lt-modules-6.1.103-1.el9.elrepo.x86_64
kernel-lt-6.1.103-1.el9.elrepo.x86_64
kernel-lt-tools-libs-6.1.103-1.el9.elrepo.x86_64
kernel-lt-tools-6.1.103-1.el9.elrepo.x86_64
只保留现正使用的内核
正常情况下installonly_limit参数是不允许设置值为1的,那么如果我们只想保留目前正在使用的内核,删除其它所有多余的内核,怎么办了?
查看目前所有启动配置
grubby --info=ALL
index=0
kernel="/boot/vmlinuz-6.1.103-1.el9.elrepo.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_server-swap rd.lvm.lv=rl_server/root rd.lvm.lv=rl_server/swap rhgb quiet $tuned_params"
root="/dev/mapper/rl_server-root"
initrd="/boot/initramfs-6.1.103-1.el9.elrepo.x86_64.img $tuned_initrd"
title="Rocky Linux (6.1.103-1.el9.elrepo.x86_64) 9.4 (Blue Onyx)"
id="81b09f3ffcbb4fe8a06c5ba9a914e2da-6.1.103-1.el9.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_server-swap rd.lvm.lv=rl_server/root rd.lvm.lv=rl_server/swap rhgb quiet $tuned_params"
root="/dev/mapper/rl_server-root"
initrd="/boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img $tuned_initrd"
title="Rocky Linux (5.14.0-427.13.1.el9_4.x86_64) 9.4 (Blue Onyx)"
id="81b09f3ffcbb4fe8a06c5ba9a914e2da-5.14.0-427.13.1.el9_4.x86_64"
index=2
kernel="/boot/vmlinuz-0-rescue-81b09f3ffcbb4fe8a06c5ba9a914e2da"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_server-swap rd.lvm.lv=rl_server/root rd.lvm.lv=rl_server/swap rhgb quiet"
root="/dev/mapper/rl_server-root"
initrd="/boot/initramfs-0-rescue-81b09f3ffcbb4fe8a06c5ba9a914e2da.img"
title="Rocky Linux (0-rescue-81b09f3ffcbb4fe8a06c5ba9a914e2da) 9.4 (Blue Onyx)"
id="81b09f3ffcbb4fe8a06c5ba9a914e2da-0-rescue"
删除 5.14 版本的内核
grubby --remove-kernel=/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
*手动编译的内核次目录下还有残留文件
cd /lib/modules
评论区