3.5. システムリポジトリーのオーバーライド
/etc/osbuild-composer/repositories ディレクトリーで、RHEL Image Builder 用のリポジトリーオーバーライドを独自に設定できます。
RHEL 8.5 リリース以前では、リポジトリーオーバーライドの名前は rhel-8.json です。RHEL 8.5 以降、名前はマイナーバージョン (rhel-84.json、rhel-85.json など) も尊重します。
前提条件
- ホストシステムからアクセスできるカスタムリポジトリーがある。
手順
リポジトリーのオーバーライドを保存する
/etc/osbuild-composer/repositories/ディレクトリーを作成します。$ sudo mkdir -p /etc/osbuild-composer/repositoriesRHEL バージョンに対応する名前を使用して、JSON ファイルを作成します。または、配布用のファイルを
/usr/share/osbuild-composer/からコピーして、その内容を変更することもできます。RHEL 8.9 の場合は、
/etc/osbuild-composer/repositories/rhel-89.jsonを使用します。次の構造を JSON ファイルに追加します。次の属性から 1 つだけ文字列形式で指定します。
-
baseurl- リポジトリーのベース URL。 -
metalink- 有効なミラーリポジトリーのリストを含む metalink ファイルの URL。 mirrorlist- 有効なミラーリポジトリーのリストを含む mirrorlist ファイルの URL。gpgkeyやmetadata_expireなどの残りのフィールドはオプションです。以下に例を示します。
{ "x86_64": [ { "name": "baseos", "baseurl": "http://mirror.example.com/composes/released/RHEL-8/8.0/BaseOS/x86_64/os/", "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n (…)", "check_gpg": true } ] }または、
rhel-version.json をRHEL バージョンに置き換えて、ディストリビューションの JSON ファイルをコピーすることもできます (例: rhel-8.json)。$ cp /usr/share/osbuild-composer/repositories/rhel-version.json /etc/osbuild-composer/repositories/
-
オプション: JSON ファイルを確認します。
$ json_verify < /etc/osbuild-composer/repositories/rhel-version.jsonrhel-8.jsonファイル内のbaseurlパスを編集して保存します。以下に例を示します。$ /etc/osbuild-composer/repositories/rhel-version.jsonosbuild-composer.serviceを再起動します。$ sudo systemctl restart osbuild-composer.service
検証
リポジトリーが正しい URL を指しているか確認します。
$ cat /etc/yum.repos.d/redhat.repoリポジトリーは
/etc/yum.repos.d/redhat.repoファイルからコピーされた正しい URL を指していることが分かります。