跳转至

09 rocky9 固定内核版本

固定内核或者指定软件版本

方法 5 - 阻止特定版本的包(使用版本锁插件)

Versionlock 是 Yum 包管理器的插件。此插件不允许将软件包升级到比执行锁定时安装的版本更高的版本。

首先,安装版本锁。

$ sudo dnf install dnf-plugin-versionlock
or
$ sudo yum install dnf-plugin-versionlock

这还将在您的系统上创建一个文件 /etc/yum/pluginconf.d/versionlock.list

要锁定系统上安装的当前版本的 kernel.*,请运行以下命令。

$ sudo dnf versionlock kernel.*
or
$ sudo yum versionlock kernel.*

您将获得类似的输出。

Last metadata expiration check: 0:01:05 ago on Mon 05 Dec 2022 12:14:16 PM UTC.
Adding versionlock on: kernel.*-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.*

您可以一次添加多个包。

$ sudo dnf versionlock evolution golang
or
$ sudo yum versionlock evolution golang

您将获得类似的输出。

Last metadata expiration check: 0:01:05 ago on Mon 05 Dec 2022 12:14:16 PM UTC.
Adding versionlock on: evolution-0:3.28.5-18.el8.*
Adding versionlock on: golang-0:1.18.4-1.module+el8.7.0+1073+99e3b3cd.*

让我们尝试更新 kernel.* 包。

$ sudo dnf update kernel.*
or
$ sudo yum update kernel.*

您将获得类似的输出。

Last metadata expiration check: 0:02:07 ago on Mon 05 Dec 2022 12:14:16 PM UTC.
Package kernel.* available, but not installed.
No match for argument: kernel.*
Error: No packages marked for upgrade.

要通过 versionlock 插件检查被阻止的包列表,请使用以下命令。

$ dnf versionlock list
or
$ yum versionlock list

您将获得类似的输出。

Last metadata expiration check: 0:00:05 ago on Wed 07 Dec 2022 02:36:20 AM UTC.
elasticsearch-7.17.5-1.x86_64
kernel.*-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.*
evolution-0:3.28.5-18.el8.*
golang-0:1.18.4-1.module+el8.7.0+1073+99e3b3cd.*

要从版本锁中删除包,请使用以下命令。

$ sudo dnf versionlock delete kernel.*
or
$ sudo yum versionlock delete kernel.*

您将获得以下输出。

Deleting versionlock for: kernel.*-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.*

要丢弃列表并清除块,请使用以下命令。

$ sudo dnf versionlock clear
or
$ sudo yum versionlock clear

或者,您可以编辑文件 /etc/yum/pluginconf.d/versionlock.list 以阻止使用版本锁插件的包。

要将已安装的包添加到文件中,请使用以下命令。

$ sudo sh -c 'rpm -qa | grep evolution >> /etc/yum/pluginconf.d/versionlock.list'

上面的命令通过将 evolution 包添加到列表来阻止它。我们使用了 rpm -qa | grep evolution 获取完整的包名。和

sudo sh -c 命令运行一个 sudo shell,在该 shell 下运行写入文件的命令。