6.3. Yum と Yum リポジトリの設定

yum および関連ユーティリティの設定ファイルは /etc/yum.conf にあります。このファイルには、必須の [main] セクションが 1 つあり、全体に影響を与える Yum オプションを設定できます。また、1 つ以上の [repository] セクションを含むこともでき、リポジトリ固有のオプションを設定できます。ただし、/etc/yum.repos.d/ ディレクトリ内にある、新規または既存の .repo ファイルで個々のリポジトリを定義することが推奨されます。/etc/yum.conf ファイルの [main] セクションで定義する値は、個々の [repository] セクションで設定された値を上書きする場合があります。
本項では以下の方法を紹介します。
  • /etc/yum.conf 設定ファイルの [main] セクションを編集して Yum のグローバルオプションを設定する方法
  • /etc/yum.conf[repository] セクションと /etc/yum.repos.d/ ディレクトリ内の .repo ファイルを編集することで、個々のリポジトリのオプションを設定する方法
  • 動的バージョンとアーキテクチャーの値が適切に処理されるように /etc/yum.conf の Yum 変数と /etc/yum.repos.d/ ディレクトリ内のファイルを使用する方法
  • コマンドラインで Yum リポジトリを追加/有効/無効にする方法
  • カスタムの Yum リポジトリを設定する方法

6.3.1. [main] オプションの設定

/etc/yum.conf 設定ファイルには、1 つの [main] セクションが含まれます。このセクションにあるキー値ペアの中には yum の動作に影響を与えるものもあれば、Yum のリポジトリの処理方法に影響を与えるものもあります。/etc/yum.conf 内にある [main] のセクション見出しの下に、多くのオプションを追加することができます。
以下は、/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

[コメントは省略されています ]

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
以下は、[main] セクションで最もよく使用されるオプションです。
assumeyes=value
value は以下のいずれかです。
0yum は実行する重要な動作の確認をプロンプトします。これはデフォルトです。
1yum が実行する重要な動作の確認をプロンプトしません。assumeyes=1 に設定すると、yum はコマンドラインのオプション -y が行うとの同じように実行します。
cachedir=directory
directory は、Yum がキャッシュとデータベースファイルを格納するディレクトリへの絶対パスです。デフォルトでは、Yum のキャッシュディレクトリは /var/cache/yum/$basearch/$releasever です。
$basearch 及び $releasever Yum 変数の詳細については、「Yum 変数の使用」 を参照して下さい。
debuglevel=value
value1 から 10 までの整数です。debuglevel 値を高い値に設定すると、yum はより詳しいデバッグ出力を表示します。debuglevel=0 は、デバッグ出力を無効にします。デフォルトは debuglevel=2 です。
exactarch=value
value は以下のいずれかです。
0 — パッケージの更新時には正しいアーキテクチャーを考慮に入れて実行しません。
1 — パッケージの更新時には正しいアーキテクチャーを考慮に入れて実行します。この設定では、yum はシステムにすでにインストール済みの i386 パッケージを更新するために i686 パッケージをインストールしません。これがデフォルトです。
exclude=package_name [more_package_names]
このオプションを使用すると、インストール/更新中にキーワードを使ってパッケージを除外することができます。除外する複数のパッケージを一覧表示したい場合は、パッケージを空白で区切ります。ワイルドカード (*? など) を使ったシェルグロブが使用できます。
gpgcheck=value
value は以下のいずれかです。
0 — インストールされるローカルパッケージなど、全リポジトリ内のパッケージ上での GPG 署名確認を無効にします。
1 — インストールされるローカルパッケージなど、全リポジトリ内の全パッケージ上での GPG 署名確認を有効にします。gpgcheck=1 がデフォルトであるため、すべてのパッケージ署名は確認されます。
このオプションが /etc/yum.conf ファイルの [main] セクションで設定されている場合は、全リポジトリに対して GPG 照合規則を設定します。ただし、代わりに個々のリポジトリに gpgcheck=value を設定することもできます。つまり、あるリポジトリで GPG 照合を有効にしながら別のリポジトリでは無効にすることができます。個々のリポジトリに対して対応する .repo ファイルで gpgcheck=value を設定すると、/etc/yum.conf にデフォルト値がある場合はそれを無効にします。
GPG 署名照合の詳細については、「パッケージの署名確認」 を参照して下さい。
groupremove_leaf_only=value
value は以下のいずれかです。
0yum はパッケージグループの削除時に、各パッケージの依存関係を確認 しません。この設定により、yum はパッケージが他のパッケージまたはグループにより必要とされているかどうかに関わらず、パッケージグループ内の全パッケージを削除します。デフォルトは groupremove_leaf_only=0 です。
1yum はパッケージグループの削除時に、各パッケージの依存関係を確認して、他のパッケージやグループにより必要とされていないパッケージのみを削除します。
パッケージの削除についての詳細は インテリジェントなパッケージグループの削除方法 を参照して下さい。
installonlypkgs=space separated list of packages
yumインストール は可能だが 更新 はしない、空白で区切られたパッケージの一覧を表示することができます。デフォルトでインストールのみに設定されているパッケージの一覧については、yum.conf(5) の man ページを参照して下さい。
installonlypkgs 指示文を /etc/yum.conf ファイルに追加する場合は、yum.conf(5) のinstallonlypkgs セクション下に表示されているものも含め、インストールのみである すべての パッケージを一覧表示するようにして下さい。特に、カーネルパッケージは常に installonlypkgs (デフォルトのとおり) に一覧表示するようにして下さい。また、デフォルトのカーネルがブートに失敗した場合でもバックアップカーネルを常に利用できるように、installonly_limit は常に 2 より大きい値に設定することをお勧めします。
installonly_limit=value
value は、installonlypkgs 指示文に表示されている単一のパッケージに同時にインストール可能なバージョンの最大数を表す整数です。
installonlypkgs 指示文のデフォルトには複数の様々なカーネルパッケージが含まれているため、installonly_limit の値を変更すると、単一のカーネルパッケージのインストール済みバージョンの最大数にも影響が及ぶ点に注意して下さい。/etc/yum.conf に表示されているデフォルト値は、installonly_limit=3 です。また、この値を低く、特に 2 より下に設定することは推奨されません。
keepcache=value
value は以下のいずれかです。
0 — インストールの成功後、ヘッダーとパッケージのキャッシュを保持しません。これがデフォルトです。
1 — インストールの成功後、キャッシュを保持します。
logfile=file_name
file_name は、yum がログ出力を書き込むファイルへの絶対パスです。デフォルトでは、yum/var/log/yum.log にログを記録します。
multilib_policy=value
value は以下のいずれかです。
best — このシステムに最適なアーキテクチャーをインストールします。例えば AMD64 システムに multilib_policy=best を設定すると、yum は全パッケージの 64-bit バージョンをインストールします。
all — 常に全パッケージ用の可能なあらゆるアーキテクチャーをインストールします。例えば、AMD64 システムで multilib_policyall に設定すると、yum はパッケージの i586 及び AMD64 が利用可能であれば両バージョンをインストールします。
obsoletes=value
value は以下のいずれかです。
0 — 更新の実行時に yum の obsoletes 処理ロジックを無効にします。
1 — 更新の実行時に yum の obsoletes 処理ロジックを有効にします。あるパッケージがスペックファイル内で別のパッケージを 廃止する ように宣言している場合、元のパッケージがインストールされた時に他のパッケージは元のパッケージによって置き換えられます。例えば、パッケージ名が変更された場合などに obsoletes は宣言されます。obsoletes=1 がデフォルトです。
plugins=value
value は以下のいずれかです。
0 — Yum のプラグインを全体的に無効にします。

すべてのプラグインの無効化は推奨されません

一部のプラグインは、重要な Yum サービスを提供するためすべてのプラグインを無効にすることは推奨されません。特に、rhnpluginRHN Classic へのサポートを、product-id 及び subscription-manager のプラグインは証明書ベースの Content Delivery Network (CDN) へのサポートをそれぞれ提供します。プラグインを全体的に無効にする便利なオプションもありますが、通常は Yum の使用に潜在的な問題があると判断された場合にのみ使用することが推奨されます。
1 — すべての Yum プラグインを全体的に有効にします。plugins=1 に設定した場合、ある Yum プラグインの設定ファイル内で enabled=0 を設定することでそのプラグインを無効にすることも可能です。
Yum の各種プラグインの詳細については、「Yum のプラグイン」 を参照して下さい。プラグインの制御に関する詳細は、「Yum プラグインを有効/設定/無効にする方法」 を参照して下さい。
reposdir=directory
directory.repo ファイルがあるディレクトリへの絶対パスです。すべての .repo ファイルには、リポジトリ情報 (/etc/yum.conf[repository] セクションと類似) が含まれています。yum.repo ファイル及び /etc/yum.conf ファイルの [repository] セクションからすべてのリポジトリ情報を収集し、トランザクションに使用するリポジトリのマスターの一覧を作成します。reposdir が設定されていない場合は、yum はデフォルトのディレクトリである /etc/yum.repos.d/ を使用します。
retries=value
value は、整数 0 かそれより大きい数です。この値は、エラーを返す前に yum がファイルの取得を試行する回数を設定します。これを 0 に設定すると、yum はその試行を何度も続けます。デフォルト値は 10 です。
利用可能な [main] オプションの全一覧は、yum.conf(5) の man ページ の [main] OPTIONS セクションを参照して下さい。