異なるYumリポジトリへのサブスクライブ

Oracle Linuxの異なるyumリポジトリにサブスクライブします。

Oracle Linuxでは、yumを通じてメンテナンスされるリリース・パッケージとして利用可能なモジュラyumリポジトリ構成ファイルを使用します。リリース・パッケージはリポジトリ管理を簡略化し、システムを更新するたびにyumリポジトリの定義が自動的に最新の状態に維持されるようにします。

すべてのOracle Linuxシステムでは、デフォルトでoraclelinux-release-elnパッケージがインストールされます。このパッケージには、Oracle Linuxシステムで一般的なOSソフトウェア・パッケージをインストールできるようにするために必要なすべてのリポジトリにアクセスするためのコア・リポジトリ構成と、他のyumリポジトリ構成を取得するために使用される他のリリース・パッケージが含まれています。

特定のソフトウェア・セットに応じたyumリポジトリ構成をインストールするには、dnfコマンドを使用して対応するパッケージをインストールします。

  1. 使用可能なリリース構成パッケージをリストします。
    yumリポジトリ構成を管理するための使用可能なRPMファイルのリストを表示するには、次のコマンドを実行します。
    dnf list "*release-el10*"
    dnf list "*release-el9*"
    dnf list "*release-el8*"
  2. 必要なyumリポジトリ構成パッケージをインストールします。
    dnfコマンドを使用して、必要なyumリポジトリ構成に対応するパッケージをインストールします。たとえば、開発者リリース・ソフトウェアの使用可能なyum構成をOracle Linuxにインストールするには、次を実行します:
    sudo dnf install oraclelinux-developer-release-el10
    sudo dnf install oraclelinux-developer-release-el9
    sudo dnf install oraclelinux-developer-release-el8

Yumリポジトリ構成ファイルの編集

DNFは、yumリポジトリ構成ファイルを使用して、各種のパッケージとその依存関係のインストール元を構成します。デフォルトでは、リポジトリ構成ファイルは/etc/yum.repos.dディレクトリに格納されます。リポジトリ構成を格納する別のディレクトリの場所を定義するには、dnf.confファイルにreposdirディレクティブを設定します。

このリポジトリ・ディレクトリを使用して、使用可能にするリポジトリの.repoファイルを定義します。.repoファイルには、複数のyumリポジトリのエントリを含めることができます。リポジトリをサブスクライブするには、enabledオプションの値を1に編集して、構成ファイルを保存します。この変更はすぐに反映されます。

次の表で、リポジトリの基本ディレクティブについて説明します。リポジトリ・ファイルに現れるその他のディレクティブは、DNF構成ファイル[main]セクションにあるグローバル定義をオーバーライドします。詳細は、dnf.conf(5)マニュアル・ページを参照してください。

ディレクティブ 説明
baseurl リポジトリの場所(file://ftp://http://、またはhttps://アドレスとして表現)。このディレクティブは指定する必要があります。
enabled dnfがリポジトリを使用できるようにするかどうか。リポジトリを有効にする場合は値を1に、リポジトリを無効にする場合は0に設定します。
name リポジトリ・チャネルのわかりやすい名前。このディレクティブは指定する必要があります。

次のリストは、.repo構成ファイルのリポジトリ・セクションの例を示しています。

[ol10_appstream]
name=Oracle Linux $releasever Application Stream ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL10/appstream/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

この例では、gpgkeyおよびgpgcheckの値が任意のグローバル設定をオーバーライドします。dnfは、変数$basearchを現在のシステムのアーキテクチャ名で置換します。

次のリストは、.repo構成ファイルのリポジトリ・セクションの例を示しています。

[ol9_appstream]
name=Oracle Linux $releasever Application Stream ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL9/appstream/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

この例では、gpgkeyおよびgpgcheckの値が任意のグローバル設定をオーバーライドします。dnfは、変数$basearchを現在のシステムのアーキテクチャ名で置換します。

次のリストは、.repo構成ファイルのリポジトリ・セクションの例を示しています。

[ol8_appstream]
name=Oracle Linux $releasever Application Stream ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL8/appstream/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

この例では、gpgkeyおよびgpgcheckの値が任意のグローバル設定をオーバーライドします。dnfは、変数$basearchを現在のシステムのアーキテクチャ名で置換します。

リージョナルYumサーバー・リポジトリへのコンピュート・インスタンス・アクセスの構成

Oracle Cloud Infrastructure (OCI)のコンピュート・インスタンスは、サービス・ゲートウェイを通じてリージョナルyumサーバーにアクセスできます。リポジトリのベースURLは、使用するリージョン・サーバーの定義に$ociregion変数を使用し、yumサーバーが配置されているドメインの定義に$ocidomain変数を使用します。変数を使用すると、Oracle Linuxデプロイメント全体での構成の標準をある程度維持しながら、OCIの顧客が利用できる追加のリソースへのアクセスが提供されます。

たとえば、Oracle Linux 8のol8_baseos_latestリポジトリのベースURLは次のとおりです。

baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/baseos/latest/$basearch

$ociregion変数は、/etc/dnf/vars/ociregionの内容を移入することで設定できます。たとえば、$ociregion-phxに設定されると、ベースURLはフェニックスのリージョナルyumを指すように拡張されます。

通常、インスタンスの作成時に、この値はOCIサービス・ネットワーク上の最近接リージョナルyumサーバーをポイントするように設定されます。/etc/dnf/vars/ociregionファイルが存在しない場合やファイルが空の場合、ベースURLは一般に公開可能なOracle Linux yumサーバーをポイントします。

DNF config-managerプラグインの使用

dnf config-managerプラグインは、DNF構成およびyumリポジトリの管理に使用されます。

dnf-plugins-coreパッケージには、構成の管理と既存の構成に更新を安全に適用するために役立つ複数のユーティリティが含まれています。これらのユーティリティの最も重要なものは、DNF構成の編集および管理に使用できるdnf config-managerプラグインです。

次のオプションを使用できます。

--add-repo url

dnf config-managerを使用すると、指定したURLまたは指定したリポジトリ・ファイル内のリポジトリを追加できます。たとえば、リモート・サーバーでホストされているOracle Linux用のリポジトリ構成ファイルを追加するには、次のコマンドを実行します。

sudo dnf config-manager --add-repo https://example.com/my_yum_config.repo

同じコマンドを使用して、リポジトリがホストされているURLを指定すると、有効なyumリポジトリのリポジトリ構成ファイルを自動的に生成することもできます。たとえば、サンプル・リポジトリ用の/etc/repos.dに構成ファイルを作成するには、次のコマンドを実行します。

sudo dnf config-manager --add-repo https://example.com/repo/el-release/myrepo/x86_64
--enable repo_name

リポジトリを有効にする場合は、--enableオプションを使用します。たとえば、myrepoという名前のリポジトリを有効化する場合は、次のコマンドを実行します。

sudo dnf config-manager --enable myrepo
--disable repo_name

リポジトリを無効にするには、--enableオプションを使用します。たとえば、myrepoという名前のリポジトリを無効にするには、次のコマンドを実行します:

sudo dnf config-manager --disable myrepo
--setopt option=value

--setoptオプションを使用して、構成オプションを指定された値に設定します。たとえば、myrepoという名前のリポジトリのGPGキー検証を無効にするには、次のコマンドを実行します:

sudo dnf config-manager --save --setopt=gpgcheck=0 myrepo
--saveオプションは、--setoptとともに使用されることが多いため、値が構成に保存されます。
--save

現在の構成を保存します。

--dump

現在のDNF構成を表示するには、--dumpオプションを使用して構成をstdoutに出力します。

詳細は、dnf.plugin.config_manager(8)マニュアル・ページを参照してください。

ベースYumリポジトリ構成のリカバリ方法

このタスクは、システムの基本リポジトリ構成が破損しているか、失われている場合に実行します。
  1. /etc/yum.repos.d/temp_base.repoに一時リポジトリ構成ファイルを作成し、システムのOSバージョンに対応するエントリをファイルに移入します。

    Oracle Linux 10の場合:

    sudo tee /etc/yum.repos.d/temp_base.repo <<EOF
    [ol10_baseos_latest]
    name=Oracle Linux 10 BaseOS Latest (\$basearch)
    baseurl=https://yum\$ociregion.\$ocidomain/repo/OracleLinux/OL10/baseos/latest/\$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
    gpgcheck=1
    enabled=1
    EOF

    Oracle Linux 9の場合:

    sudo tee /etc/yum.repos.d/temp_base.repo <<EOF
    [ol9_baseos_latest]
    name=Oracle Linux 9 BaseOS Latest (\$basearch)
    baseurl=https://yum\$ociregion.\$ocidomain/repo/OracleLinux/OL9/baseos/latest/\$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
    gpgcheck=1
    EOF

    Oracle Linux 8の場合:

    sudo tee /etc/yum.repos.d/temp_base.repo <<EOF
    [ol8_baseos_latest]
    name=Oracle Linux 8 BaseOS Latest (\$basearch)
    baseurl=https://yum\$ociregion.\$ocidomain/repo/OracleLinux/OL8/baseos/latest/\$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
    gpgcheck=1
    enabled=1
    EOF
  2. システムのOSバージョンの必要なリリース・パッケージを再インストールして、標準のyumリポジトリ構成を設定します。
    sudo dnf reinstall oraclelinux-release-ol10
    sudo dnf reinstall oraclelinux-release-ol9
    sudo dnf reinstall oraclelinux-release-ol8
  3. リカバリが成功したことを確認します。
    ls /etc/yum.repos.d/oraclelinux-release-ol10
    ls /etc/yum.repos.d/oraclelinux-release-ol9
    ls /etc/yum.repos.d/oraclelinux-release-ol8
  4. 一時構成ファイルを削除します。
    rm /etc/yum.repos.d/temp_base.repo
  5. 他の必要なリリース・パッケージを再インストールして、正しいリポジトリ構成を取得します。
    sudo dnf reinstall repository
  6. 必要なリポジトリを有効にします。
    sudo dnf config-manager --enable repository