検索

7.3. Image Builder コマンドラインインターフェイスを使用したシステムイメージの作成

download PDF

Image Builder は、カスタムのシステムイメージを作成するツールです。Image Builder を制御し、カスタムシステムイメージを作成するには、コマンドラインインターフェイス (CLI) または Web コンソールインターフェイスを使用できます。ただし、現在、Image Builder を使用するには CLI が推奨されます。

7.3.1. Image Builder コマンドラインインターフェイスの紹介

現在、Image Builder コマンドラインインターフェイス (CLI) は、Image Builder を使用するための推奨される方法です。Web コンソールインターフェイスよりも多くの機能を提供します。CLI を使用するには、適切なオプションとサブコマンドを指定して composer-cli コマンドを実行します。

コマンドラインインターフェイスのワークフローの概要は次のようになります。

  1. 平文テキストファイルにブループリント定義をエクスポート (保存) する。
  2. テキストエディターでこのファイルを編集する。
  3. Image Builder でブループリントのテキストファイルをインポート (プッシュ) する。
  4. compose を実行して、ブループリントからイメージを構築する。
  5. イメージファイルをエクスポートして、ダウンロードする。

この手順を実行する基本的なサブコマンドとは別に、composer-cli コマンドには、設定したブループリントと Compose の状態を調べるサブコマンドが多数あります。

composer-cli コマンドを非 root として実行するには、ユーザーは、weldr または root グループに属している必要があります。

  • ユーザーを weldr または root グループに追加するには、次のコマンドを実行します:

    $ sudo usermod -a -G weldr user
    $ newgrp weldr

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

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

前提条件

  • イメージビルダーツールへのアクセス。

手順

  1. 以下の内容で平文テキストファイルを作成します。

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

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

    Semantic Versioning スキームに従って、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"

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

  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

    Image Builder がカスタムリポジトリーからパッケージを解決できない場合は、次の手順に従います。

  • osbuild-composer キャッシュを削除します。

    $ sudo rm -rf /var/cache/osbuild-composer/*
    $ sudo systemctl restart osbuild-composer

7.3.3. コマンドラインインターフェイスで Image Builder のブループリントの編集

コマンドライン (CLI) インターフェイスで既存の Image Builder ブループリントを編集して、たとえば、新しいパッケージを追加したり、新しいグループを定義したり、カスタマイズしたイメージを作成したりできます。そのためには、以下の手順に従います。

前提条件

  • ブループリントを作成している。

手順

  1. ローカルのテキストファイルにブループリントを保存 (エクスポート) します。

    # composer-cli blueprints save BLUEPRINT-NAME
  2. BLUEPRINT-NAME .toml ファイルをテキストエディターで編集し、変更を加えます。
  3. 編集を完了する前に、ファイルが有効なブループリントであることを確認します。

    1. 次の行がある場合は削除します。

      packages = []
    2. たとえば、バージョン番号を 0.0.1 から 0.1.0 に増やします。Image Builder のブループリントバージョンは Semantic Versioning スキームを使用する必要があります。また、バージョンを変更しない場合、パッチバージョンコンポーネントが自動的に増加することにも注意してください。
    3. コンテンツが有効な TOML 仕様かどうかを確認します。詳細は、TOML のドキュメント を参照してください。

      注記

      TOML のドキュメントはコミュニティーが提供しているため、Red Hat のサポート対象外となります。このツールの問題は、https://github.com/toml-lang/toml/issues から報告できます。

  4. ファイルを保存し、テキストエディターを閉じます。
  5. ブループリントを Image Builder にプッシュ (インポート) します。

    # composer-cli blueprints push BLUEPRINT-NAME.toml
    注記

    ブループリントを Image Builder にインポートして戻すには、.toml 拡張子を含むファイル名を指定しますが、他のコマンドではブループリント名のみを使用します。

  6. Image Builder にアップロードしたコンテンツが編集内容と一致することを確認するには、ブループリントのコンテンツの一覧を表示します。

    # composer-cli blueprints show BLUEPRINT-NAME
  7. ブループリントに記載されているコンポーネントおよびバージョンと、その依存関係が有効かどうかを確認します。

    # composer-cli blueprints depsolve BLUEPRINT-NAME

7.3.4. Image Builder コマンドラインインターフェイスでシステムイメージの作成

Image Builder コマンドラインインターフェイスを使用して、カスタムイメージを作成できます。

前提条件

手順

  1. Compose を起動します。

    # composer-cli compose start BLUEPRINT-NAME IMAGE-TYPE

    BLUEPRINT-NAME をブループリントの名前に、IMAGE-TYPE をイメージのタイプに置き換えます。使用可能な値は、composer-cli compose types コマンドの出力を参照してください。

    作成プロセスはバックグラウンドで開始され、作成者の Universally Unique Identifier (UUID) が表示されます。

  2. 作成プロセスが完了するまで待ちます。イメージの作成が完了するまでに最大 10 分かかる場合があります。

    Compose のステータスを確認するには、以下のコマンドを実行します。

    # composer-cli compose status

    終了した設定には、FINISHED ステータス値が表示されます。リストで設定を識別するには、その UUID を使用します。

  3. 作成プロセスが完了したら、結果のイメージファイルをダウンロードします。

    # composer-cli compose image UUID

    UUID は、前の手順で示した UUID 値に置き換えます。

検証

イメージを作成したら、次のコマンドを使用してイメージ作成の進行状況を確認できます。

  • 作成ステータスを確認します。

    $ sudo composer-cli compose status
  • イメージのメタデータをダウンロードします。

    $ sudo composer-cli compose metadata UUID
  • イメージのログをダウンロードします。

    $ sudo composer-cli compose logs UUID

    このコマンドは、イメージ作成のログを含む .tar ファイルを作成します。ログが空の場合は、ジャーナルを確認できます。

  • ジャーナルを確認してください。

    $ journalctl | grep osbuild
  • マニフェストを確認します。

    $ sudo cat /var/lib/osbuild-composer/jobs/job_UUID.json

    ジャーナルで job_UUID .json を見つけることができます。

関連情報

7.3.5. Image Builder コマンドラインの基本的なコマンド

Image Builder コマンドラインインターフェイスでは、以下のサブコマンドを利用できます。

ブループリント操作

利用可能なブループリント一覧の表示
# composer-cli blueprints list
TOML 形式でブループリントの内容の表示
# composer-cli blueprints show BLUEPRINT-NAME
TOML 形式のブループリントの内容を BLUEPRINT-NAME.toml ファイルに保存 (エクスポート)
# composer-cli blueprints save BLUEPRINT-NAME
ブループリントの削除
# composer-cli blueprints delete BLUEPRINT-NAME
TOML 形式のブループリントファイルを Image Builder へプッシュ (インポート)
# composer-cli blueprints push BLUEPRINT-NAME

ブループリントでイメージの設定

利用可能なイメージタイプをリスト表示します。
# composer-cli compose types
Compose の起動
# composer-cli compose start BLUEPRINT COMPOSE-TYPE

BLUEPRINT は、構築するブループリントの名前に、COMPOSE-TYPE は、出力イメージタイプに置き換えます。

Compose のリスト表示
# composer-cli compose list
Compose、およびそのステータスのリスト表示
# composer-cli compose status
実行中の Compose のキャンセル
# composer-cli compose cancel COMPOSE-UUID
完了した Compose の削除
# composer-cli compose delete COMPOSE-UUID
Compose の詳細情報の表示
# composer-cli compose info COMPOSE-UUID
Compose のイメージファイルのダウンロード
# composer-cli compose image COMPOSE-UUID
サブコマンドとオプションをもっと見る
# composer-cli help

関連情報

  • composer-cli(1) man ページ

7.3.6. Image Builder のブループリント形式

Image Builder のブループリントは、TOML 形式のプレーンテキストとしてユーザーに表示されます。

一般的なブループリントファイルの要素には、次のものが含まれます。

ブループリントのメタデータ
name = "BLUEPRINT-NAME"
description = "LONG FORM DESCRIPTION TEXT"
version = "VERSION"

BLUEPRINT-NAME および LONG FORM DESCRIPTION TEXT フィールドは、ブループリントの名前と説明です。

VERSION は、セマンティックバージョニング スキームに従ったバージョン番号です。

この部分は、ブループリントファイル全体に対して 1 回だけ存在します。

modules エントリーには、イメージにインストールされるパッケージの名前とバージョンが一覧表示されます。

group エントリーは、イメージにインストールするパッケージのグループを説明します。グループは、次のパッケージカテゴリーを使用します。

  • 必須
  • デフォルト
  • オプション

    ブループリントは、必須パッケージとデフォルトパッケージをインストールします。オプションパッケージを選択するメカニズムはありません。

イメージに追加するグループ
[[groups]]
name = "group-name"

group-name は、anaconda-toolswidgetwheel または users などのグループの名前です。

イメージに追加するパッケージ
[[packages]]
name = "package-name"
version = "package-version"

package-name は、httpdgdb-doc、または coreutils などのパッケージの名前です。

package-version は使用するバージョンです。このフィールドは、dnf バージョンの指定に対応します。

  • 特定のバージョンについては、8.7.0 などの正確なバージョン番号を使用してください。
  • 利用可能な最新バージョンを指定する場合は、アスタリスク (*) を使用します。
  • 最新のマイナーバージョンの場合は、8.* などの形式を使用します。

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

注記

現在、Image Builder ツールのパッケージとモジュールの間に違いはありません。どちらも RPM パッケージの依存関係として扱われます。

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

ブループリントに追加の RPM パッケージを追加するか、サービスを有効にするか、カーネルコマンドラインパラメーターをカスタマイズすることで、イメージをカスタマイズできます。ブループリント内でいくつかのイメージのカスタマイズを使用できます。これらのオプションを利用するには、最初にブループリントでカスタマイズを設定し、それを Image Builder にインポート (プッシュ) する必要があります。

注記

Web コンソールで Image Builder を使用する場合、これらのカスタマイズはサポートされません。

パッケージグループの選択
[[packages]]
name = "package_group_name"

"package_group_name" は、パッケージグループの名前に置き換えます。たとえば、"@server with 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

GID はオプションであり、イメージにすでに存在している必要があります。必要に応じて、パッケージで作成するか、ブループリントで customizations.group エントリーを使用して GID を作成します。

重要

password hash を生成するには、システムに python3 をインストールする必要があります。

# yum install python3

PASSWORD-HASH は、実際の password hash に置き換えます。password hash を生成するには、次のようなコマンドを使用します。

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

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

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

name を入力する必要があります。不要な行は省略できます。

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

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

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

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

既存のユーザーの SSH キーの設定のカスタマイズは、既存ユーザーにのみ適用されます。ユーザーの作成と SSH キーの設定は、システムイメージのカスタマイズに関するユーザー仕様 を参照してください。

デフォルトにカーネルの起動パラメーターオプションを追加
[customizations.kernel]
append = "KERNEL-OPTION"
デフォルトでは、Image Builder はデフォルトのカーネルをイメージにビルドします。ただし、ブループリントで次の設定を使用してカーネルをカスタマイズできます
[customizations.kernel]
name = "KERNEL-rt"
イメージで使用するカーネル名を定義
[customizations.kernel.name]
name = "KERNEL-NAME"
作成されたシステムイメージにタイムゾーンおよび Network Time Protocol (NTP) サーバーを設定
[customizations.timezone]
timezone = "TIMEZONE"
ntpservers = "NTP_SERVER"

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

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

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

[customizations.locale]
languages = ["en_US.UTF-8"]
keyboard = "us"

言語でサポートされている値を一覧表示するには、以下のコマンドを実行します。

$ localectl list-locales

キーボードでサポートされている値を一覧表示するには、以下のコマンドを実行します。

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

リストを有効にするには、数値ポートまたは /etc/services ファイルの名前を使用できます。

ファイアウォールサービスのカスタマイズ

利用可能なファイアウォールサービスを確認します。

$ firewall-cmd --get-services

ブループリントの customizations.firewall.service セクションで、カスタマイズするファイアウォールサービスを指定します。

[customizations.firewall.services]
enabled = ["SERVICES"]
disabled = ["SERVICES"]

firewall.services にリストされているサービスは、/etc/services ファイルで使用可能なサービス名とは異なります。

注記

ファイアウォールサービスをカスタマイズしない場合は、ブループリントの [customizations.firewall] セクションおよび [customizations.firewall.services] セクションを省略します。

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

システムの起動時に有効にするサービスを制御することができます。一部のイメージタイプでは、イメージが正しく機能し、この設定を上書きできないようにするために、すでにサービスが有効または無効になっています。ブループリントの customizations.services カスタマイズは、これらのサービスを置き換えるのではなく、イメージテンプレートにすでに存在するサービスのリストに追加します。

注記

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

カスタムファイルシステム設定を指定します。

ブループリントでカスタムファイルシステム設定を指定できるため、デフォルトのレイアウト設定ではなく、特定のディスクレイアウトでイメージを作成できます。ブループリントでデフォルト以外のレイアウト設定を使用すると、次の利点が得られます。

  • セキュリティーベンチマークコンプライアンス
  • ディスク外エラーに対する保護
  • 改良された性能
  • 既存の設定との一貫性

    ブループリントでファイルシステム設定をカスタマイズするには:

    [[customizations.filesystem]]
    mountpoint = "MOUNTPOINT"
    size = MINIMUM-PARTITION-SIZE

    ブループリントは、次の mountpoints とそのサブディレクトリーをサポートしています。

    • / - ルートマウントポイント
    • /var
    • /home
    • /opt
    • /srv/
    • /usr
    • /app
    • /data
    • /boot - RHEL 8.7 および RHEL 9.1 以降でサポートされています。

      注記

      マウントポイントのカスタマイズは、CLI を使用することで、RHEL 8.5 および RHEL 9.0 ディストリビューション以降でのみサポートされます。以前のディストリビューションでは、root パーティションをマウントポイントとして指定し、size 引数をイメージ size のエイリアスとして指定することしかできません。

      カスタマイズされたイメージに複数のパーティションがある場合、LVM でカスタマイズされたファイルシステムパーティションを使用してイメージを作成し、実行時にそれらのパーティションのサイズを変更できます。これを行うには、ブループリントでカスタマイズされたファイルシステム設定を指定して、目的のディスクレイアウトでイメージを作成します。デフォルトのファイルシステムレイアウトは変更されません。ファイルシステムをカスタマイズせずにプレーンイメージを使用すると、ルートパーティションは cloud-init によってサイズ変更されます。

      注記

      8.6 以降、osbuild-composer-46.1-1.el8 RPM 以降のバージョンでは、物理パーティションは使用できなくなり、ファイルシステムのカスタマイズによって論理ボリュームが作成されます。

      ブループリントは、ファイルシステムのカスタマイズを LVM パーティションに自動的に変換します。

      MINIMUM-PARTITION-SIZE 値には、デフォルトのサイズ形式はありません。ブループリントのカスタマイズでは、kB から TB、および KiB から TiB の値と単位がサポートされています。たとえば、マウントポイントのサイズをバイト単位で定義できます。

      [[customizations.filesystem]]
      mountpoint = "/var"
      size = 1073741824

      単位を使用してマウントポイントのサイズを定義することもできます。

      注記

      RHEL 8.6 および RHEL 9.0 ディストリビューション以降に提供されているパッケージバージョンの単位を使用してのみ、マウントポイントサイズを定義できます。

      以下に例を示します。

      [[customizations.filesystem]]
      mountpoint = "/opt"
      size = "20 GiB"
      
      or
      
      [[customizations.filesystem]]
      mountpoint = "/boot"
      size = "1 GiB"

7.3.8. Image Builder によってインストールされるパッケージ

Image Builder を使用してシステムイメージを作成すると、システムはベースパッケージのセットをインストールします。デフォルトでは、Image Builder は Core グループをパッケージの基本リストとして使用します。

表7.4 イメージタイプの作成をサポートするデフォルトパッケージ
イメージタイプデフォルトパッケージ

ami

checkpolicy、chrony、cloud-init、cloud-utils-growpart、@Core、dhcp-client、gdisk、insights-client、kernel、langpacks-en、net-tools、NetworkManager、redhat-release、redhat-release-eula、rng-tools、rsync、selinux-policy-targeted、tar、yum-utils

openstack

@core、langpacks-en

qcow2

@core, chrony, dnf, kernel, yum, nfs-utils, dnf-utils, cloud-init, python3-jsonschema, qemu-guest-agent, cloud-utils-growpart, dracut-norescue, tar, tcpdump, rsync, dnf-plugin-spacewalk, rhn-client-tools, rhnlib, rhnsd, rhn-setup, NetworkManager, dhcp-client, cockpit-ws, cockpit-system, subscription-manager-cockpit, redhat-release, redhat-release-eula, rng-tools, insights-client

tar

policycoreutils、selinux-policy-targeted

vhd

@core、langpacks-en

vmdk

@core、chrony、cloud-init、firewalld、langpacks-en、open-vm-tools、selinux-policy-targeted

edge-commit

attr、audit、basesystem、bash、bash-completion、chrony、clevis、clevis-dracut、clevis-luks、container-selinux、coreutils、criu、cryptsetup、curl、dnsmasq、dosfstools、dracut-config-generic、dracut-network、e2fsprogs、firewalld、fuse-overlayfs、fwupd、glibc、glibc-minimal-langpack、gnupg2、greenboot、gzip、hostname、ima-evm-utils、iproute、iptables、iputils、keyutils、less、lvm2、NetworkManager、NetworkManager-wif、NetworkManager-wwan、nss-altfiles、openssh-clients、openssh-server、passwd、pinentry、platform-python、podman、policycoreutils、policycoreutils-python-utils、polkit、procps-ng、redhat-release、rootfiles、rpm、rpm-ostree、rsync、selinux-policy-targeted、setools-console、setup、shadow-utils、shadow-utils、skopeo、slirp4netns、sudo、systemd、tar、tmux、traceroute、usbguard、util-linux、vim-minimal、wpa_supplicant、xz

edge-container

dnf、dosfstools、e2fsprogs、glibc、lorax-templates-generic、lorax-templates-rhel、lvm2、policycoreutils、python36、python3-iniparse、qemu-img、selinux-policy-targeted、systemd、tar、xfsprogs、xz

edge-installer

aajohan-comfortaa-fonts、abattis-cantarell-fonts、alsa-firmware、alsa-tools-firmware、anaconda、anaconda-install-env-deps、anaconda-widgets、audit、bind-utils、bitmap-fangsongti-fonts、bzip2、cryptsetup、dbus-x11、dejavu-sans-fonts、dejavu-sans-mono-fonts、device-mapper-persistent-data、dnf、dump、ethtool、fcoe-utils、ftp、gdb-gdbserver、gdisk、gfs2-utils、glibc-all-langpacks、google-noto-sans-cjk-ttc-fonts、gsettings-desktop-schemas、hdparm、hexedit、initscripts、ipmitool、iwl3945-firmware、iwl4965-firmware、iwl6000g2a-firmware、iwl6000g2b-firmware、jomolhari-fonts、kacst-farsi-fonts、kacst-qurn-fonts、kbd、kbd-misc、kdump-anaconda-addon、khmeros-base-fonts、libblockdev-lvm-dbus、libertas-sd8686-firmware、libertas-sd8787-firmware、libertas-usb8388-firmware、libertas-usb8388-olpc-firmware、libibverbs、libreport-plugin-bugzilla、libreport-plugin-reportuploader、libreport-rhel-anaconda-bugzilla、librsvg2、linux-firmware、lklug-fonts、lldpad、lohit-assamese-fonts、lohit-bengali-fonts、lohit-devanagari-fonts、lohit-gujarati-fonts、lohit-gurmukhi-fonts、lohit-kannada-fonts、lohit-odia-fonts、lohit-tamil-fonts、lohit-telugu-fonts、lsof、madan-fonts、metacity、mtr、mt-st、net-tools、nmap-ncat、nm-connection-editor、nss-tools、openssh-server、oscap-anaconda-addon、pciutils、perl-interpreter、pigz、python3-pyatspi、rdma-core、redhat-release-eula、rpm-ostree、rsync、rsyslog、sg3_utils、sil-abyssinica-fonts、sil-padauk-fonts、sil-scheherazade-fonts、smartmontools、smc-meera-fonts、spice-vdagent、strace、system-storage-manager、thai-scalable-waree-fonts、tigervnc-server-minimal、tigervnc-server-module、udisks2、udisks2-iscsi、usbutils、vim-minimal、volume_key、wget、xfsdump、xorg-x11-drivers、xorg-x11-fonts-misc、xorg-x11-server-utils、xorg-x11-server-Xorg、xorg-x11-xauth

edge-simplified-installer

attr、basesystem、binutils、bsdtar、clevis-dracut、clevis-luks、cloud-utils-growpart、coreos-installer、coreos-installer-dracut、coreutils、device-mapper-multipath、dnsmasq、dosfstools、dracut-live、e2fsprogs、fcoe-utils、fdo-init、gzip、ima-evm-utils、iproute、iptables、iputils、iscsi-initiator-utils、keyutils、lldpad、lvm2、passwd、policycoreutils、policycoreutils-python-utils、procps-ng、rootfiles、setools-console、sudo、traceroute、util-linux

image-installer

anaconda-dracut、curl、dracut-config-generic、dracut-network、hostname、iwl100-firmware、iwl1000-firmware、iwl105-firmware、iwl135-firmware、iwl2000-firmware、iwl2030-firmware、iwl3160-firmware、iwl5000-firmware、iwl5150-firmware、iwl6000-firmware、iwl6050-firmware、iwl7260-firmware、kernel、less、nfs-utils、openssh-clients、ostree、plymouth、prefixdevname、rng-tools、rpcbind、selinux-policy-targeted、systemd、tar、xfsprogs、xz

edge-raw-image

dnf、dosfstools、e2fsprogs、glibc、lorax-templates-generic、lorax-templates-rhel、lvm2、policycoreutils、python36、python3-iniparse、qemu-img、selinux-policy-targeted、systemd、tar、xfsprogs、xz

gce

@core、langpacks-en、acpid、dhcp-client、dnf-automatic、net-tools、python3、rng-tools、tar、vim

注記

ブループリントにコンポーネントを追加する場合は、追加したコンポーネント内のパッケージが他のパッケージコンポーネントと競合しないようにしてください。そうしないと、システムは依存関係を解決できず、カスタマイズされたイメージの作成に失敗します。次のコマンドを実行して、パッケージ間に競合がないかどうかを確認できます。

# composer-cli blueprints depsolve BLUEPRINT-NAME

7.3.9. カスタムイメージで有効なサービス

Image Builder を使用してカスタムイメージを設定する場合、イメージが使用するデフォルトのサービスは次のように決定されます。

  • osbuild-composer ユーティリティーを使用する RHEL リリース
  • イメージの種類

たとえば、ami イメージタイプは、デフォルトで sshdchronyd、および cloud-init サービスを有効にします。これらのサービスが有効になっていない場合、カスタムイメージは起動しません。

表7.5 イメージタイプの作成をサポートするために有効になっているサービス
イメージタイプデフォルトで有効化されているサービス

ami

sshd, cloud-init, cloud-init-local, cloud-config, cloud-final

openstack

sshd, cloud-init, cloud-init-local, cloud-config, cloud-final

qcow2

cloud-init

rhel-edge-commit

デフォルトでは、追加のサービスは有効になりません。

tar

デフォルトでは、追加のサービスは有効になりません。

vhd

sshd, chronyd, waagent, cloud-init, cloud-init-local, cloud-config, cloud-final

vmdk

sshd、chronyd、vmtoolsd、cloud-init

注記:システムの起動時に有効にするサービスをカスタマイズできます。ただし、カスタマイズは、前述のイメージタイプに対してデフォルトで有効になっているサービスを上書きしません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.