3.5. システムリポジトリーのオーバーライド
/etc/osbuild-composer/repositories
ディレクトリーで、RHEL Image Builder 用のリポジトリーオーバーライドを独自に設定できます。
前提条件
- ホストシステムからアクセスできるカスタムリポジトリーがある。
手順
リポジトリーのオーバーライドを保存する
/etc/osbuild-composer/repositories/
ディレクトリーを作成します。$ sudo mkdir -p /etc/osbuild-composer/repositories
RHEL バージョンに対応する名前を使用して、JSON ファイルを作成します。または、配布用のファイルを
/usr/share/osbuild-composer/
からコピーして、その内容を変更することもできます。RHEL 9.3 の場合は、
/etc/osbuild-composer/repositories/rhel-93.json
を使用します。次の構造を JSON ファイルに追加します。次の属性から 1 つだけ文字列形式で指定します。
-
baseurl
- リポジトリーのベース URL。 -
metalink
- 有効なミラーリポジトリーのリストを含む metallink ファイルの 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/<file>.json
rhel-9.json
ファイル内のbaseurl
パスを編集して保存します。以下に例を示します。$ /etc/osbuild-composer/repositories/rhel-version.json
osbuild-composer.service
を再起動します。$ sudo systemctl restart osbuild-composer.service
検証
リポジトリーが正しい URL を指しているか確認します。
$ cat /etc/yum.repos.d/redhat.repo
リポジトリーは
/etc/yum.repos.d/redhat.repo
ファイルからコピーされた正しい URL を指していることが分かります。