如何在使用“yum”命令进行更新时保留当前和较旧的 Linux 软件包

在这篇文章中,我们将讨论如何在使用“yum”命令更新 Linux 操作系统时保留当前和较旧的 Linux 软件包。
请注意,/etc/yum.conf 配置文件包含一个 [main] 部分。
如果需要,我们可以在 [main] 部分下添加许多其他选项。
[main] 部分中的一些键值对会影响 yum 的运行方式。

示例 /etc/yum.conf 配置文件如下所示:

# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonlypkgs= kernel-2.6.32-279.2.1.el6.x86_64, kernel-2.6.32-100.24.1.el5
installonly_limit=3
...
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
www. On IT Road .com

installonly_limit 指令

另请检查下面提到的 installonly_limit 指令。

此选项设置可以同时安装 installonlypkgs 指令中列出的软件包数量。
我们可以用一个整数标记该值,该整数表示可以为 installonlypkgs 中列出的任何单个包同时安装的最大版本数。

installonlypkgs 指令的默认值包括几个不同的内核包,因此请注意,更改 installonly_limit 的值也会影响任何单个内核包的最大已安装版本数。
/etc/yum.conf 中列出的默认值是 installonly_limit=3,不建议减小该值,尤其是低于 2.

installonly_limit installonlypkgs 中列出的要同时安装的软件包数。
设置为 0 将禁用此功能。

# vi /etc/yum.conf
installonly_limit=value

我们可以通过将 installonly_limit 设置为 0 来完全禁用该功能:

# vi /etc/yum.conf
installonly_limit=0

installonlypkgs 指令

使用 /etc/yum.conf 文件下的“installonlypkgs=space 分隔的软件包列表”指令,提供一个空格分隔的软件包列表,yum 可以安装但永远不会更新。
有关默认情况下仅安装的软件包列表,请参阅 yum.conf 的手册页。

# man yum.conf

如果我们将 installonlypkgs 指令添加到 /etc/yum.conf,我们需要确保提供仅用于安装的软件包列表,包括在 man yum.conf 的 installonlypkgs 部分下列出的任何软件包。

特别是,内核包应始终在 installonlypkgs 中列出(因为它们是默认值),并且 installonly_limit 应始终设置为大于 2 的值,以便备份内核始终可用,以防默认内核无法启动。

# vi /etc/yum.conf
installonlypkgs=space separated list of packages

使用 yumdb 命令

或者使用 yumdb 命令,我们可以设置某个包在更新时不被删除。
要使用 yumdb 命令,我们需要安装“yum-utils”包:

# yum install yum-utils

yumdb 命令示例:

# yumdb set installonly keep kernel-2.6.32-279.2.1.el6.x86_64

如果要恢复之前的更改,可以使用以下命令:

# yumdb del installonly kernel-2.6.32-279.2.1.el6.x86_64
日期:2020-09-17 00:13:49 来源:oir作者:oir