Red Hat Training

A Red Hat training course is available for RHEL 8

第12章 ソフトウェアパッケージの管理

12.1. Red Hat Enterprise Linux 8 におけるソフトウェア管理ツール

RHEL 8 では、DNF テクノロジーをベースにする新しいバージョンの YUM ツール (YUM v4) によりソフトウェアインストールが有効になります。

注記

アップストリームのドキュメントでは、このテクノロジーを DNF と識別しているので、このツールはアップストリームの DNF と呼ばれます。これにより、RHEL 8 の新しい YUM ツールが返した出力の一部で、DNF と表示されます。

RHEL 8 で使用される YUM v4DNF に基づいていますが、RHEL 7 で使用される YUM v3 と互換性があります。ソフトウェアのインストールでは、yum コマンドとそのオプションのほとんどが、RHEL 7 で実行したように RHEL 8 で機能します。

選択した yum プラグインおよびユーティリティーは、新しい DNF バックエンドに移植されており、RHEL 7 と同じ名前でインストールできます。パッケージは互換性を持ったシンボリックリンクを提供するため、バイナリー、設定ファイル、ディレクトリーは通常の場所で確認できます。

YUM v3 が提供する以前の Python API は利用できなくなりました。YUM v4 (DNF Python API) が提供する安定し、完全に対応する新しい API に、使用しているプラグインおよびスクリプトを移行できます。詳細は、「DNF API Reference」を参照してください。

12.2. アプリケーションストリーム

Red Hat Enterprise Linux 8 では、アプリケーションストリームの概念が導入されました。ユーザー空間コンポーネントのバージョンは複数配信され、コアオペレーティングシステムのパッケージよりも頻繁に更新されるようになりました。これによりプラットフォームや特定のデプロイメントの基本的な安定性に影響を及ぼすことなく、Red Hat Enterprise Linux をカスタマイズする柔軟性が向上します。

アプリケーションストリームとして使用できるコンポーネントは、モジュールまたは RPM パッケージとしてパッケージ化され、Red Hat Enterprise Linux 8 の AppStream リポジトリーを介して配信されます。各アプリケーションストリームには、特定のアプリケーションにより適した、RHEL 8 と同じか、より短いライフサイクルが指定されています。ライフサイクルが短いアプリケーションストリームは、「Red Hat Enterprise Linux 8 Application Streams ライフサイクル」ページに記載されています。

モジュールは、論理ユニット (アプリケーション、言語スタック、データベース、またはツールセット) を表すパッケージの集まりです。これらのパッケージはまとめてビルドされ、テストされ、そしてリリースされます。

モジュールストリームは、アプリケーションストリームコンポーネントのバージョンを表します。たとえば、postgresql モジュールでは 2 つのストリーム (バージョン) の PostgreSQL データベースサーバー、つまり PostgreSQL 10 (デフォルトストリーム) および PostgreSQL 9.6 が利用できます。システムにインストールできるモジュールストリームは 1 つだけです。複数のコンテナーで異なるバージョンを使用できます。

詳細なモジュールコマンドは『ユーザー空間コンポーネントのインストール、管理、および削除』を参照してください。AppStream で利用可能なモジュールの一覧は『パッケージマニフェスト』を参照してください。

12.3. ソフトウェアパッケージの検索

yum を使用すると、ソフトウェアパッケージをすべて操作できます。

以下のセクションでは、yum を使用して以下を行う方法を説明します。

  • パッケージを検索する
  • パッケージを一覧表示する
  • リポジトリーを一覧表示する
  • パッケージに関する情報を表示する
  • パッケージグループを一覧表示する
  • yum input での glob 表現を指定する

12.3.1. yum を使用したパッケージの検索

  • パッケージを検索するには、以下を使用します。

    # yum search term

    term は、パッケージ関連の用語に置き換えます。

    yum search コマンドでは、パッケージの名前と概要に含まれる用語で一致したものが返されることに注意してください。これにより、検索時間が短縮され、名前が分からないものの、関連用語が分かっているパッケージの検索が可能になります。

  • パッケージの説明に一致する用語を含めるには、以下を使用します。

    # yum search --all term

    term は、パッケージ名、概要、または説明で検索する用語に置き換えます。

    yum search --all はより完全な検索を可能にしますが、速度が遅くなることに注意してください。

12.3.2. yum を使用したパッケージの一覧表示

  • インストール済みで利用可能なパッケージの情報をすべて表示するには、次のコマンドを実行します。

    # yum list --all
  • システムにインストールされているパッケージの一覧を表示するには、以下のコマンドを使用します。

    # yum list --installed
  • 有効なすべてのリポジトリーで、インストール可能な全パッケージを表示するには、以下を使用します。

    # yum list --available

glob 表現を引数として追加して結果をフィルターできることに注意してください。詳細は、「yum input での glob 表現の指定」 を参照してください。

12.3.3. yum を使用したリポジトリーの一覧表示

  • システムで有効なリポジトリーをすべて一覧表示するには、以下を使用します。

    # yum repolist
  • システムで無効になっているリポジトリーをすべて一覧を表示するには、以下を使用します。

    # yum repolist --disabled
  • 有効および無効なリポジトリーの両方を一覧表示するには、以下を使用します。

    # yum repolist --all
  • リポジトリーに関する追加情報を一覧表示するには、以下を使用します。

    # yum repoinfo

リポジトリーの ID または名前を引数として渡すか、glob 表現を追加して結果をフィルタリングでききることに注意してください。詳細は、「yum input での glob 表現の指定」 を参照してください。

12.3.4. yum でパッケージ情報の表示

  • パッケージに関する情報を表示するには、以下を使用します。

    # yum info package-name

    package-name を、パッケージ名に置き換えます。

glob 表現を引数として追加して結果をフィルターできることに注意してください。詳細は、「yum input での glob 表現の指定」 を参照してください。

12.3.5. yum を使用したパッケージグループの一覧表示

  • インストール済みおよび利用可能なグループの数を表示するには、以下を使用します。

    # yum group summary
  • インストール済みおよび利用可能なグループをすべて一覧表示するには、以下のコマンドを使用します。

    # yum group list

    yum group list コマンドのコマンドラインオプション (--hidden--available) を追加して結果をフィルタリングできます。利用可能なオプションの詳細は、man ページを参照してください。

  • 特定のグループに含まれている必須および任意のパッケージを一覧表示するには、次のコマンドを実行します。

    # yum group info group-name

    group-name は、グループ名に置き換えます。

glob 表現を引数として追加して結果をフィルターできることに注意してください。詳細は、「yum input での glob 表現の指定」 を参照してください。

12.3.6. yum input での glob 表現の指定

yum コマンドでは、1 つ以上の glob 表現 を引数として追加することで、結果をフィルタリングできます。glob 表現は、yum コマンドに引数として指定するとエスケープする必要があります。確実に glob 表現を yum に渡すには、以下のいずれかの方法で行います。

  • glob 表現全体を二重引用符または単一引用符でくくる

    # yum provides "*/file-name"

    file-name は、ファイルの名前に置き換えます。

  • ワイルドカード文字の前にバックスラッシュ記号 (\) を入力して、ワイルドカード文字をエスケープする

    # yum provides \*/file-name

    file-name は、ファイルの名前に置き換えます。

12.4. ソフトウェアパッケージのインストール

以下のセクションでは、yum を使用して以下を行う方法を説明します。

  • パッケージをインストールする
  • パッケージグループをインストールする
  • yum input にパッケージ名を指定する

12.4.1. yum を使用したパッケージのインストール

  • パッケージとすべてのパッケージ依存関係をインストールするには、以下を使用します。

    # yum install package-name

    package-name を、パッケージ名に置き換えます。

  • 複数のパッケージとその依存関係を同時にインストールするには、以下を使用します。

    # yum install package-name-1 package-name-2

    package-name-1 および package-name-2 は、パッケージ名に置き換えます。

  • multilib システムにパッケージをインストールする場合に (AMD64、Intel 64 マシン)、パッケージのアーキテクチャーをパッケージ名に追加して指定できます。

    # yum install package-name.arch

    package-name.arch は、パッケージの名前およびアーキテクチャーに置き換えます。

  • インストールするバイナリー名は分かっているが、パッケージ名が分からない場合は、引数としてバイナリーへのパスを使用できます。

    # yum install /usr/sbin/binary-file

    /usr/sbin/binary-file は、バイナリーファイルへのパスに置き換えます。

    yum はパッケージ一覧で検索を行い、/usr/sbin/binary-file を提供するパッケージを探します。パッケージが見つかると、そのパッケージをインストールするかどうかを尋ねられます。

  • ローカルディレクトリーからダウンロード済みのパッケージをインストールするには、以下を使用します。

    # yum install /path/

    /path/ は、パッケージへのパスに置き換えます。

引数の解析方法を明示的に定義することで、パッケージ検索を最適化できます。詳細は、「yum input でのパッケージ名の指定」 を参照してください。

12.4.2. yum を使用したパッケージグループのインストール

  • パッケージグループをグループ名でインストールするには、以下を使用します。

    # yum group install group-name

    または

    # yum install @group-name

    group-name は、グループまたは環境グループのフルネームに置き換えます。

  • groupID でパッケージグループをインストールするには、以下を使用します。

    # yum group install groupID

    groupID は、グループの ID に置き換えます。

12.4.3. yum input でのパッケージ名の指定

インストールと削除のプロセスを最適化するには、yum install コマンド、および yum remove コマンドに -n-na または -nerva 接尾辞を追加して、引数の分析方法を明示的に定義してください。

  • 正確な名前を使用してパッケージをインストールするには、以下を使用します。

    # yum install-n name

    name は、パッケージの正確な名前に置き換えます。

  • 正確な名前およびアーキテクチャーを使用してパッケージをインストールするには、以下を使用します。

    # yum install-na name.architecture

    name および architecture は、パッケージの正確な名前およびアーキテクチャーに置き換えます。

  • 正確な名前、エポック、バージョン、リリース、およびアーキテクチャーを使用してパッケージをインストールするには、以下を使用します。

    # yum install-nevra name-epoch:version-release.architecture

    nameepochversionrelease、および architecture は、パッケージの正確な名前、エポック、バージョン、リリース、およびアーキテクチャーに置き換えます。

12.5. ソフトウェアパッケージの更新

yum を使用すると、システムに保留中の更新があるかどうかを確認できます。更新が必要なパッケージを一覧表示して、1 つのパッケージ、複数のパッケージ、またはすべてのパッケージを一度に更新できます。更新パッケージに依存関係がある場合は、合わせて更新されます。

以下のセクションでは、yum を使用して以下を行う方法を説明します。

  • 更新の有無を確認する
  • 1 つのパッケージを更新する
  • パッケージグループを更新する
  • すべてのパッケージとその依存関係を更新する
  • セキュリティー更新を適用する
  • ソフトウェアの更新を自動化する

12.5.1. yum を使用した更新の確認

  • システムにインストールされているパッケージで更新を利用できるのはどれかを確認するには、以下のコマンドを実行します。

    # yum check-update

    このコマンドは、更新が利用可能なパッケージおよびその依存関係の一覧を表示します。

12.5.2. yum を使用した単一パッケージの更新

  • パッケージを更新するには、以下を使用します。

    # yum update package-name

    package-name を、パッケージ名に置き換えます。

重要

カーネルの更新を適用する場合、yum は、yum update コマンドまたは yum install コマンドを使用しているかどうかに関わらず、新しいカーネルを常に インストール します。

12.5.3. yum を使用したパッケージグループの更新

  • パッケージグループを更新するには、以下を使用します。

    # yum group update group-name

    group-name は、パッケージグループの名前に置き換えます。

12.5.4. yum ですべてのパッケージとその依存関係の更新

  • すべてのパッケージとその依存関係を更新するには、次のコマンドを実行します。

    # yum update

12.5.6. ソフトウェア更新の自動化

パッケージの更新の確認とダウンロードを定期的に行うには、dnf-automatic パッケージの DNF Automatic ツールを使用できます。

DNF Automatic は、systemd タイマー、cron ジョブ、その他のツールを使用した自動実行および定期実行に適した yum の代替コマンドラインインターフェースです。

DNF Automatic は、必要に応じてパッケージのメタデータを同期し、利用できる更新を確認します。その後、このツールは、設定方法に応じて以下のアクションのいずれかを実行できます。

  • 終了
  • 更新済みパッケージのダウンロード
  • 更新のダウンロードおよび適用

その後、標準出力やメールなど、選択したメカニズムによって操作の結果が報告されます。

12.5.6.1. DNF Automatic のインストール

以下の手順では、DNF Automatic ツールをインストールする方法を説明します。

手順

  • dnf-automatic パッケージをインストールするには、次のコマンドを実行します。

    # yum install dnf-automatic

検証手順

  • インストールの成功を確認するには、以下のコマンドを実行して dnf-automatic パッケージが存在することを確認します。

    # rpm -qi dnf-automatic

12.5.6.2. dnf Automatic 設定ファイル

デフォルトでは、DNF Automatic は、動作を定義するための設定ファイルとして /etc/dnf/automatic.conf を使用します。

設定ファイルは、以下のトピックセクションに分かれています。

  • [commands] セクション

    DNF Automatic の操作モードを設定します。

  • [emitters] セクション

    DNF Automatic の結果が報告される方法を定義します。

  • [command_email] セクション

    電子メールの送信に使用する外部コマンドのメールエミッター設定を提供します。

  • [email] セクション

    電子メールエミッターの設定を提供します。

  • [base] セクション

    yum の主な設定ファイルのオプションを上書きします。

/etc/dnf/automatic.conf のデフォルト設定では、DNF Automatic は、利用可能な更新を自動的にチェックし、ダウンロードして、結果を標準出力として報告します。

警告

[commands] セクションの操作モードの設定は、dnf-automatic.timer 以外のすべてのタイマーユニットに対して、systemd タイマーユニットで使用される設定によって上書きされます。

関連情報

12.5.6.3. DNF Automatic の有効化

DNF Automatic を実行するには、常に特定の systemd タイマーユニットを有効にして起動する必要があります。dnf-automatic パッケージで提供されるタイマーユニットのいずれかを使用するか、必要に応じて独自のタイマーユニットを作成することができます。

以下のセクションでは、DNF Automatic を有効にする方法を説明します。

前提条件

  • /etc/dnf/automatic.conf 設定ファイルを変更して、DNF Automatic の動作を指定している。

DNF Automatic 設定ファイルの詳細は、セクション 2.5.6.2『DNF Automatic 設定ファイル』を参照してください。

手順

  • ニーズに合った systemd タイマーユニットを選択し、有効にして開始します。

    # systemctl enable --now <unit>

    ここで、<unit> は以下のタイマーのいずれかです。

    • dnf-automatic-download.timer
    • dnf-automatic-install.timer
    • dnf-automatic-notifyonly.timer
    • dnf-automatic.timer

利用可能な更新の ダウンロード の場合は、次のコマンドを使用します。

# systemctl enable dnf-automatic-download.timer
# systemctl start dnf-automatic-download.timer

利用可能な更新の ダウンロードとインストール の場合は、次のコマンドを使用します。

# systemctl enable dnf-automatic-install.timer
# systemctl start dnf-automatic-install.timer

利用可能な更新の 報告 の場合は、次のコマンドを使用します。

# systemctl enable dnf-automatic-notifyonly.timer
# systemctl start dnf-automatic-notifyonly.timer

必要に応じて、以下を使用できます。

# systemctl enable dnf-automatic.timer
# systemctl start dnf-automatic.timer

更新のダウンロードおよび適用では、このタイマーユニットは /etc/dnf/automatic.conf 設定ファイルの設定に応じて動作します。デフォルトの動作は dnf-automatic-download.timer に似ています。更新されたパッケージをダウンロードしますが、インストールはしません。

注記

別の方法として、/usr/bin/dnf-automatic ファイルをコマンドラインまたはカスタムスクリプトから直接実行して、DNF Automatic も実行できます。

検証手順

  • タイマーが有効になっていることを確認するには、次のコマンドを実行します。

    # systemctl status <systemd timer unit>

関連情報

12.5.6.4. dnf-automatic パッケージに含まれる systemd タイマーユニットの概要

systemd タイマーユニットが優先され、更新のダウンロードと適用に関する /etc/dnf/automatic.conf 設定ファイルのオプションを上書きします。

たとえば、以下を設定します。

download_updates = yes

/etc/dnf/automatic.conf 設定ファイルでは、dnf-automatic-notifyonly.timer ユニットをアクティベートしていても、パッケージはダウンロードされません。

dnf-automatic パッケージには、次の systemd タイマーユニットが含まれます。

タイマーユニット機能/etc/dnf/automatic.conf ファイルの設定を上書きするか

dnf-automatic-download.timer

キャッシュにパッケージをダウンロードし、更新を利用できるようにします。

注記: このタイマーユニットでは更新パッケージはインストールされません。インストールを実行するには、dnf update コマンドを実行する必要があります。

はい

dnf-automatic-install.timer

更新したパッケージをダウンロードしてインストールします。

はい

dnf-automatic-notifyonly.timer

リポジトリーデータのみをダウンロードして、リポジトリーキャッシュを最新の状態に維持し、利用可能な更新について通知します。

注記: このタイマーユニットでは、更新されたパッケージはダウンロードまたはインストールされません。

はい

dnf-automatic.timer

更新のダウンロードと適用に関するこのタイマーの動作は、/etc/dnf/automatic.conf 設定ファイルの設定で指定されます。

デフォルトの動作は、dnf-automatic-download.timer ユニットと同じで、パッケージのみをダウンロードし、インストールは行いません。

いいえ

関連情報

  • dnf-automatic タイマーの詳細は、man dnf-automatic の man ページを参照してください。
  • /etc/dnf/automatic.conf 設定ファイルの詳細は、セクション 2.5.6.2.「DNF Automatic 設定ファイル」を参照してください。

12.6. ソフトウェアパッケージのアンインストール

以下のセクションでは、yum を使用して以下を行う方法を説明します。

  • パッケージを削除する
  • パッケージグループを削除する
  • yum input にパッケージ名を指定する

12.6.1. yum を使用したパッケージの削除

  • 特定のパッケージおよび依存パッケージをすべて削除するには、以下を使用します。

    # yum remove package-name

    package-name を、パッケージ名に置き換えます。

  • 複数のパッケージとその依存関係を同時に削除するには、以下を使用します。

    # yum remove package-name-1 package-name-2

    package-name-1 および package-name-2 は、パッケージ名に置き換えます。

注記

yum では、依存パッケージを削除しなければパッケージを削除できません。

引数の解析方法を明示的に定義することで、パッケージ検索を最適化できます。詳細は、「yum input でのパッケージ名の指定」 を参照してください。

12.6.2. yum を使用したパッケージグループの削除

  • グループ名を使用してパッケージグループを削除するには、以下を使用します。

    # yum group remove group-name

    または

    # yum remove @group-name

    group-name は、グループの完全な名前に置き換えます。

  • groupID でパッケージグループを削除するには、以下を使用します。

    # yum group remove groupID

    groupID は、グループの ID に置き換えます。

12.6.3. yum input でのパッケージ名の指定

インストールと削除のプロセスを最適化するには、yum install コマンド、および yum remove コマンドに -n-na または -nerva 接尾辞を追加して、引数の分析方法を明示的に定義してください。

  • 正確な名前を使用してパッケージをインストールするには、以下を使用します。

    # yum install-n name

    name は、パッケージの正確な名前に置き換えます。

  • 正確な名前およびアーキテクチャーを使用してパッケージをインストールするには、以下を使用します。

    # yum install-na name.architecture

    name および architecture は、パッケージの正確な名前およびアーキテクチャーに置き換えます。

  • 正確な名前、エポック、バージョン、リリース、およびアーキテクチャーを使用してパッケージをインストールするには、以下を使用します。

    # yum install-nevra name-epoch:version-release.architecture

    nameepochversionrelease、および architecture は、パッケージの正確な名前、エポック、バージョン、リリース、およびアーキテクチャーに置き換えます。

12.7. ソフトウェアパッケージグループの管理

パッケージグループは、共通の目的 (システムツールサウンドとビデオ) でサービスを行うパッケージの集合です。パッケージグループをインストールすると、依存パッケージも取得するため、時間が大幅に短縮できます。

以下のセクションでは、yum を使用して以下を行う方法を説明します。

  • パッケージグループを一覧表示する
  • パッケージグループをインストールする
  • パッケージグループを削除する
  • yum input での glob 表現を指定する

12.7.1. yum を使用したパッケージグループの一覧表示

  • インストール済みおよび利用可能なグループの数を表示するには、以下を使用します。

    # yum group summary
  • インストール済みおよび利用可能なグループをすべて一覧表示するには、以下のコマンドを使用します。

    # yum group list

    yum group list コマンドのコマンドラインオプション (--hidden--available) を追加して結果をフィルタリングできます。利用可能なオプションの詳細は、man ページを参照してください。

  • 特定のグループに含まれている必須および任意のパッケージを一覧表示するには、次のコマンドを実行します。

    # yum group info group-name

    group-name は、グループ名に置き換えます。

glob 表現を引数として追加して結果をフィルターできることに注意してください。詳細は、「yum input での glob 表現の指定」 を参照してください。

12.7.2. yum を使用したパッケージグループのインストール

  • パッケージグループをグループ名でインストールするには、以下を使用します。

    # yum group install group-name

    または

    # yum install @group-name

    group-name は、グループまたは環境グループのフルネームに置き換えます。

  • groupID でパッケージグループをインストールするには、以下を使用します。

    # yum group install groupID

    groupID は、グループの ID に置き換えます。

12.7.3. yum を使用したパッケージグループの削除

  • グループ名を使用してパッケージグループを削除するには、以下を使用します。

    # yum group remove group-name

    または

    # yum remove @group-name

    group-name は、グループの完全な名前に置き換えます。

  • groupID でパッケージグループを削除するには、以下を使用します。

    # yum group remove groupID

    groupID は、グループの ID に置き換えます。

12.7.4. yum input での glob 表現の指定

yum コマンドでは、1 つ以上の glob 表現 を引数として追加することで、結果をフィルタリングできます。glob 表現は、yum コマンドに引数として指定するとエスケープする必要があります。確実に glob 表現を yum に渡すには、以下のいずれかの方法で行います。

  • glob 表現全体を二重引用符または単一引用符でくくる

    # yum provides "*/file-name"

    file-name は、ファイルの名前に置き換えます。

  • ワイルドカード文字の前にバックスラッシュ記号 (\) を入力して、ワイルドカード文字をエスケープする

    # yum provides \*/file-name

    file-name は、ファイルの名前に置き換えます。

12.8. パッケージ管理履歴の処理

yum history コマンドを使用すると、yum のトランザクションのタイムライン、トランザクションの発生日時、影響を受けたパッケージ数、トランザクション成功の有無、RPM データベースがトランザクション間で変更されたかどうかといった情報を確認できます。yum history コマンドを使用して、トランザクションを元に戻すまたはやり直すこともできます。

以下のセクションでは、yum を使用して以下を行う方法を説明します。

  • トランザクションを一覧表示する
  • トランザクションを元に戻す
  • トランザクションを繰り返す
  • yum input での glob 表現を指定する

12.8.1. yum を使用したトランザクションの一覧表示

  • 最新の yum トランザクションの一覧を表示するには、以下を使用します。

    # yum history
  • 選択したパッケージの最新操作の一覧を表示するには、以下を使用します。

    # yum history list package-name

    package-name を、パッケージ名に置き換えます。glob 表現を追加して、コマンドの出力をフィルタリングできます。詳細は、「yum input での glob 表現の指定」 を参照してください。

  • 特定のトランザクションを調べるには、以下を使用します。

    # yum history info transactionID

    transactionID は、トランザクションの ID に置き換えます。

12.8.2. yum を使用してトランザクションを元に戻す方法

  • 特定のトランザクションを元に戻すには、以下を使用します。

    # yum history undo transactionID

    transactionID は、トランザクションの ID に置き換えます。

  • 最後のトランザクションを元に戻すには、以下を使用します。

    # yum history undo last

yum history undo コマンドは、トランザクション中に実行されたステップのみを元に戻すことに注意してください。トランザクションが新しいパッケージをインストールすると、yum history undo コマンドはこれをアンインストールします。トランザクションがパッケージをアンインストールすると、yum history undo コマンドはこれを再インストールします。yum history undo は、(古いパッケージが引き続き利用可能な場合に) 更新済みパッケージをすべて以前のバージョンにダウングレードする試みも行います。

12.8.3. yum を使用したトランザクションの繰り返し

  • 特定のトランザクションを繰り返すには、以下を使用します。

    # yum history redo transactionID

    transactionID は、トランザクションの ID に置き換えます。

  • 最後のトランザクションを繰り返すには、以下を使用します。

    # yum history redo last

yum history redo コマンドは、トランザクション中に実行されたステップのみを繰り返すことに注意してください。

12.8.4. yum input での glob 表現の指定

yum コマンドでは、1 つ以上の glob 表現 を引数として追加することで、結果をフィルタリングできます。glob 表現は、yum コマンドに引数として指定するとエスケープする必要があります。確実に glob 表現を yum に渡すには、以下のいずれかの方法で行います。

  • glob 表現全体を二重引用符または単一引用符でくくる

    # yum provides "*/file-name"

    file-name は、ファイルの名前に置き換えます。

  • ワイルドカード文字の前にバックスラッシュ記号 (\) を入力して、ワイルドカード文字をエスケープする

    # yum provides \*/file-name

    file-name は、ファイルの名前に置き換えます。

12.9. ソフトウェアリポジトリーの管理

yum および関連ユーティリティーの設定情報は /etc/yum.conf ファイルに保存されます。このファイルには [repository] セクションが含まれており、リポジトリー固有のオプションを設定できます。

/etc/yum.repos.d/ ディレクトリーにある、新規または既存の .repo ファイルに個々のリポジトリーを定義することが推奨されます。

/etc/yum.conf ファイルの各 [repository] セクションで定義した値は、[main] セクションに設定した値をオーバーライドします。

次のセクションでは、以下を行う方法を説明します。

  • [repository] オプションを設定する
  • yum リポジトリーを追加する
  • yum リポジトリーを有効にする
  • yum リポジトリーを無効にする

12.9.1. Yum リポジトリーオプションの設定

/etc/yum.conf 設定ファイルには [repository] のセクションが含まれ、repository は一意のリポジトリー ID に置き換えます。[repository] セクションでは、各 yum リポジトリーを定義できます。

注記

競合を回避するために、カスタムリポジトリーには Red Hat リポジトリーで使用される名前を指定しないでください。

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

12.9.2. yum リポジトリーの追加

新規リポジトリーを定義するには、以下を行います。

  • [repository] セクションを /etc/yum.conf ファイルに追加します。
  • /etc/yum.repos.d/ ディレクトリーの .repo ファイルに [repository] セクションを追加します。

    yum リポジトリーは、一般的に .repo ファイルを提供します。

注記

このディレクトリーにある、.repo ファイル拡張子が付いたすべてのファイルを yum が読み取るため、リポジトリーは、/etc/yum.conf ではなく、.repo ファイルに定義することが推奨されます。

  • システムにリポジトリーを追加して有効にするには、以下を使用します。

    # yum-config-manager --add-repo repository_URL

    repository_url は、リポジトリーを参照する URL に置き換えます。

警告

ソフトウェアパッケージを、Red Hat の認証ベース Content Delivery Network (CDN) 以外の未検証または信頼できないソースから取得してインストールする場合には、セキュリティー上のリスクが伴います。セキュリティー、安定性、互換性、保全性に関する問題につながる恐れがあります。

12.9.3. yum リポジトリーの有効化

  • リポジトリーを有効にするには、以下を使用します。

    # yum-config-manager --enable repositoryID

    repositoryID は、一意のリポジトリー ID に置き換えます。

    利用可能なリポジトリー ID を一覧表示するには、「yum を使用したパッケージの一覧表示」 を参照してください。

12.9.4. yum リポジトリーの無効化

  • yum リポジトリーを無効にするには、以下のコマンドを使用します。

    # yum-config-manager --disable repositoryID

    repositoryID は、一意のリポジトリー ID に置き換えます。

    利用可能なリポジトリー ID を一覧表示するには、「yum を使用したパッケージの一覧表示」 を参照してください。

12.10. yum の設定

yum および関連ユーティリティーの設定情報は /etc/yum.conf ファイルに保存されます。このファイルには、必須の [main] セクションが含まれており、このセクションを使用することで yum オプションを設定してグローバルに設定を適用できます。

次のセクションでは、以下を行う方法を説明します。

  • 現在の yum 設定を表示します。
  • yum [main] オプションを設定します。
  • yum プラグインを使用します。

12.10.1. 現在の yum 設定の表示

  • /etc/yum.conf ファイルの [main] セクションで指定されるグローバル yum オプションの現在の値を表示するには、以下を使用します。

    # yum config-manager --dump

12.10.2. yum メインオプションの設定

/etc/yum.conf 設定ファイルには [main] セクションが 1 つ含まれています。本セクションの鍵と値のペアにより、yum の動作とリポジトリーの処理方法が変わります。

/etc/yum.conf[main] セクションの下に、オプションを追加できます。

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

12.10.3. yum プラグインの使用

yum は、その操作を拡張し、強化するプラグインを提供します。特定のプラグインが、デフォルトでインストールされています。

以下のセクションでは、yum プラグインを有効、設定、および無効にする方法を説明します。

12.10.3.1. yum プラグインの管理

プラグイン設定ファイルには常に [main] セクションが含まれます。このセクションでは、enabled= オプションで、yum コマンドを実行する際にプラグインを有効にするかどうかを制御します。このオプションがファイルに含まれていない場合は手動で追加できます。

/etc/dnf/plugins/ ディレクトリーには、インストールしているすべてのプラグインに対する設定ファイルがあります。これらのファイルでは、プラグイン固有のオプションを有効または無効にできます。

12.10.3.2. yum プラグインの有効化

  • すべての yum プラグインを有効にするには、以下を実行します。

    1. plugins= で始まる行が /etc/yum.conf ファイルの [main] セクションにあることを確認します。
    2. plugins= の値を 1 に設定します。

      plugins=1

12.10.3.3. yum プラグインの無効化

  • yum プラグインをすべて無効にするには、以下を実行します。

    1. plugins= で始まる行が /etc/yum.conf ファイルの [main] セクションにあることを確認します。
    2. plugins= の値を 0 に設定します。

      plugins=0
      重要

      プラグインをすべて無効にすることは推奨 していません。プラグインによっては、重要な yum サービスを提供します。その中でも product-id プラグインおよび subscription-manager プラグインは、証明書ベースの Content Delivery Network (CDN) への対応に必要です。システム全体でプラグインを簡単に無効にできますが、通常は yum での潜在的な問題を診断する時に限り使用することを推奨します。

  • 特定のコマンドで yum プラグインをすべて無効にするには、--noplugins オプションをコマンドに追加します。

    # yum --noplugins update
  • 1 つのコマンドで特定の yum プラグインを無効にするには、--disableplugin=plugin-name オプションをコマンドに追加します。

    # yum update --disableplugin=plugin-name

    plugin-name をプラグインの名前に置き換えます。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。