10.2.2. コミット更新の構築
ブループリントに次のような変更を加えた後、コミット更新をビルドできます。
- システムに必要な追加パッケージの追加
- 既存のコンポーネントのパッケージバージョンを変更する
- 既存のパッケージを削除します。
前提条件
- RHEL Image Builder を実行しているシステムを更新した。
- ブループリントの更新を作成した。
- 以前に OSTree リポジトリーを作成し、HTTP 経由でそれを提供した。RHEL for Edge イメージをインストールするための Web サーバーの設定 を参照してください。
手順
--url、--ref、blueprint-name、edge-commitの引数を使用して、新しいコミットイメージの作成を開始します。# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url http://localhost:8080/repo <blueprint-name> edge-commitこのコマンドは、作成を開始する前に OStree リポジトリーからメタデータをフェッチするように作成プロセスに指示します。結果として得られる新しい OSTree コミットには、元の OSTree コミットの参照が親イメージとして含まれています。
作成プロセスが完了したら、
.tarファイルをフェッチします。# composer-cli compose image <UUID>コミット履歴を OSTree リポジトリーに保存できるように、コミットを一時ディレクトリーに抽出します。
$ tar -xf UUID.tar -C /var/tmptar -xfコマンドを使用して、結果の OSTree リポジトリーのコミットを検査します。tar ファイルがディスクに抽出されるので、結果の OSTree リポジトリーを検査できます。$ ostree --repo=/var/tmp/repo log rhel/8/x86_64/edge commit d523ef801e8b1df69ddbf73ce810521b5c44e9127a379a4e3bba5889829546fa Parent: f47842de7e6859cee07d743d3c67949420874727883fa9dbbaeb5824ad949d91 ContentChecksum: f0f6703696331b661fa22d97358db48ba5f8b62711d9db83a00a79b3ae0dfe16 Date: 2023-06-04 20:22:28 /+0000 Version: 8出力例では、リポジトリー内に親コミットを参照する OSTree コミットが 1 つあります。親コミットは、以前に作成した元の OSTree コミットからのチェックサムと同じです。
ostree pull-localコマンドを使用して、2 つのコミットをマージします。$ sudo ostree --repo=/var/srv/httpd/repo pull-local /var/tmp/repo 20 metadata, 22 content objects imported; 0 bytes content writtenこのコマンドは、新しいメタデータとコンテンツをディスク上の場所 (
/var/tmpなど) から/var/srv/httpdの宛先 OSTree リポジトリーにコピーします。
検証
ターゲットの OSTree リポジトリーを調べます。
$ ostree --repo=/var/srv/httpd/repo log rhel/8/x86_64/edge commit d523ef801e8b1df69ddbf73ce810521b5c44e9127a379a4e3bba5889829546fa Parent: f47842de7e6859cee07d743d3c67949420874727883fa9dbbaeb5824ad949d91 ContentChecksum: f0f6703696331b661fa22d97358db48ba5f8b62711d9db83a00a79b3ae0dfe16 Date: 2023-06-04 20:22:28 /+0000 Version: 8 (no subject) commit f47842de7e6859cee07d743d3c67949420874727883fa9dbbaeb5824ad949d91 ContentChecksum: 9054de3fe5f1210e3e52b38955bea0510915f89971e3b1ba121e15559d5f3a63 Date: 2023-06-04 20:01:08 /+0000 Version: 8 (no subject)ターゲットの OSTree リポジトリーには、論理的な順序で 2 つのコミットが含まれていることがわかります。検証が成功したら、RHEL for Edge システムを更新できます。