2 Oracle Linux Yumサーバーを使用するためのシステムの構成
dnf.conf
ファイルで、グローバル構成オプションを定義します。その後で、.repo
ファイルを編集または作成して、サブスクライブするリポジトリを定義します。
グローバルDNF構成設定の構成
/etc/dnf/dnf.conf
のmain構成を編集します。DNFのグローバル定義は、DNF構成ファイルの[main]
セクション・ヘッダーの下側にあります。次の表に、DNFの主要なディレクティブを示します。
ノート:
下位互換性のために、/etc/dnf/dnf.conf
へのシンボリック・リンクが/etc/yum.conf
に作成されます。構成の構文は全般的には同じですが、非推奨になった構成オプションや新しく追加された構成オプションもあります。構成オプションと構文の違いの詳細は、『Oracle Linux 8: リリース・ノートfor Oracle Linux 8』を参照してください。
詳細は、dnf.conf(5)
マニュアル・ページを参照してください。
ディレクティブ | 説明 |
---|---|
cachedir
|
ダウンロードしたパッケージを格納するためのディレクトリ。 |
debuglevel
|
0 (なし)から10 (すべて)までのロギング・レベル。 |
exclude
|
インストールまたは更新から除外するパッケージのスペース区切りのリスト。例: exclude=VirtualBox-4.? kernel*
|
gpgcheck
|
1に設定すると、GPG署名を確認することでパッケージの真正性を検証できます。パッケージが未署名の場合、gpgcheck を0に設定する必要がありますが、悪意のあるユーザーによってパッケージが改変されている可能性にも注意してください。
|
gpgkey
|
GPG公開キー・ファイルへのパス。 |
installonly_limit
|
インストール可能ないずれかのパッケージのバージョンの最大数。 |
keepcache
|
0に設定すると、インストール後にパッケージが削除されます。 |
logfile
|
yumログ・ファイルへのパス。 |
obsoletes
|
1に設定すると、アップグレード中に古いパッケージが置換されます。 |
plugins
|
1に設定すると、yumの機能を拡張するプラグインが有効になります。 |
proxy
|
ポート番号を含むプロキシ・サーバーのURL。「Yumサーバーでプロキシを使用するためのシステムの構成」を参照してください |
proxy_password
|
プロキシ・サーバーでの認証パスワード。 |
proxy_username
|
プロキシ・サーバーでの認証ユーザー名。 |
reposdir
|
yumが.repo 拡張子付きのリポジトリ・ファイルを検索するディレクトリ。デフォルト・ディレクトリは/etc/yum.repos.d です。「異なるYumリポジトリへのサブスクライブ」を参照してください。
|
[main]構成の例
次のリストに、DNF構成ファイルの[main]
セクションの例を示します。
[main] cachedir=/var/cache/dnf keepcache=0 debuglevel=2 logfile=/var/log/dnf.log obsoletes=1 gpgkey=file://media/RPM-GPG-KEY gpgcheck=1 plugins=1 installonly_limit=3
Yumサーバーでプロキシを使用するためのシステムの構成
組織でインターネット・アクセスの仲介手段としてプロキシ・サーバーを使用している場合は、次の例に示すように、/etc/dnf/dnf.conf
でproxy
設定を指定します。
proxy=http://proxysvr.example.com:3128
プロキシ・サーバーで認証が要求される場合は、さらに、proxy_username
およびproxy_password
の設定を次のように指定します。
proxy=http://proxysvr.example.com:3128 proxy_username=user proxy_password=password
注意:
すべてのdnfユーザーに、/etc/dnf/dnf.conf
または/etc/sysconfig/rhn/up2date
への読取りアクセスが必要です。このファイルをどこからでも読み取れるようにする必要がある場合、ユーザーのログイン・パスワード、特にroot
sパスワードと同じパスワードを使用しないでください。
ファイアウォールを通じたOracle Linux Yumサーバーへのアクセスの構成
Oracle Linux yumサーバーは、コンテンツ配信ネットワーク(CDN)を通じてコンテンツを配信します。Oracle Linux yumサーバーに接続すると、接続元のシステムと地理的に近いCDNのノードに接続します。CDNを使用することで、一般にダウンロード速度が速くなります。
CDNには、世界中の異なるネットワークに配置された多数のノードがあるため、エグレス・ファイアウォール・ルールに構成できる単一のIPアドレスやネットワーク範囲は存在しません。
システムのアウトバウンド接続を制限する厳格なファイアウォール・ポリシーが存在する環境では、非武装地帯(DMZ)内にローカルyumミラー・サーバーを構成することをお薦めします。ローカルyumミラーの構成方法の詳細は、「ローカルYumミラーの設定と使用」を参照してください。
異なるYumリポジトリへのサブスクライブ
Oracle Linuxでは、yumを通じてメンテナンスされるリリース・パッケージとして利用可能なモジュラyumリポジトリ構成ファイルを使用します。リリース・パッケージは、リポジトリ管理の簡略化に役立ちます。また、システムを更新するたびにyumリポジトリの定義が自動的に最新に保たれるようにするためにも役立ちます。
すべてのOracle Linuxシステムでは、デフォルトでoraclelinux-release-el8
パッケージがインストールされます。このパッケージには、Oracle Linuxシステムで一般的なオペレーティング・システム・ソフトウェア・パッケージをインストールできるようにするために必要なすべてのリポジトリにアクセスするためのコア・リポジトリ構成と、追加のyumリポジトリ構成を取得するために使用されるその他のリリース・パッケージが含まれています。
ご使用のリリースに対応するすべてのyumリポジトリ構成を管理するために利用可能なすべてのRPMファイルのリストは、次のコマンドを実行することで取得できます。このnは、-el8
などのRPMファイルのOracle Linuxリリース・バージョンです。
dnf list "*release-eln*"
使用する特定のソフトウェア・セットに応じたyumリポジトリ構成をインストールするには、dnfコマンドを使用して対応するパッケージをインストールします。
Yumリポジトリ構成ファイルの編集
DNFは、yumリポジトリ構成ファイルを使用して、各種のパッケージとその依存関係のインストール元を特定します。デフォルトでは、dnf.confファイルでreposdir
ディレクティブを使用して代理のディレクトリを定義していないかぎり、dnfは、リポジトリ構成ファイルが/etc/yum.repos.d
ディレクトリにあるものと想定します。
このリポジトリ・ディレクトリを使用して、使用可能にするリポジトリの.repo
ファイルを定義します。.repo
ファイルには、複数のyumリポジトリのエントリを含めることができます。リポジトリをサブスクライブするには、enabled
オプションの値を1
に編集して、構成ファイルを保存します。この変更はすぐに反映されます。
次の表で、リポジトリの基本ディレクティブについて説明します。リポジトリ・ファイルに現れるその他のディレクティブは、DNF構成ファイルの[main]
セクションにあるグローバル定義をオーバーライドします。詳細は、dnf.conf(5)
マニュアル・ページを参照してください。
ディレクティブ | 説明 |
---|---|
baseurl
|
リポジトリ・チャネルの場所(file:// 、ftp:// 、http:// 、またはhttps:// アドレスとして表現)。このディレクティブは指定する必要があります。
|
enabled
|
1に設定すると、yumでチャネルを使用できます。 |
name
|
リポジトリ・チャネルのわかりやすい名前。このディレクティブは指定する必要があります。 |
リポジトリのリスト例
次のリストは、.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のコンピュート・インスタンスは、サービス・ゲートウェイ経由でリージョナルyumサーバーにアクセスできます。リポジトリのbaseurlは、どのリージョナル・サーバーを使用するかの定義に$ociregion
変数を使用し、yumサーバーが配置されているドメインの定義に$ocidomain変数を使用します。変数を使用すると、Oracle Linuxデプロイメント全体での構成の標準をある程度維持しながら、Oracle Cloud Infrastructureの顧客が利用できる追加のリソースへのアクセスが提供されます。
たとえば、Oracle Linux 8のol8_baseos_latest
リポジトリのbaseurlは、次のとおりです。
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/baseos/latest/$basearch
$ociregion
変数は、/etc/dnf/vars/ociregion
の内容を移入することで設定できます。たとえば、$ociregion
が-phx
に設定されると、baseurlはフェニックスのリージョナルyumを指すように拡張されます。
通常、インスタンスの作成時に、この変数はOracle Cloud Infrastructureサービス・ネットワーク上の最近接リージョナルyumサーバーをポイントするように設定されます。/etc/dnf/vars/ociregion
ファイルが存在しない場合やファイルが空の場合、baseurlはパブリック・アクセスが可能なOracle Linux yumサーバーをポイントします。
DNF config-managerプラグインの使用
dnf-plugins-core
パッケージには、構成の管理と既存の構成に更新を安全に適用するために役立つ複数のユーティリティが含まれています。これらのユーティリティのうち最も重要なものは、dnf config-managerプラグインです。
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/OracleLinux/ol-release/myrepo/x86_64
dnf config-managerを使用してリポジトリを有効化する場合は、--enable
オプションを使用します。たとえば、ol8_appstream
リポジトリを有効化するには、次のコマンドを実行します。
sudo dnf config-manager --enable repository
--disable
オプションを使用すると、同様の方法でリポジトリを無効化できます。
また、dnf config-managerツールは、--setopt
および--save
オプションを指定することで、その他の構成オプションを設定する場合にも使用できます。詳細は、dnf.plugin.config_manager(8)
マニュアル・ページを参照してください。
ベースYumリポジトリ構成のリカバリ
なんらかの理由でyumリポジトリ構成のすべてが失われ、リカバリが必要になった場合は、/etc/yum.repos.d/temporary_base.repo
に一時的なyumリポジトリ構成ファイルを作成し、次の構成を移入します。
例2-1 Oracle Linux 9
[ol9_baseos_developer]
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
enabled=1
例2-2 Oracle Linux 8
[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
一時的なベース・リポジトリ構成により、標準yumリポジトリ構成の設定に必要なリリース・パッケージを再インストールするために、ベース・リポジトリにアクセスできます。少なくとも、次のコマンドを実行する必要があります。
sudo dnf reinstall oraclelinux-release-eln
nは、構成するOracle Linuxリリース番号に置き換えます。
/etc/yum.repos.d/temporary_base.repo
を削除します。ls /etc/yum.repos.d/oracle-linux-oln.repo
rm /etc/yum.repos.d/temporary_base.repo
nは、構成するOracle Linuxリリース番号に置き換えます。
この手順の完了後に、その他の適切なリリース・パッケージを必要に応じてインストールまたは再インストールすると正しいリポジトリ構成が得られます。dnf config-managerツールを使用して、必要なすべてのリポジトリを有効にします。
ローカルYumリポジトリを提供するためのISOイメージの使用
ノート:
システムには、Oracle Linuxメディア・パックDVDイメージ全体をホストするために十分な記憶域が存在する必要があります。
ローカルyumリポジトリを作成するには、次の手順を実行します(たとえば、システムでインターネットにアクセスできない場合)。
-
インターネットにアクセスできるシステムで、https://edelivery.oracle.com/linuxにあるOracle Software Delivery Cloudからリムーバブル・ストレージ(USBメモリー・スティックなど)にOracle Linux DVDイメージ全体をダウンロードします。
ノート:
ISOが正常にコピーされたことを確認するには、次のように、そのチェックサムを
edelivery.oracle.com
に表示されているダイジェスト値と比較します。sudo sha1sum OracleLinux.iso 203b8185d8c6551378b41da26b088f23e131343f OracleLinux.iso
-
リムーバブル・ストレージを、ローカルyumリポジトリを作成するシステムに移動し、DVDイメージをローカル・ファイル・システムのディレクトリにコピーします。
sudo cp /media/USB_stick/OracleLinux.iso /ISOs
-
適切なマウント・ポイント(たとえば、
/var/OSimage/OL_x86_64
)を作成し、そこにDVDイメージをマウントします。sudo mkdir -p /var/OSimage/OL_x86_64 sudo mount -o loop,ro /ISOs/OracleLinux.iso /var/OSimage/OL_x86_64
ノート:
読取り専用のマウント・オプション(ro)を含めて、ISOの内容が誤って変更されないようにします。
-
再起動後にシステムで常にDVDイメージがマウントされるように、
/etc/fstab
にエントリを作成します。/ISOs/OracleLinux.iso /var/OSimage/OL_x86_64 iso9660 loop,ro 0 0
-
すべての既存のyumリポジトリを無効にします。
/etc/yum.repos.d
ディレクトリで、すべてのエントリを無効化します。sudo dnf config-manager --disable \*
-
新しいリポジトリ・ファイル(たとえば、
/etc/yum.repos.d/OL.repo
)に、次のエントリを作成します。次に例を示します。[OL_BaseOS] name=Oracle Linux x86_64 ISO BaseOS baseurl=file:///var/OSimage/OL_x86_64/BaseOS gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1 [OL_AppStream] name=Oracle Linux x86_64 ISO AppStream baseurl=file:///var/OSimage/OL_x86_64/AppStream gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1
正しいGPGキー・ファイルは、
gpgkey
パラメータで指定したパスに存在する必要があります。すべてのOracle Linuxリリース・パッケージの署名に使用されるGPGキーはOracle Linux yumサーバーからダウンロードできますが、このキーはISO自体でも提供されます。詳細は、https://yum.oracle.com/faq.html#a10を参照してください。 -
dnfキャッシュをクリーン・アップします。
sudo dnf clean all
-
dnfコマンドを使用してリポジトリにアクセスできるかどうかをテストします。
sudo dnf repolist Loaded plugins: refresh-packagekit, security ... repo id repo name status OL_AppStream Oracle Linux x86_64 ISO AppStream 5,783 OL_BaseOS Oracle Linux x86_64 ISO BaseOS 1,697 repolist: 7,480