4.3. コマンドラインインターフェイスを使用したブループリントの作成
コマンドラインインターフェイス (CLI) を使用して、新しい RHEL Image Builder ブループリントを作成できます。ブループリントには、最終的なイメージと、パッケージやカーネルのカスタマイズなどのそのカスタマイズが記述されています。
前提条件
- root ユーザーまたは welder グループのメンバーであるユーザーとしてログインしている。
手順
次の内容のプレーンテキストファイルを作成します。
name = "BLUEPRINT-NAME" description = "LONG FORM DESCRIPTION TEXT" version = "0.0.1" modules = [] groups = []
BLUEPRINT-NAME および LONG FORM DESCRIPTION TEXT は、ブループリントの名前および説明に置き換えます。
0.0.1 は、セマンティックバージョニングスキームに従ってバージョン番号に置き換えます。
ブループリントに含まれるすべてのパッケージに、次の行をファイルに追加します。
[[packages]] name = "package-name" version = "package-version"
package-name は、パッケージ名 (httpd、gdb-doc、coreutils など) に置き換えます。
必要に応じて、package-version を使用するバージョンに置き換えます。このフィールドは、
dnf
バージョンの指定に対応します。- 特定のバージョンについては、8.7.0 などの正確なバージョン番号を使用してください。
- 利用可能な最新バージョンについては、アスタリスク * を使用してください。
- 最新のマイナーバージョンを指定する場合は、8.* などの形式を使用してください。
ニーズに合わせてブループリントをカスタマイズします。たとえば、Simultaneous Multi Threading (SMT) を無効にするには、ブループリントファイルに次の行を追加します。
[customizations.kernel] append = "nosmt=force"
その他に利用できるカスタマイズについては、サポートされているイメージのカスタマイズ を参照してください。
- たとえば、ファイルを BLUEPRINT-NAME.toml として保存し、テキストエディターを閉じます。
ブループリントをプッシュします。
# composer-cli blueprints push BLUEPRINT-NAME.toml
BLUEPRINT-NAME は、前の手順で使用した値に置き換えます。
注記composer-cli
を非 root として使用してイメージを作成するには、ユーザーをweldr
またはroot
グループに追加します。# usermod -a -G weldr user $ newgrp weldr
検証
ブループリントがプッシュされ存在していることを確認するには、既存のブループリントを一覧表示します。
# composer-cli blueprints list
追加したばかりのブループリント設定を表示します。
# composer-cli blueprints show BLUEPRINT-NAME
ブループリントに記載されているコンポーネントおよびバージョンと、その依存関係が有効かどうかを確認します。
# composer-cli blueprints depsolve BLUEPRINT-NAME
RHEL Image Builder がカスタムリポジトリーのパッケージの依存関係を解決できない場合は、
osbuild-composer
キャッシュを削除します。3$ sudo rm -rf /var/cache/osbuild-composer/* $ sudo systemctl restart osbuild-composer