我正在尝试创建预先植入的自定义分区布局,但是 partman 一直失败。
以下是预置配置的片段:
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string crypto
d-i partman-crypto/passphrase password tmppass
d-i partman-crypto/passphrase-again password tmppass
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
#d-i partman-auto-lvm/guided_size string max
#d-i partman-auto-lvm/new_vg_name string vg00
#d-i partman-auto/choose_recipe select custom-lvm
d-i partman-auto/expert_recipe string custom-lvm :: \
512 8000 512 ext2 \
$primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . \
100 7000 1000000000 ext4 \
$primary{ } $defaultignore{ } method{ lvm } device{ /dev/sda } vg_name{ vg00 } . \
20480 5000 20480 ext4 \
$lvmok{ } in_vg{ vg00 } lv_name{ lv_root } method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } mountpoint{ / } .
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
我尝试从专家配方中删除 vg 创建(100 7000 100000000
line 和 next),并启用上述 2 个partman-auto-lvm
参数,并尝试在choose_recipe
expert_recipe 定义之前和之后启用(不确定顺序是否重要),但仍然失败:
debconf: --> GET partman-auto/expert_recipe
debconf: <-- 0 custom-lvm :: 512 8000 512 ext2 ... mountpoint{ / } .
debconf: --> SET partman-auto/expert_recipe_file /tmp/expert_recipe
debconf: <-- 0 value set
debconf: --> GET partman-auto/expert_recipe_file
debconf: <-- 0 /tmp/expert_recipe
debconf: --> METAGET custom-lvm description
debconf: <-- 10 custom-lvm doesn't exist
debconf: --> INPUT critical partman-auto-lvm/no_pv_in_vg
合理的解释是,我的 expert_recipe 中某处有语法错误。我已经检查了 10 - 15 次语法,似乎没有发现任何错误。expert_recipe 的长度有上限吗?我跳到控制台,再次查看/tmp/expert_recipe
,语法看起来都正确。
我错过了什么?
答案1
我也想让这个该死的东西与加密一起工作……但是,为了解决这个问题,似乎有一个“功能”,即“in_vg{ vg00 }”在左括号前需要一个空格,即“in_vg { vg00 }”。以防万一有人在用头撞墙/笔记本电脑/任何东西时碰巧看到这个帖子……
答案2
我不太清楚是什么原因导致它崩溃,但 3 处改动就修复了它。
首先,我从专家配方中删除了 vg00 创建(可能是最大尺寸的问题:https://serverfault.com/questions/541117/12-04-preseeded-install-with-raid-and-lvm)。
然后我还in_vg
从分区中删除了该参数/
。
最后,我重新启用了guided_size max
参数new_vg_name
。我还将choose_recipe select custom-lvm
其激活并移至专家配方之后。
最终的工作(相关)配置是这样的:
d-i partman-auto-lvm/guided_size string max
d-i partman-auto-lvm/new_vg_name string vg00
d-i partman-auto/expert_recipe string custom-lvm :: \
512 8000 512 ext2 \
$primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . \
20480 5000 20480 ext4 \
$lvmok{ } in_vg{ vg00 } lv_name{ lv_root } method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } mountpoint{ / } .
d-i partman-auto/choose_recipe select custom-lvm
(我实施的配方也有交换和/home,并且最大-1
)。