나는 다음의 도움으로 미리 설정된 스크립트를 만들었습니다.이 블로그나는 그것에 논리 볼륨을 생성하도록 변경했습니다.
스크립트의 결과는 다음과 같습니다.
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/splash boolean false
d-i debian-installer/language string en
d-i debain-installer/country string US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i netcfg/choose_interface select auto
#d-i netcfg/choose_interface select eth0
d-i netcfg/get_nameservers string
d-i netcfg/get_ipaddress string
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string myhost
d-i mirror/country string manual
d-i mirror/http/hostname string http.nl.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/method string raid
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/choose_recipe select recipe_sps
d-i partman-auto-lvm/new_vg_name string vg_sps
#d-i partman-auto-lvm/guided_size string 30GB
d-i partman-auto/expert_recipe string \
recipe_sps :: \
512 30 512 raid \
$lvmignore{ } \
$primary{ } method{ raid } \
. \
1000 35 250000000 raid \
$lvmignore{ } \
$primary{ } method{ raid } \
. \
5500 50 6000 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ root } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ / } \
. \
4000 50 4100 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ home } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ /home } \
. \
4000 50 4100 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ varlog } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ /var/log } \
. \
60000000 50 250000000 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ varvirtualbox } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ /var/virtualbox } \
.
# Last you need to specify how the previously defined partitions will be
# used in the RAID setup. Remember to use the correct partition numbers
# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
# devices are separated using "#".
# Parameters are:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
# <devices> <sparedevices>
d-i partman-auto-raid/recipe string \
1 2 0 ext2 /boot \
/dev/sda1#/dev/sdb1 \
. \
1 2 0 lvm - \
/dev/sda2#/dev/sdb2 \
.
d-i mdadm/boot_degraded boolean false
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman/confirm_nooverwrite boolean true
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i time/zone string Europe/Amsterdam
d-i base-installer/kernel/image string linux-server
d-i passwd/root-login boolean true
d-i passwd/root-password password r00tme
d-i passwd/root-password-again password r00tme
d-i passwd/make-user boolean false
d-i user-setup/allow-password-weak boolean false
d-i user-setup/encrypt-home boolean false
d-i passwd/user-default-groups string adm cdrom dialout lpadmin plugdev sambashare
d-i apt-setup/services-select multiselect security, updates
d-i apt-setup/security_host string security.debian.org
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i debian-installer/allow_unauthenticated string false
d-i pkgsel/upgrade select safe-upgrade
d-i pkgsel/language-packs multiselect
d-i pkgsel/update-policy select none
d-i pkgsel/updatedb boolean true
tasksel tasksel/first multiselect standard, openssh-server
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean false
d-i grub-installer/bootdev string /dev/sda /dev/sdb
d-i finish-install/keep-consoles boolean false
d-i finish-install/reboot_in_progress note
d-i cdrom-detect/eject boolean true
d-i debian-installer/exit/halt boolean false
d-i debian-installer/exit/poweroff boolean false
d-i pkgsel/include string vim openssh-server openvpn
popularity-contest popularity-contest/participate boolean false
이제 이 스크립트를 사용하지만 완료되면(오류 없음) 부팅, 루트 및 스왑 파티션만 남게 됩니다.
root@debian:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/dm-0 112G 854M 106G 1% /
udev 10M 0 10M 0% /dev
tmpfs 3.2G 8.6M 3.2G 1% /run
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/md0 472M 34M 414M 8% /boot
root@debian:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg_sps -wi-ao---- 113.85g
swap_1 vg_sps -wi-ao---- 4.85g
하지만 내 전문 레시피에서는 /home /var/log 및 /var/virtualbox 볼륨도 만들 예정입니다.
답변1
가장 먼저 변경하고 싶은 것은 "string"과 "recipe_sps" 사이의 공백 수입니다.
~에 따르면이것12.3.2.2: "네 번째 및 마지막 필드에는 답변 값이 포함됩니다. 이 필드는 세 번째 필드와 공백으로 구분되어야 합니다. 공백이 여러 개 있는 경우 다음 공백 문자는 " 값의 일부로 간주됩니다.
운이 좋게도 이 단계에서 시스템을 부팅할 수 있게 된다면(그래서 레시피가 실패하는 경우) /var/log/installer/cdebconf/questions.dat에 레시피가 포함되어 있는지, 그리고 선택되어 있는지 확인하세요(그렇지 않을 수도 있습니다). .
추가됨: /var/log/installer/syslog에서 partman 메시지를 확인하세요. 내 메시지는 매우 명확했습니다. "partman-auto: 사용 가능한 디스크 공간(8589)이 전문가 레시피(67595)에 비해 너무 작습니다. 건너뛰기"