9.6. Yum のプラグイン

Yum は、動作を拡張し強化するプラグインを提供します。一部のプラグインは、デフォルトでインストールされています。yum コマンドを呼び出すと常に、Yum はどのプラグインが読み込まれ、アクティブかを知らせます。例を示します。
~]# yum info yum
Loaded plugins: langpacks, product-id, subscription-manager[出力は省略されています]
Loaded plugins に続くプラグインの名前は --disableplugins=plugin_name オプションに渡すことが可能な名前である点に注意して下さい。

9.6.1. Yum プラグインを有効、設定、無効にする方法

yum プラグインを有効にするには、plugins= で始まる行が /etc/yum.conf[main] セクションにあり、値が 1 であるようにします。
plugins=1
すべてのプラグインを無効にするには、この行を plugins=0 に変更します。

重要

一部のプラグインは重要な yum サービスを提供するため、すべてのプラグインを無効にすることは推奨されません。特に、product-id および subscription-manager プラグインは証明書ベースの Content Delivery Network (CDN) のサポートを提供します。プラグインをグローバルで無効にすると便利できますが、通常は yum に潜在的な問題があると判断された場合にのみ使用することが推奨されます。
すべてのインストール済みプラグインには、/etc/yum/pluginconf.d/ ディレクトリーにそれぞれの設定ファイルがあります。これらのファイルでプラグイン固有のオプションを設定できます。たとえば、以下のように aliases プラグインの aliases.conf 設定ファイルがあるとします。
[main]
enabled=1
/etc/yum.conf ファイルと同様、プラグイン設定ファイルには常に [main] セクションが含まれます。このセクションでは、enabled= オプションが、yum コマンドを実行する際にプログインを有効にするかどうかを制御します。このオプションがファイルに含まれていない場合は手動で追加できます。
/etc/yum.confenabled=0 を設定してすべてのプラグインを無効にすると、すべてのプラグインは、個々の設定ファイルで有効かどうかに関わらず無効になります。
1 回の yum コマンドですべての yum プラグインを無効にする場合は、--noplugins オプションを使用します。
1 回の yum コマンドで 1 つ以上の 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 パッケージの命名規則に準拠しますが、常にそうであるとは限りません。たとえば、kabi プラグインを提供するパッケージの名前は、kabi-yum-plugins です。yum プラグインのインストールは、他のパッケージをインストールする場合と同じように実行できます。たとえば、yum-aliases プラグインをインストールするには、シェルプロンプトで以下を入力します。
~]# yum install yum-plugin-aliases

9.6.3. yum プラグインの使用方法

以下では、便利な yum プラグインの説明と使用方法を紹介しています。プラグインは名前で表示されており、括弧内はパッケージ名になります。
search-disabled-repos (subscription-manager)
search-disabled-repos プラグインを使用すると、依存関係を解決するために無効なリポジトリーを一時的または永久的に有効にできます。このプラグインが有効な場合は、依存関係の解決に失敗して Yum がパッケージのインストールに失敗したときに、無効なリポジトリーを一時的に有効し、再試行することが提示されます。インストールが成功した場合、Yum は使用されているリポジトリーを永久的に有効にすることも提示します。プラグインは subscription-manager により管理されているリポジトリーとのみ連携し、カスタムリポジトリーとは連携しません。

重要

yum--assumeyes または -y オプションとともに実行された場合、または assumeyes ディレクティブが /etc/yum.conf で有効な場合は、プラグインが確認を要求せずに無効なリポジトリーを一時的および永久的に有効にします。この結果、有効にしたくないリポジトリーが有効になるといった問題が発生することがあります。
search-disabled-repos プラグインを設定するには、/etc/yum/pluginconf.d/search-disabled-repos.conf にある設定ファイルを編集します。[main] セクションで利用できるディレクティブの一覧については、以下の表を参照してください。

表9.3 サポートされている search-disabled-repos.conf ディレクティブ

ディレクティブ詳細
enabled=valueプラグインを有効または無効にできます。value1 (有効) または 0 (無効) にする必要があります。プラグインはデフォルトで有効です。
notify_only=valueプラグインの動作を通知のみに制限できます。value1 (Yum の動作の変更なしで通知のみ) または 0 (Yum の動作の変更) のいずれかにする必要があります。デフォルトでは、プラグインはユーザーへの通知のみを行います。
ignored_repos=repositoriesプラグインで有効でないリポジトリーを指定できます。
kabi (kabi-yum-plugins)
kabi プラグインは、ドライバー更新パッケージが公式の Red Hat kernel Application Binary Interface (kABI) と適合するかどうかを確認します。このプラグインが有効な状態で、ユーザーがホワイトリストにないカーネルシンボルを使用するパッケージのインストールを試行する場合は、警告メッセージがシステムログに書き込まれます。さらには、プラグインを enforcing モードで実行するように設定すると、そうしたパッケージがインストールされないようにできます。
kabi プラグインを設定するには、/etc/yum/pluginconf.d/kabi.conf にある設定ファイルを編集します。[main] セクションで利用できるディレクティブの一覧は、以下の表に示されています。

表9.4 サポートされている kabi.conf ディレクティブ

ディレクティブ詳細
enabled=valueプラグインを有効または無効にできます。value1 (有効) または 0 (無効) にする必要があります。インストール時には、プラグインはデフォルトで有効です。
whitelists=directoryサポートされているカーネルシンボルを持つファイルがある directory を指定できます。デフォルトでは、kabi プラグインは kernel-abi-whitelists パッケージ (/usr/lib/modules/kabi-rhel70/ ディレクトリー) が提供するファイルを使用します。
enforce=valueenforcing モードを有効または無効にできます。value1 (有効) または 0 (無効) にする必要があります。デフォルトでは、このオプションはコメントアウトされ kabi プラグインは警告メッセージのみを表示します。
product-id (subscription-manager)
product-id プラグインは、Content Delivery Network (コンテンツ配信ネットワーク) からインストールされた製品の製品識別証明書を管理します。product-id プラグインはデフォルトでインストールされています。
langpacks (yum-langpacks)
langpacks プラグインは、インストールされているすべてのパッケージ用に選択された言語のロケールパッケージを検索するために使用します。langpacks プラグインはデフォルトでインストールされます。
aliases (yum-plugin-aliases)
aliases プラグインは、yum コマンドでのエイリアスの設定および使用を可能にする alias オプションを追加します。
yum-changelog (yum-plugin-changelog)
yum-changelog プラグインは、更新の前後でパッケージ変更ログの表示を可能にする --changelog コマンドラインオプションを追加します。
yum-tmprepo (yum-plugin-tmprepo)
yum-tmprepo プラグインにより、リポジトリーファイルの URL を受け、1 回限りでこれをダウンロードして有効する --tmprepo コマンドラインオプションが追加されます。このプラグインはリポジトリーの安全な一時的使用を確保します。デフォルトでは、gpg 確認を無効にしません。
yum-verify (yum-plugin-verify)
yum-verify プラグインは、システム上の検証データを表示するための verifyverify-rpmverify-all の各コマンドラインオプションを追加します。
yum-versionlock (yum-plugin-versionlock)
yum-versionlock プラグインは選択されたパッケージの他のバージョンを除外し、パッケージが最新バージョンに更新されることを防ぎます。versionlock コマンドラインオプションを使用すると、ロックされたパッケージを表示して、編集できます。