모든 워크스테이션을 동일한 방식으로 자동으로 분할하고 싶습니다.
- 첫 번째 파티션은 부팅 가능한 1GB ext4 /boot 파티션입니다.
- 두 번째 파티션은 2GB 스왑 파티션입니다.
- 세 번째 파티션은 ext4/ 파티션으로 나머지 공간을 차지합니다.
- 모든 파티션을 포맷해야 합니다.
내 preseed.cfg에 이것을 추가하면 내가 원하는 것을 얻을 수 있다고 생각합니다.
d-i partman-auto/workstation_recipe string \
root :: \
1024 1023 1024 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
2048 2047 2048 linux-swap \
$primary{ } \
method{ swap } format{ } \
. \
17408 100000000000 -1 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
.
이는 다음을 기반으로 합니다.이 블로그. 이게 내가 원하는 대로 될까? 사용자 개입 없이 이러한 지시어를 허용하려면 preseed.cfg에 추가해야 할 다른 것이 있습니까? 나는 이전에 Patman 레시피를 사용한 적이 없습니다.
답변1
며칠 인터넷 검색 끝에 찾았네요어느partman에 대한 정보는 거의 없습니다. 문서화도 잘 되어 있지 않습니다. 내가 사용하는 구성은 다음과 같습니다.
# This automatically creates a standard unencrypted partitioning scheme.
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
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-lvm/confirm_nooverwrite boolean true
d-i partman-auto/choose_recipe select unencrypted-install
d-i partman-auto/expert_recipe string \
unencrypted-install :: \
1024 1024 1024 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
2048 2048 2048 linux-swap \
$primary{ } \
method{ swap } format{ } \
. \
17408 100000000000 -1 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
.
d-i partman-md/confirm boolean true
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
프리셋에 드롭하기만 하면 됩니다. 한 줄씩:
- 디스크 /dev/sda 사용
- 일반 설치 수행(암호화되지 않음 또는 LVM)
- 메시지를 표시하지 않고 기존 LVM을 제거합니다.
- 메시지를 표시하지 않고 기존 RAID 설정을 삭제합니다.
- 이것이 당신이 원하는 것인지 확인하십시오
- 재확인
- 아래와 같이 "암호화되지 않은 설치" 레시피를 선택하세요.
- 이는 전체 레시피를 한 번에 하나의 파티션으로 지정하는 단일 논리 라인입니다. 질문에 지정한 대로 정확하게 분할된 테이블을 생성합니다.
- 재확인
- partman이 새 태그를 작성하도록 허용
- 프로세스를 완료하세요
- 재확인
- 재확인
그게 다입니다. 완벽하게 작동합니다.
답변2
/dev/sda
나는 이것이 오래된 게시물이라는 것을 알고 있지만 하드 코딩이 좋은 생각 인지 확실하지 않습니다 . 대신에 나는 다음과 같은 것을 사용할 것입니다
d-i partman/early_command string \
USBDEV=$(list-devices usb-partition | sed "s/\(.*\)./\1/");\
if [ ! -z "$USBDEV" ]; then \
BOOTDEV=$(list-devices disk | grep -v "$USBDEV" | head -1);\
else \
BOOTDEV=$(list-devices disk | head -1);\
fi; \
debconf-set partman-auto/disk $BOOTDEV;\
debconf-set grub-installer/bootdev $BOOTDEV;\
lvremove --select all -ff -y; vgremove --select all -ff -y; pvremove ${BOOTDEV}* -ff -y
첫 번째 내부 드라이브가 설치 미디어로 사용되는지 확인하고 열거 순서가 동적으로 변경될 수 있으므로 가능한 모든 외부 USB 드라이브를 제외하십시오.
답변3
다음 3줄을 시도해 보세요(필요에 따라 변경).
d-i partman-auto/disk string /dev/sda
d-i partman/choose_partition select finish
d-i partman/confirm boolean true