나는 데비안 설치를 자동화하고 맞춤형 레시피를 제공하여 파티셔닝이 수행되는 방식을 제어하고 싶습니다.
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
vda3
luks crypt 파티션이어야 하며 vda4
존재해서는 안 되지만 내부에 lvm이 있어야 합니다.vda3
답변1
암호화를 설정하기 위해 partman auto에 의존하기 때문에 부분적인 대답일 뿐입니다. 이는 레시피의 유연성을 제한하는 것으로 보입니다.
특히, 내가 가져온 파티션 $defaultignore{ }
에 추가해야 합니다.\boot
entek.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
regular
partman-auto에 의존하는 대신 해당 접근 방식을 사용하고 레시피에서 crypto 및 lvm 파티션을 더 명시적으로 지정할 수 있는지 여전히 궁금합니다 .