7.10. to-filesystem を使用した高度なインストール
bootc install コマンドには、bootc install to-disk と bootc install to-filesystem という 2 つのサブコマンドが含まれています。
-
bootc-install-to-filesystemは、ターゲットファイルシステムへのインストールを実行します。 bootc install to-diskサブコマンドは、独自の低レベルツールのセットで構成されます。これらのツールは独立して呼び出すこともできます。コマンドを構成するツールは次のとおりです。-
mkfs.$fs /dev/disk -
mount /dev/disk /mnt -
bootc install to-filesystem --karg=root=UUID=<uuid of /mnt> --imgref $self /mnt
-
bootc install to-existing-root は install to-filesystem のバリアントです。これを使用して、既存のシステムをターゲットコンテナーイメージに変換できます。
この変換により、/boot および /boot/efi パーティションが削除され、既存の Linux インストールが削除される可能性があります。変換プロセスではファイルシステムが再利用されます。ユーザーデータは保持されますが、システムはパッケージモードで起動しなくなります。
前提条件
- 手順を完了するには、root 権限が必要です。
-
ホスト環境とターゲットコンテナーのバージョンを一致させる必要があります。たとえば、ホストが RHEL 9 ホストの場合は、RHEL 9 コンテナーが必要です。RHEL カーネルとして
btrfsを使用して Fedora ホストに RHEL コンテナーをインストールすると、そのファイルシステムはサポートされません。
手順
既存のシステムをターゲットコンテナーイメージに変換するには、次のコマンドを実行します。
-v/:/targetオプションを使用して、ターゲットのrootfsを渡します。# podman run --rm --privileged -v /dev:/dev -v /var/lib/containers:/var/lib/containers -v /:/target \ --pid=host --security-opt label=type:unconfined_t \ <image> \ bootc install to-existing-rootこのコマンドにより
/boot内のデータは削除されますが、既存のオペレーティングシステム内にある他のすべてのデータは自動的に削除されません。これにより、新しいイメージが以前のホストシステムからデータを自動的にインポートできるため便利です。したがって、コンテナーイメージ、データベース、ユーザーホームディレクトリーデータ、/etc内の設定ファイルはすべて、その後の再起動後に/sysrootで使用できるようになります。--root-ssh-authorized-keys /target/root/.ssh/authorized_keysを追加することで、--root-ssh-authorized-keysフラグを使用して root ユーザーの SSH キーを継承することもできます。以下に例を示します。# podman run --rm --privileged -v /dev:/dev -v /var/lib/containers:/var/lib/containers -v /:/target \ --pid=host --security-opt label=type:unconfined_t \ <image> \ bootc install to-existing-root --root-ssh-authorized-keys /target/root/.ssh/authorized_keys