Menu Close

10.2.3. コマンドラインを使用した RHEL for Edge イメージ更新の手動デプロイ

RHEL for Edge の Blueprint を編集した後、イメージコミットを更新することができます。Image Builder は、更新された RHEL for Edge イメージの新しいコミットを生成します。新しいコミットを使用して、最新のパッケージバージョンでイメージをデプロイするか、CLI を使用して追加のパッケージをデプロイします。

CLI を使用して RHEL for Edge イメージの更新をデプロイするには、前提条件を満たしていることを確認し、手順に従います。

前提条件

手順

  1. 以下の引数を使用して、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-typeedge-commit です。

      Image Builder は、更新された Blueprint 用に RHEL for Edge イメージを作成します。

  2. RHEL for Edge イメージの作成進捗を確認します。

    # composer-cli compose status
    注記

    イメージの作成プロセスは、最大 10 分から 30 分かかることがあります。

    作成したイメージには、最新パッケージがあれば、そのパッケージが追加され、オリジナルの commit ID を親とします。

  3. 作成した RHEL for Edge イメージをダウンロードします。詳細は、Image Builder コマンドラインインターフェースを使用した RHEL for Edge イメージのダウンロード を参照してください。
  4. OSTree コミットを展開します。詳細は、RHEL for Edge イメージのコミットの抽出 を参照してください。
  5. httpd 経由で OSTree コミットを提供します。RHEL for Edge イメージをインストールするための Web サーバーの設定 を参照してください。
  6. プロビジョニングされた RHEL システム上で、オリジナルの Edge イメージから、現在の状態を確認します。

    $ rpm-ostree status

    新しいコミット ID がない場合は、以下のコマンドを実行して、利用可能なアップグレードの有無を確認します。

    $ rpm-ostree upgrade --check

    コマンドの出力は、現在アクティブな OSTree コミット ID を提供します。

  7. OSTree を更新して、新しい OSTree のコミット ID を利用できるようにします。

    $ rpm-ostree upgrade

    OSTree は、リポジトリーに更新があるかどうかを確認します。ある場合は、更新を取得し、この新しいコミット更新のデプロイメントを有効化できるように、システムの再起動を要求します。

  8. 再度、現在の状態を確認します。

    $ rpm-ostree status

    利用可能なコミットが 2 つあることが分かります。

    • アクティブな親コミット
    • アクティブではなく、1 つの違いを含む新しいコミット
  9. 新しいデプロイメントを有効にし、新しいコミットを有効にするには、システムを再起動します。

    # systemctl reboot

    Anaconda インストーラーは、新しいデプロイメントで再起動します。ログイン画面では、起動に利用可能な新しいデプロイメントが表示されます。

  10. 最新のデプロイメントで起動すると、rpm-ostree upgrade コマンドは、新しいデプロイメントが一覧内で最初に表示されるようにブートエントリーを自動的に順序を指定します。必要に応じて、キーボードの矢印キーを使用して GRUB メニューエントリーを選択し、Enter を押します。
  11. アカウントの認証情報を使用してログインします。
  12. OSTree の状態を確認します。

    $ rpm-ostree status

    コマンド出力は、アクティブなコミット ID を提供します。

  13. 変更したパッケージが存在する場合は、親コミットと新しいコミットの間で diff を実行します。

    $ rpm-ostree db diff parent_commit new_commit

    更新により、インストールしたパッケージが利用可能になり、すぐに使用できる状態になっていることがわかります。