這是一個完整的用於自動安裝的預先設定檔的實例。使用的說明在 節 4.7, "自動化安裝"。您可以在使用該檔案前移除某些行前面的註解。
為了能在手冊中正確示範這個例子,我們不得不分割一些設定行。透過使用行連接符號 "\" 和下一行的縮排標記。在實際的設定檔中,這些分割的設定行必須合併成 單獨的一行。 如果您沒有這樣做,預先設定檔會造成不可預估的失敗。
一個"乾淨的"範例檔包含在安裝光碟的 /doc/install/manual 目錄,網際網路上位於 http://www.debian.org/releases/sarge/example-preseed.txt。
#### 修改 syslinux.cfg.
# 修改 syslinux.cfg (或類似的檔案) 並在各行尾端加入核心參數。
#
# 您至少要加入一項參數以告知安裝程式預先設定檔的位置。
# 如果您從 USB 媒介安裝,使用以下參數,並將預先設定檔放在 USB 隨身碟的最上層
# 目錄。
# preseed/file=/hd-media/preseed
# 如果您以網路開機,使用以下參數:
# preseed/url=http://host/path/to/preseed
# 如果您使用光碟,您可以設定:
# preseed/file=/cdrom/preseed
# 請確定把預先設定檔複製到您所指定的位置。
#
# 您可以指定檢查和 (checksum) 數值來確保安裝程式取得正確的預先設定檔。
# 目前必須使用 md5sum 檢查和,一旦檢查和被指定,就必須和檔案的檢查和相同,
# 否則安裝程式將會拒絕使用此檔案。(Sarge 安裝程式不支援檢查和功能)
#
# preseed/url/checksum=5da499872becccfeda2c4872f9171c3d
# preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
#
# 您也許想要在預先設定檔中設置 debconf/priority=critical 以省略大部分問題 (
# 儘管在接下來的預先設置中您可能會遺漏某些參數)。您也可以將倒數設定為 1,這
# 樣就不用按下 enter 鍵來啟動安裝程式。
#
# 語言、國家和鍵盤配置無法在預先設定檔中做預設,因為這些問題會在預先設定檔被
# 載入之前提出。欲略過這些問題,請加入核心參數。
# 如果您使用 sarge 安裝程式,請加入以下三項:
#
# languagechooser/language-name=English
# countrychooser/shortlist=US
# console-keymaps-at/keymap=us
#
# 較新版本的安裝程式只需要兩項:
#
# debian-installer/locale=en_US
# console-keymaps-at/keymap=us
#
# 請注意,核心最多接受 8 個命令列參數、8 個環境選項 (包括被安裝程式自動帶入
# 的參數)。如果超過這兩個限制,2.4 版的核心會忽略超過的參數,而 2.6 版的核心
# 會產生錯誤 (panic)。比 2.6.9 更新的核心版本可以使用 32 個命令列參數和 32
# 個環境選項。
#
# 大部分狀況下,可以移除 'vga=normal' 此一預設選項,藉此加入更多預設參數。
#### 介殼命令
# d-i的預先設置是不安全的,安裝程式將不會檢查這類設定檔中的參數是否會造成暫
# 存滿溢或是設定不足。因此,請確定您從可信任的地方存取預先設定檔!接下來將詳
# 述在安裝程式中執行介殼命令的方法,這非常的實用。
# 這個命令應該在讀取預先設定檔之後立刻被執行
#d-i preseed/early_command string \
# wget http://url/to/my.udeb -O /tmp/my.udeb; udpkg -i /tmp/my.udeb
# 這個命令在安裝程式結束的前一步執行,但 /target 目錄必須存在且可以使用。
#d-i preseed/late_command string \
# for deb in /hd-media/*.deb; do cp $deb /target/tmp; \
# chroot /target dpkg -i /tmp/$(basename $deb); done
# 這個指令在 base-config 執行的時候被執行。
#base-config base-config/early_command string echo hi mom
# 這個指令在 base-config 結束之後、login: 提示號之前被執行。如果您想安裝某些
# 軟體套件,或是調整系統設定,這將是一個好方法。
#base-config base-config/late_command string \
# apt-get install zsh; chsh -s /bin/zsh
#### 網路設定
# 如果您從網路開機,這部分內容當然不適用。但如果您是以 USB 隨碟或是光碟開機
# ,您仍可以設定核心的網路設定參數以從網路讀取預先設定檔
# 如果有可用連線,netcfg 將會選擇其中一條。如果有一條以上的連線,將不會顯示
# 連線清單。
d-i netcfg/choose_interface select auto
# 如果您想要手動設定網路,請參考以下方法:
#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
# 某些 ISP 供應商用奇怪的 DHCP 主機名稱來當作密碼一類的用途。
#d-i netcfg/dhcp_hostname string radish
#### 設定鏡像站
d-i mirror/country string enter information manually
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/suite string testing
d-i mirror/http/proxy string
### 分割磁區
# 如果系統還有剩餘空間,您可以要求只分割該剩餘空間。
#d-i partman-auto/init_automatically_partition \
# select Use the largest continuous free space
# 或者,您可以選擇要被分割的磁碟,設備的名稱可以用 devfs 格式或是傳統的
# 非devfs 格式指定。例如,第一個磁碟的 devfs 名稱為:
d-i partman-auto/disk string /dev/discs/disc0/disc
# 您可以選擇任何預設的分割方式:
d-i partman-auto/choose_recipe select \
All files in one partition (recommended for new users)
#d-i partman-auto/choose_recipe select Desktop machine
#d-i partman-auto/choose_recipe select Multi-user workstation
# 或是提供您自己的分割方式...
# 設定分割方法的格式請參考 devel/partman-auto-recipe.txt。
# 如果您有任何其他的分割方式設定檔,您也可以直接指定:
#d-i partman-auto/expert_recipe_file string /hd-media/recipe
# 如果沒有,您可以加入一行設定,下面範例會建立一個 /boot 小分割區,大小適中
# 的置換分割區,並把剩下的空間分配給根分割區:
#d-i partman-auto/expert_recipe string boot-root :: \
# 20 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{ } .
# 下面用適合閱讀的格式表示同樣的設定,以利您參考:
# 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
#### 安裝 boot-loader
# Grub 是預設的 boot-loader (在 x86 下),如果您想安裝 lilo,移除下面設定的
# 註解:
#d-i grub-installer/skip boolean true
# 請安心使用以下設定,這將使 grub 在沒有其他作業系統的情況下自動安裝
# 到 MBR。
d-i grub-installer/only_debian boolean true
# 這會讓 grub-installer 在有其他作業系統的狀況下仍安裝 grub 到 MBR。這可能會
# 您無法啟動其他作業系統。
d-i grub-installer/with_other_os boolean true
# 或者,若您想要把 grub 安裝到 MBR 以外的地方,把下面數行加上註解:
#d-i grub-installer/bootdev string (hd0,0)
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
##### 結束安裝程序的第一階段
# 取消安裝即將結束的訊息。
d-i prebaseconfig/reboot_in_progress note
##### 預先設定 base-config
# 取消介紹訊息。
base-config base-config/intro note
# 取消最後的訊息
base-config base-config/login note
# 如果您安裝了顯示管理程式,但又不想在 base-config 結束後立刻啟動之:
#base-config base-config/start-display-manager boolean false
# 安裝程式的某些版本能夠回報您安裝了什麼,預設為不回報,但是送出回報能夠幫
# 助專案得知哪些軟體很熱門,並將之放入光碟中。
#popularity-contest popularity-contest/participate boolean false
###### 設定時區
# 決定硬體時間是否被設定成 GMT 時間。
base-config tzconfig/gmt boolean true
# 簡單的時區預設。您可以選擇任何可用的設定值給 $TZ。請參考
# /usr/share/zoneinf/ 中的選項
base-config tzconfig/preseed_zone string US/Eastern
# 時區的預先設置曾經很複雜,舊的設定方式將完整描述於下文,如果您正在使用 sarge,
# 您需要下面的方法。
# 如果您告訴安裝程式您位於美國,那麼您可以用此變數設定時區。
# (選項有:Eastern, Central, Mountain, Pacific, Alaska, Hawaii, Aleutian,
# Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other)
base-config tzconfig/choose_country_zone/US select Eastern
# 如果您位於加拿大
# (選項有:Newfoundland, Atlantic, Eastern, Central,
# East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other)
base-config tzconfig/choose_country_zone/CA select Eastern
# 如果您位於巴西 (Choices are: East, West, Acre,
# DeNoronha, other)
base-config tzconfig/choose_country_zone/BR select East
# 很多國家只有一個時區,如果您告訴安裝程式您位於那些國家之一,您可以透過以
# 下問題來選擇標準時區。
base-config tzconfig/choose_country_zone_single boolean true
# 這個問題是為了確認上述中具有多個時區國家之外的國家。您可以選擇其中一個時
# 區或是 "other"。
#base-config tzconfig/choose_country_zone_multiple select
###### 設定帳號
# 欲設定 root 的密碼,您必須在這個檔案中以明文表示。這不是個好做法,請小心
# 使用!
#passwd passwd/root-password password r00tme
#passwd passwd/root-password-again password r00tme
# 如果您想跳過建立一般使用者帳號的步驟:
#passwd passwd/make-user boolean false
# 或者,您可以預先設定使用者全名和登入帳號。
#passwd passwd/user-fullname string Debian User
#passwd passwd/username string debian
# 以及密碼,但請小心使用這個設定!
#passwd passwd/user-password password insecure
#passwd passwd/user-password-again password insecure
###### 設定 Apt
# 這個問題決定在第二階段中軟體套件的來源,可選的有 cdrom、http、ftp、
# filesystem 和 edit source list manually。
# by hand
base-config apt-setup/uri_type select http
# 如果您選擇 ftp 或 http,您將會被詢問國家和鏡像站。
base-config apt-setup/country select enter information manually
base-config apt-setup/hostname string http.us.debian.org
base-config apt-setup/directory string /debian
# Stop after choosing one mirror.
base-config apt-setup/another boolean false
# 您可以選擇是否安裝 non-free 和 contrib 軟體。
#base-config apt-setup/non-free boolean true
#base-config apt-setup/contrib boolean true
# 啟用安全更新。
base-config apt-setup/security-updates boolean true
###### 選擇軟體套件
# 您可以選擇安裝任何組合的可用軟體集。本文中可用的軟體集有:
# Desktop environment, Web server, Print server, DNS server, File server
# Mail server, SQL database 和 manual package selection。最後一個選項將會
# 執行 aptitude。您也可以不安裝軟體集,並以其他方式強迫安裝其他軟體套件。
tasksel tasksel/first multiselect Desktop environment
#tasksel tasksel/first multiselect Web server, Mail server, DNS server
###### 郵件設定
# 在一般安裝中,exit 只會問兩個問題,下面告訴您如何跳過這兩個問題。您也可以
# 設置更複雜的預先設定。
exim4-config exim4/dc_eximconfig_configtype \
select no configuration at this time
exim4-config exim4/no_config boolean true
# 建議您對任何您建立的使用者帳號作以下的設定,如果這個選項留白,那麼
# postmaster 的郵件將會存到 /var/mail/mail.
exim4-config exim4/dc_postmaster string
###### 設定 X
# 您也可以預先設定 Debian 的 X。但是您可能需要知道顯示硬體的細節,因為
# Debian 的 X 設定程式不會自動設定所有的參數。
# X 可以正確偵測某些顯示卡的驅動程式,但如果您使用預先設定,您將會蓋過自動
# 偵測的結果。不過,VESA 能在大多數狀況下使用。
#xserver-xfree86 xserver-xfree86/config/device/driver select vesa
# 這裡必須警告您,如果 X 無法偵測到滑鼠,它將會不斷嘗試。所以,如果您預先設定
# 了滑鼠,那麼就有可能陷入偵測不到滑鼠的無限迴圈。
#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true
# 建議您使用自動偵測顯示器
xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
# 如果使用液晶顯示器,請註解下面設定。
#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
# X 有三種階級來設定顯示器,下面是 "medium" 階級的設定,理當永久可用。而
# "simple" 階級可能不會永久可用,至於 "advanced" 則會詢問非常多問題。
xserver-xfree86 xserver-xfree86/config/monitor/selection-method \
select medium
xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
select 1024x768 @ 60 Hz
###### 其他
# 根據您所安裝的軟體,或是安裝過程中出現的錯誤,其他問題可能會被提及。您也可
# 預先設定它們。您可以藉由執行安裝程式,並且執行下面指令以取得其他問題的
# 清單:
# debconf-get-selections --installer
> file
# debconf-get-selections
>
> file
# 如果您喜歡,您可以帶入其他預先設定檔到此檔案中。那些檔案中的設定將會覆蓋本
# 檔案之前有設定的部份。您可以帶入一個以上的預先設定檔,請以空白格開。這些
# 檔案也可以帶入它們自己的預先設定指令。請注意,如果檔案路徑是以相對路徑
# 表示,那麼將從帶入它們的父檔案所處位置開始。
#d-i preseed/include string x.cfg
# 安裝程式在使用預先設定檔之前得確認該檔案的檢查和。目前只支援 md5sum,按照
# 引入的檔案順序列出這些檔案的檢查和。(Sarge 安裝程式不支援檢查和。)
#d-i pressed/include/checksum string 5da499872becccfeda2c4872f9171c3d
# 或者您可以更靈活的設定,下面的介殼命令會決定預先設定設定檔的名稱。例如,
# 在 USB 隨身碟 (在這個範例中,為一內建讀卡機) 下的設定檔之中切換:
#d-i preseed/include_command string \
# if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \
# then echo kraken.cfg; else echo otherusb.cfg; fi
# 在安裝之前您可以檢查您的預先設置檔語法是否正確,請使用:
# debconf-set-selections -c preseed.cfg