Debian インストーラは luks 暗号化レシピをカスタマイズします

Debian インストーラは luks 暗号化レシピをカスタマイズします

私は、Debianのインストールを自動化し、カスタマイズされたレシピを提供することで、パーティショニングの実行方法を制御したいと思います。

luksやlvmを使用しない場合は簡単ですが、インストーラにcryptとカスタムレシピの両方を使用させることはできません。 luksパーティションを使用して正常にインストールする唯一の方法は、partman-autoでインストールを完了させることです。d-i partman-auto/method string crypto私のレシピを無視するようです。

### Partitioning
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select crypto-recipe
d-i partman-auto/expert_recipe_file string /crypto-recipe

d-i partman-crypto/passphrase string super-secret
d-i partman-crypto/passphrase-again string super-secret

d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-basicfilesystems/no_swap boolean false
crypto-recipe ::

    538 538 1075 fat32
        $iflabel{ gpt }
        $reusemethod{ }
        method{ efi }
        format{ } .

    512 1024 768 ext4
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        mountpoint{ /boot } .

    2000 2000 -1 crypt
        $iflabel{ gpt }
        method{ lvm }
        vg_name{ vg0 } .

    1000 1000 -1 lvmpart
        $lvmok{ }
        in_vg{ vg0 }
        lv_name{ root }
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        label{ doomar }
        mountpoint{ / }
        .

インストーラに独自の物理ディスクを使用させたいのですが、これを達成するために何を指定する必要があるのか​​わかりません。試す必要がある他のオプションがありますか?

d-i partman-auto/disk string /dev/vda

d-i partman-auto/method string crypto

また、パーセントで暗号化パーティションを指定してみました。

    100% 100% 100% crypt
        $iflabel{ gpt }
        method{ lvm }
        vg_name{ vg0 } .

他の変更が多すぎて一覧表示しようとしましたが、失われました。文書が少し不明瞭だったようです。プロビジョニングファイルを使用するよりも優れた選択肢はありますか?あまり良く見えなくて全部使ってしまったたくさん私は彼らが望む方法で動作するように多くの時間を費やしましたが、非常に限られているようです。

さまざまなオプションの試行中に発生したいくつかの問題は次のとおりです。

  • ディスクを選択しないでください
  • インストールシステムの障害
  • 存在にもかかわらず/boot持続/boot/efi
  • 多くの例が古くなっています(UEFI / GPTではなくBIOS)。
  • レシピに従わずにpartman-autoに戻ります。
  • システムのインストール場所の横に空のパーティション(おそらく暗号化パーティション)を作成します。

誰かが実際の例を提供し、方法がレシピでパーティショニングを指定する必要があるかどうかをregular明確cryptoにすることができれば、少なくとも開始点になります。

修正する

仮想ディスクのサイズを増やしましたが、今では問題が暗号化コンテナ内のlvm作成であることが明らかになりました。以前は、暗号化パーティションがディスクの残りのスペースを占有していた場合、システムに残りのスペースがありませんでした。

私が試したことは次のとおりです。

crypto-recipe ::

    538 538 538 fat32
        $iflabel{ gpt }
        $reusemethod{ }
        method{ efi }
        format{ } .

    512 1024 512 ext4
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        mountpoint{ /boot } .

    2000 2000 -1 crypt
        $iflabel{ gpt }
        method{ crypto }
        vg_name{ vg0 } .

    2000 2000 -1 lvmpart
        $lvmok{ }
        in_vg{ vg0 }
        lv_name{ root }
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        label{ doomar }
        mountpoint{ / }
        .

今は明らかになった

vda                                                                            
├─vda1 vfat   FAT32        390B-57B3                             505.1M     1% /boot/efi
├─vda2 ext4   1.0          48ab2ad8-2744-4fe0-b8ed-dbb9766e0cae  369.7M    11% /boot
├─vda3                                                                         
└─vda4 ext4   1.0   doomar 5ada0c1d-4048-4ff6-ac23-4936dcc16710    1.1G    41% /
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  538MB   537MB   fat32        EFI System Partition  boot, esp
 2      538MB   1050MB  512MB   ext4
 3      1050MB  3049MB  2000MB
 4      3049MB  5368MB  2318MB  ext4

vda3luks cryptパーティションでなければならず、vda4存在してはいけませんが、内部にlvmが必要です。vda3

答え1

暗号化を設定するためにpartman autoに依存しているので、部分的な答えです。これはレシピの柔軟性を制限するようです。

特に、私がインポートしたパーティション$defaultignore{ }に追加する必要があります。\bootentek.org.ukブログ

d-i partman-auto-lvm/guided_size string max

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

d-i partman-auto/method string crypto
d-i partman-auto/choose_recipe select autocrypt-recipe
d-i partman-auto/expert_recipe_file string /autocrypt-recipe

d-i partman-crypto/passphrase string super-secret
d-i partman-crypto/passphrase-again string super-secret

d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-basicfilesystems/no_swap boolean false
autocrypt-recipe ::

    256 256 256 fat32
        $iflabel{ gpt }
        $reusemethod{ }
        method{ efi }
        format{ } .

    256 256 256 ext4
        $defaultignore{ }
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        mountpoint{ /boot } .

    2000 2000 -1 ext4
        $lvmok{ }
        lv_name{ root }
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        label{ doomar }
        mountpoint{ / }
        .

結果

vda                                                                                                          
├─vda1                     vfat        FAT32           E692-113B                               233.4M     2% /boot/efi
├─vda2                     ext4        1.0             89d9e5c4-5cba-4b08-bd0f-96c9332a3e07      154M    24% /boot
└─vda3                     crypto_LUKS 2               9d4aa1bd-0706-4ba0-ac48-850ac7499355                  
  └─vda3_crypt             LVM2_member LVM2 001        0EDidF-GVe0-odQX-gPQ9-VXED-Pf7l-snWt8D                
    └─debian--vm0--vg-root ext4        1.0      doomar 099e743c-0c62-4bb8-8f25-71e8c96ce8d9      3.3G    19% /
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  256MB   255MB   fat32        EFI System Partition  boot, esp
 2      256MB   512MB   256MB   ext4
 3      512MB   5368MB  4856MB

regularpartman-autoに頼るのではなく、そのアプローチを使用し、レシピでcryptoパーティションとlvmパーティションをより明示的に指定できるかどうか疑問に思います。

関連情報