4.3. コマンドラインインターフェイスを使用したブループリントの作成


RHEL Image Builder のコマンドラインインターフェイス (CLI) を使用して、新しいブループリントを作成できます。ブループリントには、最終的なイメージと、パッケージやカーネルのカスタマイズなどのそのカスタマイズが記述されています。

前提条件

  • root ユーザーまたは weldr グループのメンバーであるユーザーとしてログインしている。

手順

  1. 次の内容のプレーンテキストファイルを作成します。

    name = "BLUEPRINT-NAME"
    description = "LONG FORM DESCRIPTION TEXT"
    version = "0.0.1"
    modules = []
    groups = []

    BLUEPRINT-NAME および LONG FORM DESCRIPTION TEXT は、ブループリントの名前および説明に置き換えます。

    0.0.1 は、セマンティックバージョニングスキームに従ってバージョン番号に置き換えます。

  2. ブループリントに含まれるすべてのパッケージに、次の行をファイルに追加します。

    [[packages]]
    name = "package-name"
    version = "package-version"

    package-name は、httpdgdb-doccoreutils などのパッケージ名に置き換えます。

    必要に応じて、package-version を使用するバージョンに置き換えます。このフィールドは、dnf バージョンの指定に対応します。

    • 特定のバージョンについては、8.7.0 などの正確なバージョン番号を使用してください。
    • 利用可能な最新バージョンについては、アスタリスク * を使用してください。
    • 最新のマイナーバージョンを指定する場合は、8.* などの形式を使用してください。
  3. ニーズに合わせてブループリントをカスタマイズします。たとえば、Simultaneous Multi Threading (SMT) を無効にするには、ブループリントファイルに次の行を追加します。

    [customizations.kernel]
    append = "nosmt=force"

    その他に利用できるカスタマイズについては、サポートされているイメージのカスタマイズ を参照してください。

    [][[]] は TOML で表現される異なるデータ構造であることに注意してください。

    • [customizations.kernel] ヘッダーは、キーと各値のペアの集合によって定義される単一のテーブルを表します (例: append = "nosmt=force")。
    • [[packages]] ヘッダーはテーブルの配列を表します。最初のインスタンスで、配列とその最初のテーブル要素を定義します (例: name = "package-name"version = "package-version")。後続の各インスタンスで、指定の順序で、その配列内に新しいテーブル要素を作成して定義します。
  4. たとえば、ファイルを BLUEPRINT-NAME.toml として保存し、テキストエディターを閉じます。
  5. ブループリントをプッシュします。

    # 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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.