导读 | 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如何排除?可以采取多少种方式?有三种方式可以做到,我们会在本篇中教你这三种方法。 |
包管理器是一组工具,它允许用户在 Linux 系统中轻松管理包。它能让用户在 Linux 系统中安装、更新/升级、删除、查询、重新安装和搜索软件包。
对于基于 Red Hat 的系统,我们使用 yum 包管理器 和 rpm 包管理器 进行包管理。
yum 代表 “Yellowdog Updater, Modified”。Yum 是用于 rpm 系统的自动更新程序和包安装/卸载器。
它在安装包时自动解决依赖关系。
rpm 代表 “Red Hat Package Manager”,它是一款用于 Red Hat 系统的功能强大的包管理工具。
RPM 指的是 .rpm 文件格式,它包含已编译的软件和必要的库。
我们可以在 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
这是永久性方法,如果你经常执行修补程序更新,那么可以使用此方法。
为此,请在 /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*
这也是与上面类似的永久方法。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
原文来自:
本文地址://gulass.cn/yum-excludes-specific-packages.html编辑:KSJXAXOAS,审核员:逄增宝
Linux命令大全:
Linux系统大全: