如何在 RHEL/CentOS Linux 中禁用特定软件包更新

我们可以通过在 yum.conf 文件中指定要排除它们来从所有存储库中排除安装或者更新的软件包列表。

这将阻止 yum 更新这些软件包,并且我们将在此处看到的所有未来更新都将被忽略。

为了防止特定软件包接收更新,我们只需编辑 /etc/yum.conf 文件以使用“exclude”排除选项。

例如,在我的 CentOS 7 系统上,我目前有一个可用于“epel-release”软件包的更新,如下所示。

[jack@onitroad ~]# yum check-update epel-release
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.doirtalpacific.com.au
 * epel: fedora.mirror.serversaustralia.com.au
 * extras: mirror.nsw.coloau.com.au
 * updates: centos.mirror.doirtalpacific.com.au
epel-release.noarch

现在让我们编辑 /etc/yum.conf 文件以专门排除对此包的更新。

[jack@onitroad ~]# 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
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=epel-release

请注意,除了我添加到文件底部的“exclude”选项外,该文件都是默认的,指定要排除的包。
我们可以添加多个我们想要排除在更新之外的包,只需在之后添加更多由空格分隔的软件包名称。

现在,当我执行相同的 'yum check-update epel-release' 命令时,没有显示结果,因为 epel-release 包已从服务器中排除,因此不会更新。

[jack@onitroad ~]# yum check-update epel-release
Loaded plugins: fastestmirror, langpacks
base                                                                                | 3.6 kB  00:00:00
epel/x86_64/metalink                                                                | 2.9 kB  00:00:00
extras                                                                              | 3.4 kB  00:00:00
updates                                                                             | 3.4 kB  00:00:00
Loading mirror speeds from cached hostfile
 * base: mirror.nsw.coloau.com.au
 * epel: fedora.mirror.serversaustralia.com.au
 * extras: mirror.nsw.coloau.com.au
 * updates: mirror.nsw.coloau.com.au

虽然在这个例子中我们已经从更新中排除了一个已经安装的包,但我们也可以指定我们不想安装的包。

日期:2020-07-07 20:56:16 来源:oir作者:oir