3.7. サポートされているイメージのカスタマイズ

現在、多くのイメージを Blueprint でカスタマイズできます。このオプションを使用できるようにするには、最初に Blueprint で設定し、Image Builder にインポート (プッシュ) する必要があります。

注記

このようなカスタマイズは、現在、添付の cockpit-composer GUI ではサポートされていません。

イメージのホスト名の設定
[customizations]
hostname = "baseimage"
作成されるシステムイメージに対するユーザー指定
[[customizations.user]]
name = "USER-NAME"
description = "USER-DESCRIPTION"
password = "PASSWORD-HASH"
key = "PUBLIC-SSH-KEY"
home = "/home/USER-NAME/"
shell = "/usr/bin/bash"
groups = ["users", "wheel"]
uid = NUMBER
gid = NUMBER
重要

ハッシュを生成する場合は、システムに python3 をインストールする必要があります。以下のコマンドで、python3 パッケージをインストールします。

# yum install python3

PASSWORD-HASH を、パスワードハッシュに置き換えます。ハッシュを生成するには、次のようなコマンドを実行します。

$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'

PUBLIC-SSH-KEY を、実際の公開鍵に置き換えます。

その他のプレースホルダーを、適切な値に置き換えます。

必要に応じて任意の行を省略します。ユーザー名のみが必須となります。

追加するすべてのユーザーにこのブロックを繰り返します。

作成されるシステムイメージに対するグループ指定
[[customizations.group]]
name = "GROUP-NAME"
gid = NUMBER

追加するすべてのグループにこのブロックを繰り返します。

既存ユーザーの SSH 鍵の設定
[[customizations.sshkey]]
user = "root"
key = "PUBLIC-SSH-KEY"
注記

このオプションは、既存ユーザーにのみ適用されます。ユーザーを作成して ssh 鍵を設定するには、作成されたシステムイメージのカスタマイズのユーザー仕様 を使用します。

デフォルトにカーネルの起動パラメーターオプションを追加
[customizations.kernel]
append = "KERNEL-OPTION"
イメージのホスト名の設定
[customizations]
hostname = "BASE-IMAGE"
作成されるシステムイメージのグループを追加
[[customizations.group]]
name = "USER-NAME"
gid = "NUMBER"

名前のみが必要であり、GID は任意です。

作成されたシステムイメージにタイムゾーンおよび Network Time Protocol (NTP) サーバーを設定
[customizations.timezone]
timezone = "TIMEZONE"
ntpservers = "NTP_SERVER"

タイムゾーンを設定しないと、システムはデフォルトとして Universal Time, Coordinated (UTC) を使用します。NTP サーバーの設定はオプションです。

作成されたシステムイメージのロケール設定
[customizations.locale]
language = "[LANGUAGE]"
keyboard = "KEYBOARD"

言語とキーボードの両方のオプションを設定することが必要です。複数の言語を追加できます。最初に追加する言語はプライマリー言語で、他の言語はセカンダリーになります。

作成されたシステムイメージのファイアウォールを設定
[customizations.firewall]
port = "[PORTS]"

/etc/services ファイルの数値ポートまたは名前を使用して、一覧を有効または無効にすることができます。

システムの起動時に有効にするサービスの設定
[customizations.services]
enabled = "[SERVICES]"
disabled = "[SERVICES]"

システムの起動時に有効にするサービスを制御することができます。イメージタイプによっては、サービスがすでに有効または無効になっているため、イメージが正常に機能し、この設定はオーバーライドできません。

Git リポジトリーから Blueprint へのファイルの追加
[[repos.git]]
rpmname = "_RPM-NAME"
rpmversion = "[RPM-VERSION]"
rpmrelease = "[RPM-RELEASE]"
summary = "[RPM-SUMMARY]"
repo = "[REPO-URL]"
ref = "[GIT-REF]"
destination = "[SERVICES]"

エントリーを使用して、git リポジトリーから作成されたイメージにファイルを追加できます。

たとえば、server-config-1.0-1.noarch.rpm という名前の RPM パッケージを作成するには、Blueprint に以下の情報を追加します。

_RPM-NAME を、作成する RPM パッケージの名前に置き換えます。これは、生成される tar アーカイブの接頭辞名でもあります。

RPM-VERSION を、RPM パッケージのバージョン (「1.0.0」など) に置き換えます。

RPM-RELEASE は、RPM パッケージリリースのバージョンに置き換えます (「1」など)。

RPM-SUMMARY は、RPM パッケージの要約文字列に置き換えます。

REPO-URL を、クローンを作成する get リポジトリーの URL に置き換え、そこからアーカイブを作成します。

GIT-REF を git 参照に置き換え、たとえば origin/branch-namegit tag、または git commit hash を確認します。

RPM パッケージのインストール時に、SERVICES を git リポジトリーのディレクトリーをインストールするパスに置き換えます。

これにより、指定した git リポジトリーがクローンされ、指定された git 参照が確認され、ファイルを宛先パス (/opt/server/ など) にインストールする RPM パッケージが作成されます。RPM には、リポジトリーの詳細と、リポジトリーの作成に使用する参照に関するサマリーが含まれます。RPM パッケージは、イメージビルドのメタデータにも含まれています。

注記

ビルドが起動するたびに、リポジトリーのクローンが作成されます。大量の履歴が含まれるリポジトリーを参照する場合は、大量のディスク領域のクローンを作成して使用するのに時間がかかる場合があります。また、クローンは一時的なもので、RPM パッケージが作成されると削除されます。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。