Red Hat Training

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

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

注記

専門知識を深めるために、Red Hat System Administration III (RH254) トレーニングコースと RHCSA Rapid Track (RH199) トレーニングコースを受講することをお勧めします。

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 ファイル、および /etc/yum.repos.d/ ディレクトリーの .repo ファイルの [repository] セクションを編集して、個々のレポジトリーにオプションを設定する方法
  • 動的バージョンとアーキテクチャーの値が適切に処理されるように /etc/yum.conf の yum 変数と /etc/yum.repos.d/ ディレクトリー内のファイルを使用する方法
  • コマンドラインで yum リポジトリーを追加、有効、無効にする方法
  • カスタムの yum リポジトリーを設定する方法

9.5.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

assumeyes オプションは、yum が重要なアクションに関する確認を行うかどうかを決定します。value を、以下のいずれかで置き換えます。

0: (デフォルト)。yum は、実行する重要な動作の確認を行います。

1: yum は、実行する重要な動作の確認を行いません。assumeyes=1 を設定すると、yum はコマンドラインオプション -y および --assumeyes と同じように動作します。

cachedir=directory

このオプションを使用して、yum がキャッシュおよびデータベースファイルを保存するディレクトリーを設定します。directory をディレクトリーへの絶対パスで置き換えます。デフォルトでは、yum のキャッシュディレクトリーは /var/cache/yum/$basearch/$releasever/ です。

yum 変数 $basearch および $releasever の詳細は、「yum 変数の使用」 を参照してください。

debuglevel=value
このオプションは、yum が生成するデバッグ出力の詳細を指定します。ここでは、value1 から 10 までの整数になります。debuglevel 値を高く設定すると、yum がより詳細なデバッグ出力を表示します。debuglevel=2 はデフォルトで、debuglevel=0 がデバッグ出力を無効にします。
exactarch=value

このオプションを使用すると、インストール済みのパッケージを更新する際に、yum が正確なアーキテクチャーを考慮するように設定できます。value を以下のいずれかで置き換えます。

0: パッケージの更新時には正しいアーキテクチャーを考慮に入れて実行しません。

1 (デフォルト値): パッケージの更新時に正しいアーキテクチャーを考慮します。このように設定すると、yum が、64 ビットアーキテクチャーのシステムにインストールされているパッケージの更新に、32 ビットアーキテクチャーのパッケージを使用しません。

exclude=package_name more_package_names
exclude オプションでは、インストールまたはシステム更新の際にキーワードでパッケージを除外できます。除外する複数のパッケージの一覧を表示するには、スペースで区切ったパッケージの一覧を引用符で囲みます。ワイルドカードを使用したシェル glob 表現 (*? など) を使用できます。
gpgcheck=value

gpgcheck オプションを指定して、GPG 著名チェックをパッケージで行う必要があるかどうかを指定します。value を以下のいずれかで置き換えます。

0: インストールされるローカルパッケージなど、全リポジトリー内のパッケージでの GPG 署名確認を無効にします。

1 (デフォルト): インストールされるローカルパッケージなど、全リポジトリーのすべてのパッケージで GPG 署名確認を有効にします。gpgcheck を有効にすると、すべてのパッケージ署名が確認されます。

このオプションが /etc/yum.conf ファイルの [main] セクションで設定されている場合は、全リポジトリーに対して GPG 確認ルールが設定されます。ただし、個々のリポジトリーに gpgcheck=value を設定することもできます。つまり、あるリポジトリーで GPG チェックを有効にしつつ、別のレポジトリーで無効にすることができます。対応の .repo ファイルの個別のレポジトリーに gpgcheck=value を設定すると、/etc/yum.conf にデフォルト値がある場合はそれを無効にします。

group_command=value

group_command オプションを指定して、yum group installyum group upgradeyum group remove がパッケージグループを処理する方法を指定します。value を、以下のいずれかで置き換えます。

simple: パッケージグループのすべてのメンバーをインストールします。以前にインストールされたパッケージのみを更新し、その間にグループに追加されたパッケージはインストールしません。

compat: simple に似ていますが、yum upgrade は前回の更新以降にグループに追加されたパッケージもインストールします。

オブジェクト: (デフォルト)。 このオプションでは、yum は以前にインストールされたグループを追跡し、グループの一部としてインストールされたパッケージと、個別にインストールされたパッケージを区別します。例9.15「LibreOffice パッケージグループの情報表示」 を参照してください。

group_package_types=package_type more_package_types
yum group install コマンドが呼び出されたときにインストールされるパッケージのタイプ (オプションデフォルト必須) を指定することができます。default および mandatory のパッケージタイプがデフォルトで選択されます。
history_record=value

このオプションを使用すると、yum はトランザクション履歴を記録します。value を、以下のいずれかで置き換えます。

0: yum はトランザクションの履歴エントリーを記録しません

1 (デフォルト値): yum はトランザクションの履歴エントリーを記録します。この操作により、ある程度のディスク領域が使用され、トランザクションの時間が少し長くなりますが、過去の操作に関する多くの情報が提供されます。これは、yum history で表示できます。history_record=1 がデフォルトです。

yum history コマンドの詳細は、「トランザクション履歴の活用」 を参照してください。

注記

yum は履歴記録を使用して、yum 以外で行われた rpmdb データベースへの変更を検出します。変更が検出されると、yum は警告を表示し、rpmdb の変更によって起こり得る問題を自動的に検索します。history_record がオフになっていると、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

このオプションは、installonlypkgs ディレクティブにリストされている多くのパッケージを同時にインストールできる数を設定します。installonlypkgs に一覧表示されている単一のパッケージに同時にインストールできるようにバージョンの最大数を示す整数にを置き換えます。

installonlypkgs ディレクティブのデフォルトには複数のカーネルパッケージが含まれています。そのため、installonly_limit の値を変更すると、インストール済みの単一のカーネルパッケージのバージョンの最大数にも影響することに注意してください。/etc/yum.conf に一覧表示されるデフォルト値は installonly_limit=3 で、使用できる最小値は installonly_limit=2 です。

installonly_limit=1 に設定すると yum によって実行中のカーネルが削除されるため、設定することはできません。installonly_limit=1 を使用すると、yum は失敗します。

installonly_limit=2 を使用すると、1 つのバックアップカーネルが利用可能になります。ただし、2 つのバックアップカーネルを利用できるようにするためにも、デフォルト設定 installonly_limit=3 を使用し続けることが推奨されます。

keepcache=value

keepcache オプションはインストールに成功した後に、yum がヘッダーのキャッシュを維持するかどうかを決めます。は、以下のいずれかになります。

0: (デフォルト)。インストールの成功後は、ヘッダーとパッケージのキャッシュを保持しません。

1: インストールの成功後も、キャッシュを保持します。

logfile=file_name
ログ出力の場所を指定するため、file_name を、yum がログ出力を書き込むファイルへの絶対パスで置き換えます。デフォルトでは、yum は /var/log/yum.log にログを記録します。
max_connenctions=number
ここでの value は、同時接続の最大数を表します。デフォルトは 5 です。
multilib_policy=value

multilib_policy は、複数のアーキテクチャーバージョンがパッケージのインストールに利用できる場合に、インストール動作を設定します。ここで、value は以下を表します。

best: このシステムに最適なアーキテクチャーをインストールします。たとえば、AMD64 システムに multilib_policy=best を設定すると、yum は全パッケージの 64 ビットバージョンをインストールします。

all: 常に全パッケージ用の可能なあらゆるアーキテクチャーをインストールします。たとえば、AMD64 システムで multilib_policyall に設定すると、yum は i686 および AMD64 のパッケージが利用可能であれば両方のバージョンをインストールします。

obsoletes=value

obsoletes オプションでは、更新中に廃止プロセス論理を有効化します。あるパッケージのスペックファイルで、別のパッケージを廃止することを宣言すると、廃止宣言したパッケージのインストール時に、廃止宣言されたパッケージが、廃止宣言したパッケージに置き換えられます。たとえば、パッケージ名が変更された場合などに廃止が宣言されます。value を、以下のいずれかで置き換えます。

0: 更新の実行時に yum の廃止処理ロジックを無効にします。

1: (デフォルト)。更新の実行時に yum の廃止処理ロジックを有効にします。

plugins=value

これは、yum プラグインを有効または無効にするグローバルスイッチです。value は以下のいずれかになります。

0: yum のプラグインをグローバルで無効にします。

重要

一部のプラグインは重要な yum サービスを提供するため、すべてのプラグインを無効にすることは推奨されません。特に、product-id および subscription-manager プラグインは、証明書ベースの Content Delivery Network (CDN) のサポートを提供します。プラグインをグローバルで無効にするオプションは便利なオプションとして提供されていますが、通常は yum に潜在的な問題があると判断された場合にのみ使用することが推奨されます。

1 (デフォルト値): すべての yum プラグインを全体的に有効にします。plugins=1 では、そのプラグインの設定ファイルに enabled=0 を設定して、特定の yum プラグインを無効にすることができます。

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
このオプションは、エラーを返す前に yum がファイルの取得を試行する回数を設定します。 は整数 0 以上です。値を 0 に設定すると、yum はその試行を何度も続けます。デフォルト値は 10 です。

利用可能な [main] オプションの詳細なリストは、man ページの yum.conf(5) の [main] OPTIONS セクションを参照してください。