3.2. システムリポジトリーのオーバーライド
次の手順で、/etc/osbuild-composer/repositories
ディレクトリーの Image Builder にリポジトリーのオーバーライドを設定できます。
RHEL 8.5 リリース以前では、リポジトリーオーバーライドの名前は rhel-8.json
です。RHEL 8.5 以降、名前はマイナーバージョン (rhel-84.json
、rhel-85.json
など) も尊重します。
前提条件
- ホストシステムからアクセスできるカスタムリポジトリーがあります
手順
リポジトリーのオーバーライドを保存するディレクトリーを作成します。
$ sudo mkdir -p /etc/osbuild-composer/repositories
- 独自の JSON ファイル構造を作成できます。
RHEL バージョンに対応する名前を使用して、JSON ファイルを作成します。または、配布用のファイルを
/usr/share/osbuild-composer/
からコピーして、その内容を変更することもできます。RHEL 8 の場合は、
/etc/osbuild-composer/repositories/rhel-87.json
を使用します。次の例のような構造を JSON ファイルに追加します。
{ "<ARCH>": [ { "name": "baseos", "metalink": "", "baseurl": "http://mirror.example.com/composes/released/RHEL-8/8.0/BaseOS/x86_64/os/", "mirrorlist": ["url1","url2",…,"urln"], "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n (…)", "check_gpg": true, "metadata_expire": "" } ] }
次の属性から 1 つだけ指定します。
-
metalink
- リポジトリーリンクの可用性とエラー修正を向上させます。 -
mirrorlist
- パッケージリポジトリーを指す URL のリスト。 baseurl
- インストールに必要なパッケージを含むリポジトリーへのリンク。残りのフィールドは任意です。
または、ディストリビューションの JSON ファイルをコピーできます。
作成したディレクトリーにリポジトリーファイルをコピーします。次のコマンドで、
rhel-version.json
をご使用の RHEL バージョン (例: rhel-8.json) に置き換えます。$ cp /usr/share/osbuild-composer/repositories/rhel-version.json /etc/osbuild-composer/repositories/
-
テキストエディターを使用して、
rhel-8.json
ファイルのbaseurl
パスを編集し、保存します。以下に例を示します。$ vi /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 を指していることが分かります。