4.8. 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
-
4.8.1. bootc install to-existing-root の使用
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