我本质上是想安装/usr/local/
,/dev/sdb
并在 sda 上安装正常的启动/根/交换。更复杂的是,由于磁盘大于 6TB,我不得不使用 GPT。似乎无论我怎么尝试,SDB 驱动器都从未被使用过。这是我目前的尝试:
d-i partman-basicfilesystems/choose_label string gpt
d-i partman-basicfilesystems/default_label string gpt
d-i partman-partitioning/choose_label string gpt
d-i partman-partitioning/default_label string gpt
d-i partman/choose_label string gpt
d-i partman/default_label string gpt
d-i partman-partitioning/choose_label select gpt
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/expert_recipe string \
boot-root-datab :: \
1 1 1 free \
$primary{ } \
method{ biosgrub } \
$iflabel{ gpt } \
device { /dev/sda } \
. \
300 300 300 ext4 \
$primary{ } \
$bootable{ } \
method{ format } format{ } \
$iflabel{ gpt } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
device { /dev/sda } \
. \
40000 10000 -1 ext4 \
$primary{ } \
method{ format } format{ } \
$iflabel{ gpt } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
device { /dev/sda } \
. \
4000 1500 12% linux-swap \
$primary{ } \
method{ swap } format{ } \
$iflabel{ gpt } \
device { /dev/sda } \
. \
200000 200000 -1 ext4 \
$primary{ } \
method{ format } format{ } \
$iflabel{ gpt } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /usr/local } \
options/noatime{ noatime } options/nodelalloc{ nodelalloc } options/nodiratime{ nodiratime } \
device { /dev/sdb } \
.
d-i partman-auto/choose_recipe select boot-root-datab
有什么建议可以让它工作吗?看来 partman 完全忽略了设备 { /dev/sdb },然后当然会搞乱 sda 布局,以至于 / 没有足够的空间来安装内核。另外,有没有 partman 的圣经?实际上说明每个命令/示例/解释的东西将是黄金……
答案1
目前,大多数人似乎使用 preseed/late_command 功能来实现附加驱动器的分区:
d-i preseed/late_command string \
in-target echo -e "o\nn\np\n1\n\n\nw" | fdisk /dev/sdb1 ; \
in-target mkfs.ext4 /dev/sdb1 ; \
in-target echo "/dev/sdb1 /srv ext4 nodiratime 0 2" >> /etc/fstab
当然,这不是最理想的,我更愿意编写实际上适用于没有 RAID/LVM 的多个块设备的 partman 配方。
我希望我完全错了,有人能用一个有效的例子来纠正我......
答案2
根据此帖子:https://serverfault.com/questions/541117/12-04-preseeded-install-with-raid-and-lvm
您应该删除最后一行:
d-i partman-auto/choose_recipe select boot-root-datab
引用原文:
当您要使用工厂预定义的配方时,请使用 partman-auto/choose_recipe。如果您不打算使用,请使用 partman-auto/expert_recipe 制定您自己的配方,指定 multiraid,而不是 raid-lvm。
OP:我唯一需要做的更改是删除我的 partman-auto/choose_recipe 行。之后,安装程序就可以毫无问题地使用我的自定义配方了。