Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.6. yum 插件

yum 提供扩展和增强操作的插件。默认安装某些插件。每当您调用任何 yum 命令时,yum 始终会通知您加载和活动的插件(如果有)。例如:

~]# yum info yum
Loaded plugins: langpacks, product-id, subscription-manager
[output truncated]

请注意,Loaded 插件后面的插件 名称是您可以向 --disableplugin=plugin_name 选项提供的名称。

9.6.1. 启用、配置和禁用 Yum 插件

要启用 yum 插件,请确保 /etc/yum.conf[main] 部分中存在以 plugins= 开头的行,并确保其值为 1

plugins=1

您可以通过将此行更改为 plugins=0 来禁用所有插件。

重要

不建议禁用所有插件,因为某些插件提供重要的 yum 服务。特别是 product-idsubscription-manager 插件,它们为基于证书的 内容发布网络 (CDN)提供支持。全局禁用插件作为方便选项,通常仅在诊断 yum 潜在问题时才建议使用。

每个安装的插件在 /etc/yum/pluginconf.d/ 目录中都有自己的配置文件。您可以在这些文件中设置插件特定选项。例如,以下是 aliases 插件的 aliases .conf 配置文件:

[main]
enabled=1

/etc/yum.conf 文件类似,插件配置文件始终包含 [main] 部分,其中 enabled= 选项控制在运行 yum 命令时插件是否启用。如果缺少这个选项,您可以手动将其添加到该文件中。

如果您通过在 /etc/yum.conf 中设置 enabled=0 来禁用所有插件,则所有插件都会禁用,无论它们的各个配置文件中是否启用了它们。

如果您只想禁用单个 yum 命令 的所有 yum 插件,请使用 --noplugins 选项。

如果要为单个 yum 命令 禁用一个或多个 yum 插件,请在该命令中添加 --disableplugin=plugin_name 选项。例如,要在更新系统时禁用 aliases 插件,请输入:

~]# yum update --disableplugin=aliases

您提供给 --disableplugin= 选项的插件名称与任何 yum 命令输出中 Loaded plugins 行后列出的名称相同。您可以通过逗号分隔多个插件。另外,您可以使用 glob 表达式匹配多个插件名称或缩短长名称:

~]# yum update --disableplugin=aliases,lang*

9.6.2. 安装额外的 Yum 插件

yum 插件通常遵循 yum-plugin-plugin_name package-naming 规则,但并不总是如此:提供 kabi 插件的软件包名为 kabi-yum-plugins。您可以像安装其他软件包一样安装 yum 插件。例如,要安装 yum-aliases 插件,在 shell 提示符后输入以下内容:

~]# yum install yum-plugin-aliases

9.6.3. 使用 Yum 插件

以下列表提供了多个有用的 yum 插件的说明和用法说明。插件按照名称列出,方括号中含有软件包的名称。

search-disabled-repos (subscription-manager)

search-disabled-repos 插件允许您临时或永久启用禁用的软件仓库,以帮助解决依赖项。启用此插件后,当 Yum 由于依赖项解析失败而无法安装软件包时,它提供 暂时启用禁用的存储库并重试。如果安装成功,Yum 也提供可永久启用已使用存储库的存储库。请注意,该插件仅适用于由 subscription-manager 管理的存储库,而不是自定义存储库。

重要

如果使用 --assumeyes-y 选项执行 yum,或者在 /etc/yum.conf 中启用了 assumeyes 指令,则插件可在不提示确认的情况下暂时和永久启用禁用的存储库。这可能会导致问题,例如启用您不想启用的软件仓库。

要配置 search-disabled-repos 插件,编辑位于 /etc/yum/pluginconf.d/search-disabled-repos.conf 中的配置文件。有关您可以在 [main] 部分中使用的指令列表,请参考下表。

表 9.3. 支持的 search-disabled-repos.conf 指令

指令描述

enabled=value

允许您启用或禁用插件。该 必须是 1 (启用)或 0 (禁用)。插件默认启用。

notify_only=value

允许您将插件的行为限制为仅通知。该 必须是 1 (仅不修改 Yum 的行为)或 0 (修改 Yum 的行为)。默认情况下,插件仅通知用户。

ignored_repos=repositories

允许您指定插件不会启用的存储库。

kabi (kabi-yum-plugins)

kabi 插件检查驱动程序更新软件包是否符合官方 Red Hat kernel Application Binary Interface( kABI)。启用此插件后,当用户尝试安装使用不在白名单中的内核符号的软件包时,会将警告消息写入系统日志。另外,将插件配置为以强制模式运行可防止安装此类软件包。

要配置 kabi 插件,请编辑位于 /etc/yum/pluginconf.d/kabi.conf 中的配置文件。下表中显示了 [main] 部分中可以使用的指令列表。

表 9.4. 支持的 kabi.conf 指令

指令描述

enabled=value

允许您启用或禁用插件。该 必须是 1 (启用)或 0 (禁用)。安装之后,插件会被默认启用。

whitelists=directory

允许您指定包含内核符号的文件所在的目录。默认情况下,kabi 插件使用 kernel-abi-whitelists 软件包(即 /usr/lib/modules/kabi-rhel70/ 目录)提供的文件。

enforce=value

允许您启用或禁用强制模式。该 必须是 1 (启用)或 0 (禁用)。默认情况下,这个选项被注释掉,kabi 插件只会显示警告消息。

product-id (subscription-manager)
product-id 插件管理从 Content Delivery Network 安装的产品的产品身份证书。product-id 插件会被默认安装。
语言包( yum-langpacks)
langpacks 插件用于为安装的每个软件包搜索所选语言的区域化软件包。langpacks 插件默认安装。
别名 (yum-plugin-aliases)
aliases 插件 添加 alias 命令行选项 该选项允许为 yum 命令配置和使用别名。
yum-changelog (yum-plugin-changelog)
yum-changelog 插件添加 --changelog 命令行选项,可启用在更新之前和之后查看软件包更改日志。
yum-tmprepo (yum-plugin-tmprepo)
yum-tmprepo 插件添加 --tmprepo 命令行选项,该选项采用存储库文件的 URL,下载并启用该存储库文件。此插件会尝试确保安全地临时使用存储库。默认情况下,它不允许禁用 gpg 检查。
yum-verify (yum-plugin-verify)
yum-verify 插件添加了 verify 、valid-rpmverify-all 命令行选项,用于查看系统上的验证数据。
yum-versionlock (yum-plugin-versionlock)
yum-versionlock 插件排除所选软件包的其他版本,这可防止软件包被新版本更新。使用 versionlock 命令行选项,您可以查看和编辑锁定的软件包列表。