機械翻訳について

B ブループリント形式

ブループリントの内容は、基本メタデータ情報、パッケージ情報およびカスタマイズからなります。

ブループリントは、Image Builderのカスタム・イメージの仕様を提供します。 一般的なブループリント・ファイルの要素は次のとおりです: 1)基本メタデータ、2)パッケージ情報、3)カスタマイズ。 ブループリント内のすべての構成エントリは、parameter = "value"の形式を使用して定義します。

メタデータおよびパッケージ情報は、ブループリントのルートで定義されます。

基本メタデータ

ブループリントのメタデータでは、そのブループリント自体についての一般情報が提供されます。 メタデータは、ファイルの上部に入力され、次のもので構成されます:

  • name: ブループリントの名前(必須)。

  • description: ブループリントの説明(オプション)。

  • version: ブループリントのバージョン番号(必須)。 このバージョンは、https://semver.org/にあるセマンティック・バージョニング・スキームに従ってます。

  • distro: イメージの基になるImage Builderリポジトリ内の必要なdistro (オプション)。 distro値が空の場合、イメージはホスト・イメージのdistroに基づきます。

name = "myblueprint"
        description = "My Blueprint"
        version = "0.0.2"
        distro = "ol-10"

パッケージ情報

パッケージ情報とは、パッケージ、モジュール、コンテナおよびグループのリストを示す総称です。 各エントリには、[[heading]]という形式で、対応する見出しがあります。

各見出しの下のパラメータは、その見出しで説明されている内容によって異なります。 たとえば、パッケージとモジュールのリストには、パッケージの名前とバージョンが必要です。 このバージョンの形式は、dnfバージョン仕様に従っています。 たとえば、メジャー・リリースのバージョンは、n.n.nのように指定します(8.7.0など)。 最新のパッケージ・バージョンを指定するには、バージョン番号のかわりにアスタリスク(*)を入力します。 マイナー・リリースの場合は、major-number.*と入力します(8.*など)。

コンテナとグループでは、異なる情報が必要となり、異なるパラメータが使用されます。 各パッケージ、モジュール、コンテナ、またはグループ・リストには、次の例で示すように、それ固有の見出しが必要です:

[[packages]]
name = "tmux"
version = "3.5"

[[packages]]
name = "python3"
version = "3.9.18"

[[groups]]
name = "graphical-admin-tools"
  • パッケージ: [[packages]]ブロックで定義されます。 各エントリには、パッケージ名とバージョンが必要です。

  • パッケージ・グループ: [[groups]]ブロックで定義されます。 各エントリには、パッケージ・グループの名前のみが必要です。

ノート:

パッケージ・グループは、一連の関連パッケージであり、リポジトリにそのように定義されます。 このため、パッケージ・グループには、個別のパッケージと区別するために独自のブループリント見出し[[groups]]があります。

カスタマイズ

カスタマイズには、パッケージに関連付けられていないイメージのその他の仕様が含まれています。 たとえば、ユーザー、グループ、キーなどです。

カスタマイズは、見出し[customizations]の下に定義し、より詳細なカスタマイズでは、見出しにキーワードを追加して識別しやすいようにします([[customizations.locale]]など)。 カスタマイズには、通常は、パッケージ情報エントリより多くのパラメータが含まれています。

次の例では、イメージのホスト名、ロケール、タイムゾーンおよびグループに関するカスタマイズを示します。

[customizations]
hostname = "system1"

[[customizations.locale]]
languages = ["en_GB.utf8"]
keyboard = "gb"

[[customizations.timezone]]
timezone = "Europe/Dublin"
ntpservers = ["uk.pool.ntp.org"]

[[customizations.group]]
name = "students"

定義できるその他のカスタム・エントリとしては、次のものがあります:

  • ユーザー: ユーザーの名前、ホーム・ディレクトリ、ユーザーのデフォルト・シェル、そのユーザーが割り当てられているグループなど、特定のユーザー・アカウントに適用される必要なすべての詳細が含まれます。

  • SSH鍵: 特定のユーザーの名前と、そのユーザー用に作成する公開SSH鍵が含まれます。 この鍵は、そのユーザーのauthorized_keysファイルに追加されます。

  • カーネル: ブートローダーのコマンドラインに追加する引数が含まれます。

  • ファイアウォール・ポート: 開くポートのリストが含まれます。 ポートは、port:protocolという形式を使用して指定します(たとえば、22:tcp)。

  • ファイアウォール・サービス: そのイメージに対して有効化および無効化するサービスのリストを含む、別個のリスト。 有効化または無効化できるサービスを特定するには、firewall-cmd --get-servicesコマンドを実行します。

  • Systemdサービス: ファイアウォール・サービスと同様に、このエントリには、イメージに対して有効化および無効化するsystemdサービスのリストが含まれます。

前述のリストは一部です。 ブループリント・エントリをすべて示すリストは、https://osbuild.org/docs/user-guide/blueprint-reference/を参照してください。