3.5. システムリポジトリーのオーバーライド
/etc/osbuild-composer/repositories ディレクトリーで、RHEL Image Builder 用のリポジトリーオーバーライドを独自に設定できます。
前提条件
- ホストシステムからアクセスできるカスタムリポジトリーがある。
手順
リポジトリーのオーバーライドを保存する
/etc/osbuild-composer/repositories/ディレクトリーを作成します。$ sudo mkdir -p /etc/osbuild-composer/repositoriesRHEL バージョンに対応する名前を使用して、JSON ファイルを作成します。または、配布用のファイルを
/usr/share/osbuild-composer/からコピーして、その内容を変更することもできます。RHEL 9.3 の場合は、
/etc/osbuild-composer/repositories/rhel-93.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-9/9.0/BaseOS/x86_64/os/", "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n (…)", "check_gpg": true } ] }あるいは、
rhel-version.jsonを RHEL のバージョン (例: rhel-9.json) に置き換えて、ディストリビューション用の JSON ファイルをコピーすることもできます。$ cp /usr/share/osbuild-composer/repositories/rhel-version.json /etc/osbuild-composer/repositories/
-
オプション: JSON ファイルを確認します。
$ json_verify < /etc/osbuild-composer/repositories/rhel-version.jsonrhel-9.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 を指していることが分かります。