从 Yum 更新中排除特定/某些包的三种方法
创始人
2024-03-02 03:26:55
0

作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。

如果是,如何排除?可以采取多少种方式?有三种方式可以做到,我们会在本篇中教你这三种方法。

包管理器是一组工具,它允许用户在 Linux 系统中轻松管理包。它能让用户在 Linux 系统中安装、更新/升级、删除、查询、重新安装和搜索软件包。

对于基于 Red Hat 的系统,我们使用 yum 包管理器rpm 包管理器 进行包管理。

什么是 yum?

yum 代表 “Yellowdog Updater, Modified”。Yum 是用于 rpm 系统的自动更新程序和包安装/卸载器。

它在安装包时自动解决依赖关系。

什么是 rpm?

rpm 代表 “Red Hat Package Manager”,它是一款用于 Red Hat 系统的功能强大的包管理工具。

RPM 指的是 .rpm 文件格式,它包含已编译的软件和必要的库。

你可能有兴趣阅读以下与本主题相关的文章。如果是的话,请进入相应的链接。

方法 1:手动或临时用 yum 命令排除包

我们可以在 yum 中使用 --exclude-x 开关来阻止 yum 命令获取特定包的更新。

我可以说,这是一种临时方法或按需方法。如果你只想将特定包排除一次,那么我们可以使用此方法。

以下命令将更新除 kernel 之外的所有软件包。

要排除单个包:

# yum update --exclude=kernel
或者
# yum update -x 'kernel'

要排除多个包。以下命令将更新除 kernel 和 php 之外的所有软件包。

# yum update --exclude=kernel* --exclude=php*
或者
# yum update --exclude httpd,php

方法 2:在 yum 命令中永久排除软件包

这是永久性方法,如果你经常执行修补程序更新,那么可以使用此方法。

为此,请在 /etc/yum.conf 中添加相应的软件包以永久禁用软件包更新。

添加后,每次运行 yum update 命令时都不需要指定这些包。此外,这可以防止任何意外更新这些包。

# vi /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=3
exclude=kernel* php*

方法 3:使用 Yum versionlock 插件排除包

这也是与上面类似的永久方法。Yum versionlock 插件允许用户通过 yum 命令锁定指定包的更新。

为此,请运行以下命令。以下命令将从 yum update 中排除 freetype 包。

或者,你可以直接在 /etc/yum/pluginconf.d/versionlock.list 中添加条目。

# yum versionlock add freetype

Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock
Adding versionlock on: 0:freetype-2.8-12.el7
versionlock added: 1

运行以下命令来检查被 versionlock 插件锁定的软件包列表。

# yum versionlock list

Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock
0:freetype-2.8-12.el7.*
versionlock list done

运行以下命令清空该列表。

# yum versionlock clear

via: https://www.2daygeek.com/redhat-centos-yum-update-exclude-specific-packages/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

yum

相关内容

在CentOS系统下使用y...
磁盘阵列(RAID)对于提高服务器数据的安全性和性能至关重要。在C...
2025-06-14 14:41:23
在CentOS 6.5上通...
在CentOS 6.5系统中,通过Yum包管理器安装MySQL是运...
2025-04-27 06:17:02
在CentOS系统中部署l...
在Linux系统,特别是CentOS环境下,进行网络数据包捕获与分...
2025-03-13 09:41:17
如何在CentOS中使用Y...
CentOS中使用Yum管理Autoconf的高效实践 在Cent...
2025-03-05 06:37:37
如何在CentOS上搭建邮...
2、一个域名:这可是关键,就像你的身份证号码一样,独一无二,去正规...
2025-02-21 21:18:57
如何顺利安装CentOS ...
3. 兼容性设置 默认选项即可,点击“下一步”。 4. 选择安装介...
2024-12-17 11:11:24

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...