이 부록에서 사용한 설정들은 http://www.debian.org/releases/etch/example-preseed.txt에 들어 있는 예제 파일에서도 구할 수 있습니다.
이 예제 파일은 인텔 x86 아키텍처용으로 만들어졌습니다. 다른 아키텍처에서 설치하는 경우, 예제의 일부는 (예를 들어 키보드 선택이나 부트로더 설치) 해당 아키텍처에서 필요 없을 수도 있고 해당 아키텍처에 맞는 debconf 값으로 바꿔야 할 수도 있습니다.
지역화 설정은 initrd 미리 설정을 하는경우에만 동작합니다. 그 외의 방법을 사용하면 지역화 설정 질문을 한 다음에 미리 설정 파일을 읽어들입니다.
로케일은 언어와 국가를 지정합니다. 부팅 파라미터로 로케일을 지정하려면, locale=
와 같이 사용하십시오. en_US
# 로케일은 언어와 국가를 설정합니다. d-i debian-installer/locale string en_US
키보드 설정은 키보드 아키텍처와 키맵을 선택하는 일입니다. 대부분의 경우 기본값으로 키보드 아키텍처가 올바르게 선택되어 있으므로, 보통 미리 설정할 필요가 없습니다. 선택한 키보드 아키텍처에 대해 키맵을 올바르게 지정해야 합니다.
# 키보드 선택. #d-i console-tools/archs select at d-i console-keymaps-at/keymap select us # 다른 키보드 아키텍처를 사용하는 예제. #d-i console-keymaps-usb/keymap select mac-usb-us
키보드 설정을 건너뛰려면 console-tools/archs
값을 skip-config
로 하면 됩니다. 그러면 커널 키맵을 사용하게 됩니다.
2.6 커널의 입력 레이어때문에 키보드 아키텍처는 사실상 필요없게 되었습니다. 2.6 커널의 경우 “PC” (at
) 키맵을 선택해야 합니다.
물론 네트워크에서 미리 설정 파일을 읽어들이는 경우 네트워크 설정은 동작하지 않습니다. 하지만 CD나 USB 메모리로 부팅하는 경우에 네트워크 설정을 하는 게 더 좋을 것입니다. 미리 설정 파일을 네트워크에서 읽어들이는 경우, 커널 부팅 파라미터로 네트워크 설정을 건너 뛸 수 있습니다.
미리 설정 파일을 네트워크에서 읽어들이기 전에 특정 인터페이스에서 네트워크 부팅하려면, interface=
와 같이 부팅 파라미터를 사용하십시오. eth1
네트워크를 통해 미리 설정을 하는 경우에는 (“preseed/url” 사용) 네트워크 설정을 미리 설정하는 게 보통 불가능하지만, 다음 방법을 이용해 피해갈 수 있습니다. 예를 들어 네트워크 인터페이스에 고정 주소를 부여하는 방법입니다. 다음 라인에 들어 있는 “preseed/run” 스크립트를 만들어서 미리 설정 파일을 읽어들인 후에 네트워크 설정을 다시 실행합니다:
killall.sh dhclient netcfg
# 연결되어 있는 인터페이스를 선택합니다. 이러면 인터페이스가 # 여러 개 있는 경우 목록을 건너 뜁니다. d-i netcfg/choose_interface select auto # 특정 인터페이스를 선택할 경우: #d-i netcfg/choose_interface select eth1 # DHCP 서버가 느려서 응답을 기다리다가 시간이 초과되는 경우 # 다음 설정을 쓰면 됩니다. #d-i netcfg/dhcp_timeout string 60 # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg/disable_dhcp boolean true # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg/dhcp_failed note #d-i netcfg/dhcp_options select Configure network manually # 수동으로 네트워크를 설정하려면, 다음과 같이 합니다: #d-i netcfg/disable_dhcp boolean true #d-i netcfg/get_nameservers string 192.168.1.1 #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/confirm_static boolean true # DHCP에서 지정한 호스트 이름과 도메인 이름이 여기에서 설정한 것보다 # 우선합니다. 하지만 DHCP에서 호스트 이름과 도메인 이름이 넘어오는 # 경우라고 해도, 여기서 값을 설정해야 질문을 하지 않게 됩니다. d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain # 성가신 WEP 키 대화 상자를 사용하지 않습니다. d-i netcfg/wireless_wep string # 일부 DHCP 서버는 호스트이름을 열쇠글처럼 사용합니다. #d-i netcfg/dhcp_hostname string radish
사용하는 설치 방법에 따라서, 미러 사이트는 설치 프로그램의 추가 구성 요소, 베이스 시스템을 내려받는 데 이용할 수 있고, 또 설치를 끝낸 시스템에서 /etc/apt/sources.list
파일을 설정하는 데 이용할 수 있습니다.
mirror/suite
파라미터는 설치할 시스템의 세트를 결정합니다.
mirror/udeb/suite
파라미터는 설치 프로그램의 추가 구성 요소의 세트를 결정합니다. 이 설정은 구성 요소들을 네트워크로 내려받으면서 설치에 사용한 방법에 이용한 initrd를 빌드한 그 세트일 경우에만 유용합니다. mirror/udeb/suite
의 기본값은 mirror/suite
와 같습니다.
# ftp의 경우, mirror/country 문자열은 설정할 필요가 없습니다. #d-i mirror/protocol string ftp d-i mirror/country string enter information manually 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
하드디스크 파티션에 사용하는 미리 설정은 partman-auto
에서 지원하는 방식으로 제한되어 있습니다. 디스크의 빈 공간을 파티션하거나, 전체 디스크를 파티션하거나 둘 중의 하나를 선택해야 합니다. 디스크의 구성은 미리 정의된 방식에 따라 할 수 있고, 특별히 설정한 방식을 파일로 사용할 수도 있고 미리 설정 파일에 포함할 수도 있습니다. 현재는 미리 설정으로 여러 개의 디스크를 파티션할 수 없습니다.
디스크의 ID는 디스크의 드라이버를 읽어들이는 순서에 달려 있습니다. 시스템에 디스크가 여러 개 있으면, 미리 설정을 이용하기 전에 올바른 디스크를 선택하도록 하십시오.
# 시스템에 빈 공간이 있으면 거기에 한 개의 파티션을 만들 수 있습니다. # Note: 이 템플릿은 지역화된(번역된) 값으로 미리 설정되어야 합니다. #d-i partman-auto/init_automatically_partition \ # 가장 큰 빈 공간을 사용합니다 # 다른 방법으로, 파티션할 디스크를 지정할 수 있습니다. 장치 이름은 # DEVFS 방식이나 전통적인 DEVFS가 아닌 형식으로 지정할 수 있습니다. # 예를 들어 첫번째 디스크를 사용하려면: d-i partman-auto/disk string /dev/discs/disc0/disc # 또 어떤 방법을 사용할 지 지정해야 합니다. # 현재 가능한 방법은: "regular", "lvm", "crypto"입니다. d-i partman-auto/method string lvm # 만약 자동으로 파티션하려는 디스크에 예전의 LVM 설정이 남아 있다면, # 사용자에게 경고 메세지를 보여줍니다. 이 경고도 미리 설정해서 # 없앨 수 있습니다... d-i partman-auto/purge_lvm_from_device boolean true # 그리고 LVM 파티션을 쓰는 순간에 확인 질문도 미리 설정합니다. d-i partman-lvm/confirm boolean true # 미리 정의한 파티션 방식 중의 하나를 선택할 수 있습니다. # Note: 이 템플릿은 지역화된(번역된) 값으로 미리 설정되어야 합니다. d-i partman-auto/choose_recipe \ select All files in one partition (recommended for new users) #d-i partman-auto/choose_recipe \ # select Separate /home partition #d-i partman-auto/choose_recipe \ # select Separate /home, /usr, /var, and /tmp partitions # 아니면 자신만의 파티션 방식을 만듭니다... # 파티션 방식 형식은 devel/partman-auto-recipe.txt 파일에 있습니다. # 파티션 방식 파일을 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{ } \ # . # 다음과 같이 하면 partman에서 확인 질문을 하지 않고 자동으로 파티션합니다. d-i partman/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
소프트웨어 RAID를 설정할 때 미리 설정을 이용할 수 있습니다. RAID 레벨 0, 1, 5를 지원하고, degraded 어레이를 만들고 비상용 어레이 및 예비 장치를 지정합니다. RAID 1을 사용한다면 GRUB을 미리 설정해서 어레이 안의 모든 장치에 GRUB을 설치할 수 있습니다. B.4.10절. “부트 로더 설치” 부분을 참고하십시오.
이런 방식의 자동 파티션은 잘못되기 쉽습니다. 또 버그가 있거나 오류 처리가 빠져 있을 수도 있습니다. 여러가지 방식을 올바르게 (규칙에 맞으면서 충돌하지 않게) 설정하는 책임은 사용자에게 있습니다. 문제가 발생하면 /var/log/syslog
파일을 확인하십시오.
RAID 0 및 RAID 1은 해당 구성 요소의 개발자가 테스트했습니다. RAID 5는 테스트하지 않았습니다. 비상용 어레이 및 예비 장치가 있는 고급 RAID 설정은 약간밖에 테스트하지 않았습니다.
# 주의: 이 옵션은 베타 상태이므로 주의해서 사용해야 합니다 # 파티션 방법은 "raid"로 설정합니다. #d-i partman-auto/method string raid # 파티션할 디스크를 지정합니다. 디스크 모두 같은 레이아웃이므로 # 디스크 크기가 동일할 때만 아래 설정이 동작합니다. #d-i partman-auto/disk string /dev/discs/disc0/disc /dev/discs/disc1/disc # 그 다음 사용할 물리적 파티션을 지정합니다. #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 설정에서 어떻게 사용할 지 # 지정합니다. 논리 파티션에 대해 올바른 파티션 번호를 사용하도록 하십시오. # 파라미터는 다음과 같습니다: # <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \ # <devices> <sparedevices> # RAID 레벨 0, 1, 5를 지원합니다. 각 장치는 "#"으로 구분합니다. #d-i partman-auto-raid/recipe string \ # 1 2 0 ext3 / \ # /dev/discs/disc0/part1#/dev/discs/disc1/part1 \ # . \ # 1 2 0 swap - \ # /dev/discs/disc0/part5#/dev/discs/disc1/part5 \ # . \ # 0 2 0 ext3 /home \ # /dev/discs/disc0/part6#/dev/discs/disc1/part6 \ # . # 다음과 같이 하면 파티션 프로그램에서 확인 질문을 하지 않고 파티션합니다. d-i partman-md/confirm boolean true d-i partman/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
# 하드웨어 시계를 UTC로 할 지 여부를 결정합니다 d-i clock-setup/utc boolean true # $TZ로 설정 가능한 값은 뭐든지 쓸 수 있습니다. 설정 가능한 # 값은 /usr/share/zoneinfo/ 아래의 내용을 참고하십시오. d-i time/zone string US/Eastern
/etc/apt/sources.list
의 설정과 기본 설정 옵션은 설치 방법과 그 이전의 질문에 대한 대답에 따라 완전히 자동화됩니다. 추가적으로 다른 레파지토리를 지정할 수 있습니다.
# non-free와 contrib 소프트웨어를 설치할 수 있습니다. #d-i apt-setup/non-free boolean true #d-i apt-setup/contrib boolean true # 네트워크 미러를 사용하지 않으려면 다음의 주석을 지우십시오. #d-i apt-setup/use_mirror boolean false # 보안 소스를 설치하지 않으려면 아래의 주석을 지우고, security.debian.org가 # 아닌 다른 서버를 사용하려면 호스트이름을 추가하십시오. #d-i apt-setup/security_host string # 추가 레파지토리, local[0-9] 사용가능 #d-i apt-setup/local0/repository string \\ # deb http://local.server/debian stable main #d-i apt-setup/local0/comment string local server # deb-src 줄을 만듭니다 #d-i apt-steup/local0/source boolean true # 가까운 저장소의 공개키 URL. 키를 제공하지 않으면 APT가 인증되지 않은 # 저장소에 대해서 오류 메세지를 출력하고 관련 sources.list 줄을 주석 # 처리합니다. #d-i apt-setup/local0/key string http://local.server/key
루트 계정의 열쇠글과 맨 처음 만들게 될 일반 사용자의 이름과 열쇠글도 미리 설정할 수 있습니다. 열쇠글의 경우 원본 텍스트를 그대로 쓸 수도 있고 MD5 해시값을 쓸 수도 있습니다.
미리 설정한 열쇠글은 안전하지 않습니다. 미리 설정 파일을 읽을 수 있는 사람은 열쇠글을 알 수 있기 때문입니다. MD5 해시를 사용하면 보안 측면에서 약간 낫지만, MD5 해시 역시 열쇠글을 계속해서 입력해 보는 방식의 공격에 약하므로 제대로 된 보안이라고 할 수 없습니다.
# 루트 계정을 만들지 않고 넘어갑니다. (일반 유저는 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 # 아니면 MD5 해시로 암호화된 열쇠글을 쓸 수도 있습니다. #d-i passwd/root-password-crypted password [MD5 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 # 아니면 MD5 해시로 암호화된 열쇠글을 쓸 수도 있습니다. #d-i passwd/user-password-crypted password [MD5 hash]
passwd/root-password-crypted
및 passwd/user-password-crypted
변수도 그 값으로 “!”을 써서 미리 설정할 수 있습니다. 이 경우 연관된 게정은 사용할 수 없습니다. 루트 계정의 경우 이렇게 하는 게 편리할 수도 있습니다. 물론 이 경우 또 다른 방법으로 시스템 관리를 할 수 있거나 루트 로그인을 할 수 있는 다른 방법이 있어야 합니다. (예를 들어 SSH 키 인증을 쓰거나 sudo를 사용하는 방법)
열쇠글의 MD5 해시는 다음 명령으로 만들 수 있습니다.
$ echo "r00tme" | mkpasswd -s -H MD5
이 상태에서는 미리 설정할 수 있는 부분이 별로 많지 않습니다. 유일하게 신경 쓸 부분은 커널 설치에 관한 질문입니다.
# 2.6 커널의 initrd를 만드는 initramfs를 선택합니다 #d-i base-installer/kernel/linux/initramfs-generators string yaird
# GRUB은 (x86용) 기본 부트로더입니다. GRUB이 아니라 LILO를 설치하려면, # 다음의 주석을 지우십시오: #d-i grub-installer/skip boolean true # 다음과 같이 설정하는 게 안전합니다. 다음과 같이 하면 컴퓨터에 다른 운영 # 체제를 찾지 못한 경우 자동으로 GRUB을 MBR에 설치합니다. d-i grub-installer/only_debian boolean true # 다음과 같이 하면 다른 운영 체제가 있더라도 GRUB을 MBR에 설치합니다. # 다른 운영 체제를 부팅할 수 없을 수도 있기 때문에 좀 덜 안전한 방법입니다. d-i grub-installer/with_other_os boolean true # 다른 방법으로 MBR이 아닌 위치에 설치하려면, 다음 주석을 지우고 # 편집하십시오. #d-i grub-installer/only_debian boolean false #d-i grub-installer/with_other_os boolean false #d-i grub-installer/bootdev string (hd0,0) # GRUB을 여러 디스크에 설치하려면: #d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0)
사용할 수 있는 태스크는 원하는 대로 설치할 수 있습니다. 현재 이 문서를 쓰는 시점에 사용할 수 있는 태스크는 다음과 같습니다:
표준 시스템
데스크탑
gnome-desktop
kde-desktop
웹 서버
인쇄 서버
dns 서버
파일 서버
메일 서버
SQL 데이터베이스
노트북 컴퓨터
태스크를 설치하지 않을 수도 있고, 다른 방법으로 꾸러미들을 설치할 수 있습니다. 표준 시스템
태스크는 항상 포함하시길 권장합니다.
태스크로 설치한 꾸러미 외에 꾸러미를 더 설치하려면, pkgsel/include
파라미터를 사용하면 됩니다. 이 파라미터의 값은 쉼표나 공백으로 구분할 수 있으므로, 커널 명령행에서도 쉽게 사용할 수 있습니다.
tasksel tasksel/first multiselect standard, desktop #tasksel tasksel/first multiselect standard, web-server #tasksel tasksel/first multiselect standard, kde-desktop "# 추가로 설치할 꾸러미들 "#d-i pkgsel/include string openssh-server build-essential\n" "\n" # 설치 프로그램은 버전에 따라 무엇을 설치했는지 보고서를 보낼 수 있습니다. # 기본값은 보고하지 않는 것이지만, 보고서를 보내면 데비안 프로젝트에서 # 어떤 소프트웨어가 유명하고 CD에 포함하는 게 좋을 지 결정하는 데 도움이 # 됩니다. #popularity-contest popularity-contest/participate boolean false
# 설치가 끝났다는 마지막 메세지를 표시하지 않습니다. d-i finish-install/reboot_in_progress note # 다음과 같이 하면 다시 시작할 때 CD를 빼지 않습니다. # 경우에 따라서는 CD를 빼지 않는 게 좋을 수 있습니다. #d-i cdrom-detect/eject boolean false
데비안의 X 설정을 미리설정할 수도 있지만, 해당 컴퓨터의 비디오 하드웨어에 대한 지식이 필요합니다. 데비안의 X 설정 프로그램은 모든 것을 자동 설정하지 못합니다.
# X는 일부 카드에 대해서 올바른 드라이버를 자동 검색할 수 있지만, 미리 # 설정의 경우에는 자동 검색한 것보다 우선합니다. 아직도 vesa는 대부분의 # 경우에 동작합니다. #xserver-xorg xserver-xorg/config/device/driver select vesa # 마우스 자동 검색은 좀 위험한 부분이 있습니다. 실패하면 X가 계속해서 # 다시 시도합니다. 그러므로 미리 설정을 하면 마우스를 검색하지 못했을 # 때 무한루프테 빠질 가능성이 있습니다. #xserver-xorg xserver-xorg/autodetect_mouse boolean true # 모니터 자동 검색을 하는 게 좋습니다. xserver-xorg xserver-xorg/autodetect_monitor boolean true # LCD 디스플레이라면 다음 줄의 주석을 없애십시오. #xserver-xorg xserver-xfree86/config/monitor/lcd boolean true # X의 모니터 설정은 세 가지 방법이 있습니다. 다음은 "medium"으로 미리 # 설정하는 방법이고 언제나 사용할 수 있습니다. "simple"은 사용할 수 # 없을 수도 있고, "advanced"는 너무 많이 물어봅니다. xserver-xorg xserver-xorg/config/monitor/selection-method \ select medium xserver-xorg xserver-xorg/config/monitor/mode-list \ select 1024x768 @ 60 Hz