Menu Close
10.2.3. コマンドラインを使用した RHEL for Edge イメージ更新の手動デプロイ
RHEL for Edge の Blueprint を編集した後、イメージコミットを更新することができます。Image Builder は、更新された RHEL for Edge イメージの新しいコミットを生成します。新しいコミットを使用して、最新のパッケージバージョンでイメージをデプロイするか、CLI を使用して追加のパッケージをデプロイします。
CLI を使用して RHEL for Edge イメージの更新をデプロイするには、前提条件を満たしていることを確認し、手順に従います。
前提条件
- RHEL for Edge イメージブループリントを作成している。
- RHEL for Edge イメージブループリントを編集している。コマンドラインインターフェースを使用した RHEL for Edge イメージの Blueprint の編集 を参照してください。
手順
以下の引数を使用して、RHEL for Edge Commit (
.tar
) イメージを作成します。# composer-cli compose start-ostree --ref ostree_ref --parent parent_commitID_edge -blueprint_name_ image-type
ここで、
-
ref
は、RHEL for Edge Container コミットの作成時に指定したリファレンスです。例:rhel/9/x86_64/edge
-
parent_commitID_edge
は、以前生成された親コミット ID です。 image-type
はedge-commit
です。Image Builder は、更新された Blueprint 用に RHEL for Edge イメージを作成します。
-
RHEL for Edge イメージの作成進捗を確認します。
# composer-cli compose status
注記イメージの作成プロセスは、最大 10 分から 30 分かかることがあります。
作成したイメージには、最新パッケージがあれば、そのパッケージが追加され、オリジナルの
commit ID
を親とします。- 作成した RHEL for Edge イメージをダウンロードします。詳細は、Image Builder コマンドラインインターフェースを使用した RHEL for Edge イメージのダウンロード を参照してください。
- OSTree コミットを展開します。詳細は、RHEL for Edge イメージのコミットの抽出 を参照してください。
- httpd 経由で OSTree コミットを提供します。RHEL for Edge イメージをインストールするための Web サーバーの設定 を参照してください。
プロビジョニングされた RHEL システム上で、オリジナルの Edge イメージから、現在の状態を確認します。
$ rpm-ostree status
新しいコミット ID がない場合は、以下のコマンドを実行して、利用可能なアップグレードの有無を確認します。
$ rpm-ostree upgrade --check
コマンドの出力は、現在アクティブな OSTree コミット ID を提供します。
OSTree を更新して、新しい OSTree のコミット ID を利用できるようにします。
$ rpm-ostree upgrade
OSTree は、リポジトリーに更新があるかどうかを確認します。ある場合は、更新を取得し、この新しいコミット更新のデプロイメントを有効化できるように、システムの再起動を要求します。
再度、現在の状態を確認します。
$ rpm-ostree status
利用可能なコミットが 2 つあることが分かります。
- アクティブな親コミット
- アクティブではなく、1 つの違いを含む新しいコミット
新しいデプロイメントを有効にし、新しいコミットを有効にするには、システムを再起動します。
# systemctl reboot
Anaconda インストーラーは、新しいデプロイメントで再起動します。ログイン画面では、起動に利用可能な新しいデプロイメントが表示されます。
-
最新のデプロイメントで起動すると、
rpm-ostree upgrade
コマンドは、新しいデプロイメントが一覧内で最初に表示されるようにブートエントリーを自動的に順序を指定します。必要に応じて、キーボードの矢印キーを使用して GRUB メニューエントリーを選択し、Enter を押します。 - アカウントの認証情報を使用してログインします。
OSTree の状態を確認します。
$ rpm-ostree status
コマンド出力は、アクティブなコミット ID を提供します。
変更したパッケージが存在する場合は、親コミットと新しいコミットの間で diff を実行します。
$ rpm-ostree db diff parent_commit new_commit
更新により、インストールしたパッケージが利用可能になり、すぐに使用できる状態になっていることがわかります。