Red Hat Training

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

8.4. Yum と Yum リポジトリーの設定

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

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

/etc/yum.conf 設定ファイルには [main] セクションが 1 つだけ含まれます。本セクションにあるキー値ペアの中には、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

[comments abridged]

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
以下は、[main] セクションで最も一般的に使用されるオプションです。
assumeyes=value
ここで、value は以下のいずれかになります。
0: yum は、実行する重要な動作の確認を求めるプロンプトを出します。これはデフォルトです。
1: yum は、重要な動作の確認を行いません。assumeyes=1 を 設定すると、yum はコマンドラインオプション -y が行うのと同じ方法で動作します。
cachedir=directory
directory は、Yum がキャッシュとデータベースファイルを保存するディレクトリーへの絶対パスです。デフォルトでは、Yum のキャッシュディレクトリーは /var/cache/yum/$basearch/$releasever です。
「yum 変数の使用」 および $basearch Yum 変数の説明は、$releasever を参照してください。
debuglevel=value
value は、1 から 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= を設定することもできます。つまり、あるリポジトリーで GPG チェックを有効にしつつ、別のリポジトリーで無効にすることができます。対応する .repo ファイルの個々のリポジトリーに gpgcheck= を設定すると、/etc/yum.conf に存在する場合にはデフォルトが上書きされます。
GPG 署名の確認に関する詳細は、「パッケージの署名の確認」 を参照してください。
groupremove_leaf_only=value
ここで、value は以下のいずれかになります。
0: パッケージグループを削除するときに、yum は各パッケージの依存関係を確認し ない でください。この設定では、yum は、他のパッケージまたはグループで必要なパッケージが必要であるかどうかに関わらず、パッケージグループ内の全パッケージを削除します。groupremove_leaf_only=0 がデフォルトです。
1: yum はパッケージグループを削除するときに各パッケージの依存関係を確認し、他のパッケージやグループを必要としないパッケージのみを削除します。
パッケージの削除に関する詳細は、インテリジェントなパッケージグループの削除 を参照してください。
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 ビットバージョンをインストールします。
all: 常に全パッケージ用の可能なあらゆるアーキテクチャーをインストールします。たとえば、AMD64 システムで multilib_policyall に設定すると、yum は i686 および AMD64 のパッケージが利用可能であれば、両方をインストールします。
obsoletes=value
ここで、value は以下のいずれかになります。
0: 更新の実行時に yum の廃止処理ロジックを無効にします。
1: 更新の実行時に yum の廃止処理ロジックを有効にします。あるパッケージが仕様ファイルで別のパッケージを 廃止 することを宣言すると、廃止されたパッケージのインストール時に、廃止後のパッケージが former パッケージに置き換えられます。たとえば、パッケージ名が変更された場合などに廃止が宣言されます。デフォルトは obsoletes=1 です。
plugins=value
ここで、value は以下のいずれかになります。
0: すべての Yum プラグインをグローバルに無効にします。
プラグインをすべて無効にすることは推奨されません。
一部のプラグインは重要な Yum サービスを提供するため、すべてのプラグインを無効にすることは推奨されません。特に、rhnpluginRHN Classic に対応しており、product-id プラグインおよび subscription-manager プラグインは、証明書ベースの コンテンツ配信ネットワーク (CDN)のサポートを提供します。グローバルにプラグインを無効にすることは便利なオプションとして提供されますが、通常は Yum の潜在的な問題を診断する場合にのみ推奨されます。
1: すべての Yum プラグインをグローバルに有効にします。plugins=1 で は、そのプラグインの設定ファイルに enabled=0 を設定して、特定の Yum プラグインを無効にすることができます。
Yum のさまざまなプラグインの詳細は、「yum のプラグイン」 を参照してください。プラグインの制御に関する詳細は 「yum プラグインを有効、設定、および無効にする方法」 を参照してください。
reposdir=directory
directory は、.repo ファイルがあるディレクトリーへの絶対パスです。すべての .repo ファイルにはリポジトリー情報が含まれています( /etc/yum.conf[repository] セクションと同様)。yum は、/etc/yum.conf ファイルの .repo ファイルおよび [repository] セクションからすべてのリポジトリー情報を収集し、トランザクションに使用するリポジトリーのマスター一覧を作成します。reposdir が設定されていない場合、yum はデフォルトのディレクトリー /etc/yum.repos.d/ を使用します。
retries=value
value は、整数 0 以上です。この値は、エラーを返す前に yum がファイルの取得を試行する回数を設定します。これを 0 に設定すると、yum はその試行を何度も続けます。デフォルト値は 10 です。
利用可能な [main] オプションの完全なリストは、yum.conf(5)man ページの [main] OPTIONS セクションを参照してください。