B.4. 미리 설정 파일의 내용 (bullseye용)

이 부록에서 사용한 설정은 https://www.debian.org/releases/bullseye/example-preseed.txt에 들어 있는 예제 파일에서도 구할 수 있습니다.

이 예제 파일은 인텔 x86 아키텍처용으로 만들어졌습니다. 다른 아키텍처에서 설치하는 경우, 예제에서 어떤 부분은(예를 들어 키보드 선택이나 부트로더 설치) 해당 아키텍처에서 필요 없을 수도 있고 해당 아키텍처에 맞는 debconf 값으로 바꿔야 할 수도 있습니다.

다른 데비안 설치 프로그램 구성 요소의 작동 방법에 대한 자세한 내용은 6.3절. “컴포넌트 사용하기”에서 찾을 수 있습니다.

B.4.1. 지역화

일반적인 설치에서는 지역화에 대한 질문을 먼저 합니다. 그러므로 이 값은 initrd나 커널 부팅 파라미터 방식으로만 미리 설정할 수 있습니다. 자동 모드는 (B.2.3절. “자동 모드”) auto-install/enable=true 설정을 포함합니다 (보통 줄여서 auto라고 쓰는). 이렇게 하면 지역화 질문을 지연하므로, 어떤 방법으로든 미리 설정을 할 수 있습니다.

로캘은 언어와 국가를 지정합니다. debian-installer에서 지원하는 언어와 국가라면 뭐든지 붙여서 사용할 수 있습니다. 해당 언어/국가 조합이 올바른 로캘이 아닌 경우 해당 언어에 대한 로캘을 자동으로 하나 선택합니다. 부팅 파라미터로 로캘을 지정하려면, locale=ko_KR과 같이 사용하십시오.

이 방법은 아주 사용하기 편하더라도, 그것은 언어의 모든 가능한 조합의 preseeding을 허용하지 않습니다. en_NL에 국가와 locale[22]. 이렇게 값이 개별적으로 preseeded 할 수 있습니다. 언어 및 국가는 부트 매개 변수로 지정할 수 있습니다.

# 로캘만 미리 설정하면 언어, 국가, 로캘 값이 설정됩니다.
d-i debian-installer/locale string en_US

# 유연하게 각각의 값을 미리 설정할 수도 있습니다.
#d-i debian-installer/language string en
#d-i debian-installer/country string NL
#d-i debian-installer/locale string en_GB.UTF-8
# 선택적으로 추가될 로캘을 지정합니다.
#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8

키보드 설정에서는(라틴 키보드가 아닌 아닌 키맵의 경우) 키맵과 키맵을(라틴 키보드가 아닌 키맵과 미국식 키맵 사이의) 전환하는 토글 키를 선택합니다. 설치할 때는 기본 키맵만 사용할 수 있습니다. 고급 키맵은 설치한 시스템에서만 dpkg-reconfigure keyboard-configuration 명령으로 사용할 수 있습니다.

# 키보드 선택.
d-i keyboard-configuration/xkb-keymap select us
# d-i keyboard-configuration/toggle select No toggling

키보드 설정을 건너뛰려면 keymap 값을 skip-config로 하면 됩니다. 그러면 커널 키맵을 사용합니다.

B.4.2. 네트워크 설정

네트워크에서 미리 설정 파일을 읽어들이는 경우 네트워크 설정은 당연히 동작하지 않습니다. 하지만 광학 디스크나 USB 메모리로 부팅하는 경우에 네트워크 설정을 하면 좋습니다. 미리 설정 파일을 네트워크에서 읽어들이는 경우, 커널 부팅 파라미터로 네트워크 설정을 건너 뛸 수 있습니다.

미리 설정 파일을 네트워크에서 읽어들이기 전에 특정 인터페이스에서 네트워크 부팅하려면, interface=eth1처럼 부팅 파라미터를 사용하십시오.

네트워크를 통해 미리 설정을 하는 경우 (preseed/url 사용) 네트워크 설정을 미리 설정하는 게 보통 불가능하지만, 다음 방법을 이용해 피해갈 수 있습니다. 예를 들어 네트워크 인터페이스에 고정 주소를 부여하는 방법입니다. 다음 명령이 들어 있는 preseed/run 스크립트를 만들어서 미리 설정 파일을 읽어들인 후에 네트워크 설정을 다시 실행합니다:

kill-all-dhcp; netcfg

다음 debconf 변수가 네트워크 설정과 관계가 있습니다.

# 네트워크를 완전히 사용하지 않도록 설정합니다. 네트워크에 연결되지
# 않은 컴퓨터에 CD-ROM 설치를 하는 경우처럼 네트워크 관련 질문, 경고,
# 시간 초과 따위가 불필요한 경우에 좋습니다.
#d-i netcfg/enable boolean false

# 연결되어 있는 인터페이스를 선택합니다. 이러면 인터페이스가
# 여러 개 있는 경우 목록을 건너 뜁니다.
d-i netcfg/choose_interface select auto

# 특정 인터페이스를 선택할 경우:
#d-i netcfg/choose_interface select eth1

# 링크 검사 제한 시간을 다르게 설정할 때(기본값은 3초).
# 초 단위입니다
#d-i netcfg/link_wait_timeout string 10

# DHCP 서버가 느려서 응답을 기다리다가 시간이 초과되는 경우
# 다음 설정을 쓰면 됩니다.
#d-i netcfg/dhcp_timeout string 60
#d-i netcfg/dhcpv6_timeout string 60

# 네트워크 자동 설정이 기본값입니다.
# 네트워크 설정을 수동으로 하려면, 아래 줄의 주석을 지우고 그 아래에 있는
# 고정 네트워크 설정의 주석도 지우십시오.
#d-i netcfg/disable_autoconfig boolean true

# DHCP 서버가 있든 없든 모두 미리 설정 파일이 동작하게 만드려면, 아래 
# 줄의 주석을 지우고 그 아래에 있는 고정 네트워크 설정의 주석도 지우십시오.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Configure network manually

# 고정 IP 네트워크 설정
#
# IPv4 예제
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/confirm_static boolean true
#
# IPv6 예제
#d-i netcfg/get_ipaddress string fc00::2
#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
#d-i netcfg/get_gateway string fc00::1
#d-i netcfg/get_nameservers string fc00::1
#d-i netcfg/confirm_static boolean true

# DHCP에서 지정한 호스트 이름과 도메인 이름이 여기에서 설정한 것보다
# 우선합니다. 하지만 DHCP에서 호스트 이름과 도메인 이름이 넘어오는
# 경우라고 해도, 여기서 값을 설정해야 질문을 하지 않게 됩니다.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# DHCP 서버에서 넘긴 호스트 이름이나, IP에 대한 리버스 DNS와 무관하게
# 호스트 이름을 강제로 설정하려면 다음 줄의 주석을 지우고 수정하십시오.
#d-i netcfg/hostname string somehost

# 성가신 WEP 키 대화 상자를 사용하지 않습니다.
d-i netcfg/wireless_wep string
# 일부 DHCP 서버는 호스트이름을 암호처럼 사용합니다.
#d-i netcfg/dhcp_hostname string radish

# 네트워크 등의 하드웨어에 자유롭게 배포되지 않는 펌웨어가 필요한 경우, 물어보지
# 않고 그 펌웨어를 읽어들이도록 설정할 수 있습니다. 아니면 false로 하면
# 물어보지도 않게 할 수 있습니다.
#d-i hw-detect/load_firmware boolean true

netcfg/get_netmask를 미리 지정하지 않으면 netcfg는 자동으로 네트마스크를 지정합니다. 자동 설치에서는 이 변수를 seen으로 표시해야 합니다. 마찬가지로 netcfg/get_gateway를 지정하지 않으면 netcfg는 적당한 주소로 게이트웨이를 설정합니다. 특별한 경우로, netcfg/get_gatewaynone으로 설정하면 게이트웨이를 사용하지 않습니다.

B.4.3. 네트워크 콘솔

# SSH을 통해 원격 설치를 하면서 network-console 컴포넌트를 사용할 경우 다음
# 설정을 사용합니다. 이후의 모든 설치를 수동으로 하는 경우에만 이렇게 합니다.
#d-i anna/choose_modules string network-console
#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
#d-i network-console/password password r00tme
#d-i network-console/password-again password r00tme

network-console 관련된 더 많은 정보는 6.3.10절. “네트워크 콘솔을 통해 설치”에 있습니다.

B.4.4. 미러 사이트 설정

사용하는 설치 방법에 따라서, 미러 사이트를 이용해 설치 프로그램의 추가 컴포넌트, 베이스 시스템을 다운로드할 수 있습니다. 또 설치를 끝낸 시스템에서 /etc/apt/sources.list 파일을 설정하는 데 미러 사이트를 이용할 수 있습니다.

mirror/suite 파라미터로 설치할 시스템의 세트를 결정합니다.

mirror/udeb/suite 파라미터는 설치 프로그램의 추가 컴포넌트의 세트를 설정합니다. 실제 구성 요소를 네트워크로 다운로드하는데 도움이됩니다. 또한 설치에 사용할 설치 방법을위한 initrd를 생성하려면이 쌍이 일치해야합니다. 일반적으로 설치 프로그램은 자동으로 올바른 값을 설정하므로 설정할 필요가 없습니다.

# 미러 프로토콜:
# ftp의 경우, mirror/country 문자열은 설정할 필요가 없습니다.
# 미러 프로토콜에 사용할 기본값: http
#d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/http/hostname string ftp.kr.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# 설치할 세트
#d-i mirror/suite string testing
# 설치 프로그램을 읽어들일 세트(옵션).
#d-i mirror/udeb/suite string testing

B.4.5. 계정 설정

루트 계정의 암호와 맨 처음 만들 일반 사용자의 이름 및 암호도 미리 설정할 수 있습니다. 암호의 경우 일반 텍스트 값을 그대로 쓸 수도 있고 crypt(3) 해시값을 쓸 수도 있습니다.

[주의] 주의

미리 설정한 암호는 안전하지 않습니다. 미리 설정 파일을 읽을 수 있는 사람은 암호도 알 수 있기 때문입니다. 해시 형태로 암호를 저장하면 (다수의 암호를 입력하는데 좋은 DES나 MD5와 같은 취약한 알고리즘을 사용하지 않는 한) 보안상 안전하다고 여겨집니다. 추천하는 암호 해시 알고리즘은 SHA-256 및 SHA512입니다.

# 루트 계정을 만들지 않고 넘어갑니다.  (일반 유저는 sudo를 사용할 
# 수 있습니다.).
#d-i passwd/root-login boolean false
# 아니면 일반 사용자를 만들지 않고 넘어갈 수 있습니다.
#d-i passwd/make-user boolean false

# 루트 암호, 암호 원문 텍스트를 직접 쓸 수도 있고
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# 아니면 crypt(3) 해시로 암호화된 암호를 쓸 수도 있습니다.
#d-i passwd/root-password-crypted password [crypt(3) hash]

# 아니면 일반 사용자 계정을 하나 만듭니다.
#d-i passwd/user-fullname string Debian User
#d-i passwd/username string debian
# 일반 사용자 암호, 암호 원문 텍스트를 직접 쓸 수도 있고
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
# 아니면 crypt(3) 해시로 암호화된 암호를 쓸 수도 있습니다.
#d-i passwd/user-password-crypted password [crypt(3) hash]
# 기본값이 아닌 지정한 UID 값으로 첫번째 사용자를 만듭니다.
#d-i passwd/user-uid string 1010

# 사용자 계정은 표준으로 정해진 그룹에 들어갑니다. 강제로
# 그룹을 지정하려면 다음과 같이 합니다.
#d-i passwd/user-default-groups string audio cdrom video

passwd/root-password-cryptedpasswd/user-password-crypted 변수의 값으로 !를 써서 미리 설정할 수 있습니다. 이 경우 해당하는 계정을 사용할 수 없습니다. 루트 계정은 이렇게 하는 게 편리할 수도 있습니다. 물론 루트 계정을 이렇게 하면 시스템 관리를 할 수 있는 다른 방법이 있거나 루트 로그인을 할 수 있는 다른 방법이 있어야 합니다. (예를 들어 SSH 키 인증을 쓰거나 sudo를 사용하는 방법)

암호에 대한 SHA-512 기반 crypt(3) 해시를 만드려면 다음 명령을 사용할 수 있습니다(whois 패키지에 들어 있습니다):

mkpasswd -m sha-512

B.4.6. 시계 및 시간대 설정

# 하드웨어 시계를 UTC로 할 지 여부를 결정합니다
d-i clock-setup/utc boolean true

# $TZ로 설정 가능한 값은 뭐든지 쓸 수 있습니다. 설정 가능한
# 값은 /usr/share/zoneinfo/ 아래의 내용을 참고하십시오.
d-i time/zone string US/Eastern

# 설치하면서 시계를 맞출 때 NTP를 사용할 지 여부를 설정합니다.
d-i clock-setup/ntp boolean true
# 사용할 NTP 서버. 보통 기본값을 사용하는 게 좋습니다.
#d-i clock-setup/ntp-server string ntp.example.com

B.4.7. 파티션하기

하드 디스크 파티션에 preseed를 사용하는 것은 partman-auto에서 지원하는 기능에 한정되고 있습니다. 파티션은 디스크의 빈 영역과 전체 디스크 중 하나를 선택해야합니다. 디스크의 구성은 미리 정의된 요리법, 레시피 파일을 사용하여 사용자 정의 레시피 미리 설정 파일에 쓴 레시피에서 선택할 수 있습니다.

RAID, LVM 및 암호화를 사용하여 고급 파티션 설정의 Preseeding는 지원 되지만, 가능한 한 완전한 유연성이 non-preseeded 설치하는 동안 파티션을 하지 않을 경우입니다.

아래의 예제는 사용법에 대한 기본적인 정보를 제공합니다. 자세한 내용은 debian-installer 패키지에 포함되어 있는 파일 partman-auto-recipe.txtpartman-auto-raid-recipe.txt를 참조하십시오. 두 파일은 debian-installer 소스 저장소에도 들어 있습니다. 지원되는 기능은 릴리스마다 달라질 수 있습니다.

[주의] 주의

디스크의 ID는 디스크의 드라이버를 읽어들이는 순서에 따라 다릅니다. 시스템에 디스크가 여러 개 있는 경우, 미리 설정을 이용하기 전에 올바른 디스크를 선택하도록 하십시오.

B.4.7.1. 파티션 예제

# 시스템에 빈 공간이 있을 때 그 공간만 파티션하게 설정할 수 있습니다.
# 아래의 partman-auto/method 설정이 있을 때만 적용됩니다.
#d-i partman-auto/init_automatically_partition select biggest_free

# 다른 방법으로, 파티션할 디스크를 직접 지정할 수 있습니다. 시스템에 디스크가 1개
# 뿐인 경우 설치 프로그램에서는 그 디스크를 사용합니다. 하지만 여러 개인 경우 장치
# 이름은 전통적인, devfs 형식이 아닌 형식으로 지정합니다. (예를 들어 /dev/sda.
# /dev/discs/disc0/disc 형식이 아님.)
# 예를 들어, 첫 번째 SCSI/SATA 하드 디스크를 사용하려면:
#d-i partman-auto/disk string /dev/sda
# 추가로 사용할 파티션 방식을 지정해야 합니다.
# 현재 사용할 수 있는 파티션 방식은
# - regular: 아키텍쳐에 따라 일반적인 파티션 방식을 사용
# - lvm:     파티션에 LVM을 사용
# - crypto:  암호화한 파티션에 LVM을 사용
d-i partman-auto/method string lvm

# LVM 볼륨 그룹에 사용할 용량을 직접 지정할 수 있습니다. 그 크기를 단위와
# 함께 지정하거나 (예: 20 GB), 빈 공간의 퍼센트값을 지정하거나, 또는 'max'
# 키워드로 빈 공간 전체를 지정할 수 있습니다.
d-i partman-auto-lvm/guided_size string max

# 자동으로 파티션할 디스크 중에 과거 LVM 설정이 남아 있을 경우, 경고 메시지를
# 받게 됩니다. 이 경고를 미리 설정으로 무시할 수 있습니다...
d-i partman-lvm/device_remove_lvm boolean true
# 기존에 소프트웨어 RAID 어레이가 설정된 경우에도 마찬가지로 적용됩니다:
d-i partman-md/device_remove_md boolean true
# LVM 파티션 쓰기를 확인하는 경우도 마찬가지입니다:
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

# 다음 세 가지 파티션 스타일 중에 하나를 사용할 수 있습니다:
# - atomic: 모든 파일을 하나의 파티션에
# - home:   /home 파티션 별도로 분리
# - multi:  /home, /var, /tmp 파티션 별도로 분리
d-i partman-auto/choose_recipe select atomic

# 아니면 직접 파티션 스타일을 지정할 수도 있습니다...
# d-i 환경에 레시피 파일이 들어 있으면, 그 파일을 지정하면 됩니다.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# 레시피 파일이 따로 없는 경우, 전체 레시피 파일 내용을(논리적으로) 한
# 줄에 넣을 수도 있습니다. 다음 예제는 작은 /boot 파티션을 만들고,
# 적당한 스왑 파티션을 만들고, 나머지 공간을 루트 파티션에 사용합니다:
#d-i partman-auto/expert_recipe string                         \
#      boot-root ::                                            \
#              40 50 100 ext3                                  \
#                      $primary{ } $bootable{ }                \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ /boot }                     \
#              .                                               \
#              500 10000 1000000000 ext3                       \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ / }                         \
#              .                                               \
#              64 512 300% linux-swap                          \
#                      method{ swap } format{ }                \
#              .

# 전체 레시피 형식은 'debian-installer' 패키지나 D-I 소스 저장소의
# partman-auto-recipe.txt 파일에 쓰여 있습니다. 이 파일에는 파일 시스템
# 레이블, 볼륨 그룹 이름, 볼륨 그룹에 물리 장치 포함하기 따위를
# 설정하는 방법도 쓰여 있습니다.

## EFI를 위한 파티션 만들기
# 시스템에 EFI 파티션이 필요하면 다음과 같은 사항을 위 레시피에
# 레시피 첫번째 항목으로 추가할 수 있습니다:
#               538 538 1075 free                              \
#                      $iflabel{ gpt }                         \
#                      $reusemethod{ }                         \
#                      method{ efi }                           \
#                      format{ }                               \
#               .                                              \
#
# 위는 amd64 아키텍쳐를 위한 내용입니다. 다른 아키텍쳐에서 자세한
# 사항은 다를 수도 있습니다. D-I 소스 저장소의 'partman-auto'
# 패키지에 따라 할 수 있는 예제가 있을 수도 있습니다.

# 다음과 같이 설정하면 partman에서 확인 질문을 하지 않고 자동으로
# 파티션을 합니다. 위의 방법 중에 한 가지로 파티션 방법을 지정해야
# 합니다.
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

# UEFI 부팅 강제 ('BIOS 호환성'이 없음). 기본값: false.
#d-i partman-efi/non_efi_system boolean true
# GPT 파티션 테이블을 사용 - EFI에 필수
#d-i partman-partitioning/choose_label select gpt
#d-i partman-partitioning/default_label string gpt

# 디스크 암호화를 사용할 때, 그 전에 파티션 내용 청소를 건너 뜁니다.
#d-i partman-auto-crypto/erase_disks boolean false

B.4.7.2. RAID를 사용해 파티션하기

소프트웨어 RAID 파티션을 설정하거나 preseed를 사용하여 수 있습니다. 지원은 RAID 0, 1, 5, 6, 10, 비상용 어레이 및 예비 장치를 지정합니다.

RAID 1을 사용하는 경우에는 어레이에서 사용하는 모든 장치에 설치하도록 preseed에서 찾을 수 있습니다. B.4.11절. “부트로더 설치”를 참조하십시오.

[주의] 주의

이런 방식의 자동 파티션은 잘못되기 쉽습니다. 또 이 기능은 debian-installer 개발자가 별로 테스트하지 않는 기능입니다. 여러가지 방식을 올바르게(규칙에 맞으면서 충돌하지 않게) 설정하는 책임은 사용자에게 있습니다. 문제가 발생하면 /var/log/syslog 파일을 확인하십시오.

# method 값은 "raid"로 설정합니다.
#d-i partman-auto/method string raid
# 파티션할 디스크를 지정합니다. 디스크는 모두 같은 레이아웃이어야
#하므로, 크기가 같을 경우에만 다음 설정이 동작합니다.
#d-i partman-auto/disk string /dev/sda /dev/sdb

# 그리고 사용할 물리 파티션을 지정합니다.
#d-i partman-auto/expert_recipe string \
#      multiraid ::                                         \
#              1000 5000 4000 raid                          \
#                      $primary{ } method{ raid }           \
#              .                                            \
#              64 512 300% raid                             \
#                      method{ raid }                       \
#              .                                            \
#              500 10000 1000000000 raid                    \
#                      method{ raid }                       \
#              .

# 마지막으로 이전에 지정한 파티션을 어떻게 RAID에서 사용할지
# 지정합니다. 논리 파티션에 올바른 파티션 번호를 사용하도록 하십시오.
# RAID 레벨 0, 1, 5, 6, 10을 지원합니다. 장치는 "#"문자로 구분합니다.
# 파라미터는 다음과 같습니다:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
#          <devices> <sparedevices>

#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                    \
#          /dev/sda1#/dev/sdb1       \
#    .                               \
#    1 2 0 swap -                    \
#          /dev/sda5#/dev/sdb5       \
#    .                               \
#    0 2 0 ext3 /home                \
#          /dev/sda6#/dev/sdb6       \
#    .

# 더 자세한 정보는 'debian-installer' 패키지나 D-I 소스 저장소의
# partman-auto-raid-recipe.txt 파일에 있습니다.

# 다음 설정을 하면 partman에서 확인 질문 없이 파티션을 자동으로 진행합니다.
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

B.4.7.3. 파티션 마운트 방법 조정하기

파일 시스템은 장치 이름이 바뀌더라도 UUID(universally unique identifier)를 키로 해서 마운트합니다. UUID는 길어서 알아보기 어려우므로, 전통적인 장치 이름에 따라 마운트할 수도 있고, 레이블을 이용해 마운트할 수도 있습니다. 레이블에 따라 마운트할 경우, 레이블이 없는 파일 시스템은 UUID를 사용해 마운트합니다.

LVM 논리 볼륨처럼 고정된 이름의 장치는 UUID가 아니라 계속 전통적인 이름을 사용합니다.

[주의] 주의

전통적인 장치 이름은 부팅할 때 장치를 발견한 순서에 따라 달라질 수 있습니다. 그래서 잘못된 파일 시스템을 마운트하는 실수를 저지를 수 있습니다. 마찬가지로 레이블도 새로운 디스크나 USB 드라이브 따위를 연결했을 때 레이블이 충돌할 수 있고 그 경우 시스템이 어떻게 동작할지 확신할 수 없습니다.

# 기본값은 UUID로 마운트하는 것이지만, 전통적인 장치 이름을 사용하려면
# "traditional"을 사용할 수 있고, 파일 시스템 레이블을 사용하려면
# "label"을 사용합니다. 시도가 실패하면 UUID를 사용합니다.
#d-i partman/mount_style select uuid

B.4.8. 기본 시스템 설치

이 상태에서는 미리 설정할 수 있는 부분이 별로 많지 않습니다. 유일하게 신경 쓸 부분은 커널 설치에 관한 질문입니다.

# APT에서 권장 패키지를 설치하지 않도록 설정합니다. 이 옵션을 사용하면
# 불완전한 시스템이 될 수도 있으므로, 아주 경험 많은 사용자만 사용해야
# 합니다.
#d-i base-installer/install-recommends boolean false

# 설치할 커널 이미지 패키지(또는 메타 패키지). 커널을 설치하지 않으면 "none"을
# 사용합니다.
#d-i base-installer/kernel/image string linux-image-686

B.4.9. APT 설정

/etc/apt/sources.list의 설정과 기본 설정 옵션은 설치 방법과 그 이전의 질문에 어떻게 답했냐에 따라 완전히 자동화합니다. 추가적으로 다른 저장소를 지정할 수 있습니다.

# Choose, if you want to scan additional installation media
# (default: false).
d-i apt-setup/cdrom/set-first boolean false
# You can choose to install non-free and contrib software.
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Uncomment the following line, if you don't want to have the sources.list
# entry for a DVD/BD installation image active in the installed system
# (entries for netinst or CD images will be disabled anyway, regardless of
# this setting).
#d-i apt-setup/disable-cdrom-entries boolean true
# Uncomment this if you don't want to use a network mirror.
#d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
#d-i apt-setup/services-select multiselect security, updates
#d-i apt-setup/security_host string security.debian.org

# Additional repositories, local[0-9] available
#d-i apt-setup/local0/repository string \
#       http://local.server/debian stable main
#d-i apt-setup/local0/comment string local server
# Enable deb-src lines
#d-i apt-setup/local0/source boolean true
# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out.
#d-i apt-setup/local0/key string http://local.server/key
# If the provided key file ends in ".asc" the key file needs to be an
# ASCII-armoured PGP key, if it ends in ".gpg" it needs to use the
# "GPG key public keyring" format, the "keybox database" format is
# currently not supported.

# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
#d-i debian-installer/allow_unauthenticated boolean true

# Uncomment this to add multiarch configuration for i386
#d-i apt-setup/multiarch string i386

B.4.10. 패키지 선택

태스크는 원하는 대로 설치할 수 있습니다. 현재 이 문서를 쓰는 시점에 사용할 수 있는 태스크는 다음과 같습니다:

  • standard (표준 도구)

  • desktop (그래픽 데스크톱)

  • gnome-desktop (그놈 데스크톱)

  • xfce-desktop (XFCE 데스크톱)

  • kde-desktop (KDE 플라즈마 데스크톱)

  • cinnamon-desktop (시나몬 데스크톱)

  • mate-desktop (MATE 데스크톱)

  • lxde-desktop (LXDE 데스크톱)

  • web-server (웹 서버)

  • ssh-server (SSH 서버)

태스크를 설치하지 않을 수도 있고, 다른 방법으로 패키지를 설치할 수 있습니다. 표준 시스템 태스크는 항상 포함하시길 권장합니다.

tasksel 대화창을 아예 표시하지 않으려면, pkgsel/run_tasksel 값을 미리 설정하십시오. (이 경우 tasksel에서 아무 패키지도 설치하지 않습니다.)

태스크로 설치한 패키지 외에 패키지를 더 설치하려면, pkgsel/include 파라미터를 사용하면 됩니다. 이 파라미터의 값은 쉼표나 공백으로 구분할 수 있으므로, 커널 명령행에서도 쉽게 사용할 수 있습니다.

#tasksel tasksel/first multiselect standard, web-server, kde-desktop

# tasksel 대화창이 아예 표시되지 않게 하고 싶으면 (그리고 아무 패키지도 설치하지
# 않고 싶으면):
#d-i pkgsel/run_tasksel boolean false

# 추가로 설치할 패키지
#d-i pkgsel/include string openssh-server build-essential
# debootstrap 다음에 패키지를 업그레이드할 지 여부
# 사용 가능한 값은: none, safe-upgrade, full-upgrade
#d-i pkgsel/upgrade select none

# 원한다면 어떤 소프트웨어를 설치했는지 설치 프로그램에서 보고서를 보낼 수
# 있습니다. 보고하지 않는 게 기본값이지만, 보고서를 보내면 데비안 프로젝트에서
# 어떤 소프트웨어를 더 많이 사용하는지 판단하고, 첫번째 CD/DVD에 포함해야 할지
# 여부를 결정하는데 도움이 됩니다.
#popularity-contest popularity-contest/participate boolean false

B.4.11. 부트로더 설치

# GRUB이 부트로더입니다. (x86의 경우)

# 다음 설정은 설정해도 안전합니다. 다음 설정은 컴퓨터에 다른 운영체제가 없을
# 경우에 GRUB을 자동으로 UEFI 파티션/부트 레코드에 설치합니다.
d-i grub-installer/only_debian boolean true

# 다음 설정은 grub-installer에서 다른 OS가 있을 경우에도 UEFI 파티션/부트
# 레코드에 설치합니다. 다른 OS로 부팅하지 못할 수도 있으므로 덜 안전합니다.
d-i grub-installer/with_other_os boolean true

# 일부 경우 USB 메모리의 경우 UEFI 파티션/부트 레코드 위치를 모든 경우에
# 안전하게 결정할 수 없기 때문에 다음을 직접 지정해야 합니다:
#d-i grub-installer/bootdev  string /dev/sda
# GRUB을 주 드라이브에 (USB 메모리가 아니라는 가정 하에) 설치하려면:
#d-i grub-installer/bootdev  string default

# 다른 방법으로, UEFI 파티션/부트 레코드가 아닌 위치에 GRUB을 설치할 수도
# 있습니다. 다음 줄의 주석을 지우고 편집하십시오:
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
#d-i grub-installer/bootdev  string (hd0,1)
# GRUB을 여러 개 디스크에 설치하려면:
#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)

# GRUB에 추가 암호 설정, 일반 텍스트로 사용하거나
#d-i grub-installer/password password r00tme
#d-i grub-installer/password-again password r00tme
# 아니면 MD5 해시를 사용합니다. grub-md5-crypt(8) 참고.
#d-i grub-installer/password-crypted password [MD5 hash]

# 다음 옵션을 사용하면 설치할 시스템에 부팅 파라미터를 추가합니다. (부트로더
# 설치에서 지원하는 경우)
# 주의: 설치 프로그램에 추가했던 옵션은 자동으로 추가됩니다.
#d-i debian-installer/add-kernel-opts string nousb

grub에 대한 암호의 MD5 해시는 grub-md5-crypt 명령을 사용해 만들어 낼 수 있습니다. 아니면 B.4.5절. “계정 설정” 부분의 예제 명령을 사용해서 만들어 낼 수 있습니다.

B.4.12. 설치 마치기

# 시리얼 콘솔에서 설치하면, 일반 가상 콘솔은(VT1-VT6) /etc/inittab에서
# 막습니다. 다음의 주석을 지우면 가상 콘솔을 막지 않습니다.
#d-i finish-install/keep-consoles boolean true

# 설치가 끝났다는 마지막 메시지를 표시하지 않습니다.
d-i finish-install/reboot_in_progress note

# 다음과 같이 하면 다시 시작할 때 CD를 빼지 않습니다.
# 경우에 따라서는 CD를 빼지 않는 게 좋을 수 있습니다.
#d-i cdrom-detect/eject boolean false

# 다음과 같이 하면 설치가 끝났을 때, 설치한 시스템으로
# 다시 시작하지 않고 셧다운합니다.
#d-i debian-installer/exit/halt boolean true
# 다음과 같이 하면 컴퓨터의 전원도 끕니다.
#d-i debian-installer/exit/poweroff boolean true

B.4.13. 기타 패키지 미리 설정

# 어떤 소프트웨어를 설치하느냐에 따라, 혹은 설치하는 중에 무언가 잘못되는
# 경우, 다른 질문을 물어볼 수도 있습니다. 물론 이 질문도 미리 설정할 수
# 있습니다. 설치하는 동안 물어볼 수 있는 모든 질문의 목록을 받고 싶다면, 
# 설치를 한 다음에 다음 명령어를 실행하십시오:
#   debconf-get-selections --installer > file
#   debconf-get-selections >> file


[22] Preseeding localeen_US.UTF-8로 예를 들자면 결과에 대한 설치 시스템의 기본 locale로 값을 개별적으로 preseeded해야 합니다.