新聞中心
B.2. 使用預(yù)置
您首先要?jiǎng)?chuàng)建一個(gè)預(yù)置文件,并將它置于希望使用的地方。創(chuàng)建預(yù)置文件在后面的附錄中有說明。如果您打算使用網(wǎng)絡(luò)預(yù)置或者從 U 盤讀取,直接將它放到正確的地方就可以了。如果您希望將它放到安裝 ISO 映像上面,那就需要重新制作一個(gè)映像文件。而如何將預(yù)置文件包含到 initrd 里面,超出了本文檔的范圍;請查詢 debian-installer 開發(fā)者文檔。

創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
有一個(gè)預(yù)置文件的例子放在 https://www.debian.org/releases/bullseye/example-preseed.txt,您可以拿它作為自己預(yù)置文件的基礎(chǔ)。此文件基于本附錄所列的配置文件片段。
B.2.1. 加載預(yù)置文件
如果使用 initrd 預(yù)置,您只需確保一個(gè)名為 preseed.cfg 的文件包含在 initrd 的根目錄里面。安裝程序會(huì)自動(dòng)檢測并加載。
其他的預(yù)置方法,您需要在啟動(dòng)的時(shí)候告訴安裝程序所使用的文件。這通過給內(nèi)核傳遞引導(dǎo)參數(shù)完成,可以在啟動(dòng)時(shí)手動(dòng)指定,或者編輯 bootloader 的配置文件(如: syslinux.cfg),并在內(nèi)核的附加行后面添加參數(shù)。
如果在 bootloader 配置里指定預(yù)置文件,可以修改配置而不再需要鍵入回車來引導(dǎo)安裝程序。對于 syslinux,這意味著在 syslinux.cfg 中將超時(shí) timeout 設(shè)置為 1。
為了保證安裝程序得到正確的預(yù)置文件,您可以選擇為預(yù)置文件指定校驗(yàn)和。當(dāng)前使用的是 md5sum,如果指定了,那么配置文件必須匹配,否則安裝程序?qū)⒕芙^使用。
要指定的引導(dǎo)參數(shù): - 如果使用網(wǎng)絡(luò)啟動(dòng): preseed/url=http://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d -或者 preseed/url=tftp://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - 如果從定制的安裝映像啟動(dòng): preseed/file=/cdrom/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d - 如果用 USB 設(shè)備安裝(將預(yù)置文件放入 U 盤的頂極目錄): preseed/file=/hd-media/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
注意,作為引導(dǎo)參數(shù)時(shí) preseed/url 可以縮寫為 url、preseed/file 縮寫為 file、preseed/file/checksum 縮寫為 preseed-md5。
B.2.2. 使用引導(dǎo)參數(shù)預(yù)置問題的答案
如果預(yù)置文件無法設(shè)置一些步驟,安裝也可以完全自動(dòng)進(jìn)行,這是因?yàn)槟梢栽谝龑?dǎo)安裝程序時(shí),在命令行上為內(nèi)核傳遞預(yù)置的值。
引導(dǎo)參數(shù)可以在您不想使用預(yù)置的時(shí)候使用,但只提供一個(gè)特定問題的答案。在本手冊中有一些這樣的示例。
要設(shè)置 debian-installer 中使用的值,只須傳遞 ,它們是本附錄中所列的任何一個(gè)。如果該值是用于配置目標(biāo)系統(tǒng)的軟件包,您需要預(yù)先設(shè)置 path/to/variable=value 中的 owner[20] 變量。如果您不指定 owner,該變量的值不會(huì)復(fù)制到目標(biāo)系統(tǒng)上的 debconf 數(shù)據(jù)庫,并在相關(guān)的軟件包的配置中不使用。 owner:path/to/variable=value
通常,采用這種方式預(yù)置是為了問題不再被詢問。為了設(shè)置一個(gè)問題的默認(rèn)答案,并仍然顯示問題,請使用 “?=” 替換 “=” 作為操作符。參閱 第 B.5.2 節(jié) “使用預(yù)置修改默認(rèn)值”。
注意,一些常用的引導(dǎo)參數(shù)變量有簡寫別名。如果有簡寫形式,它們將會(huì)被用在附錄的例子里面替代全稱。例如,preseed/url 變量簡寫為 url。另一個(gè)例子是 tasks,它轉(zhuǎn)換成 tasksel:tasksel/first。
“---” 在啟動(dòng)選項(xiàng)中有特殊含義。最后一個(gè) “---” 后面出現(xiàn)的內(nèi)核參數(shù)將被復(fù)制到安裝的 bootloader 設(shè)置(假如安裝程序支持 bootloader)。安裝程序可以自動(dòng)發(fā)現(xiàn)它能識(shí)別的選項(xiàng)(就像預(yù)置選項(xiàng))。
| 注意 | |
|---|---|
|
當(dāng)前的 linux 內(nèi)核(2.6.9 和更新的),可以指定最多 32 個(gè)命令行選項(xiàng)和 32 個(gè)環(huán)境變量選項(xiàng),包括安裝程序默認(rèn)的選項(xiàng)。如果數(shù)目超出,內(nèi)核將崩潰。(早期的內(nèi)核,接受的數(shù)目更少。) |
大多數(shù)安裝過程,在引導(dǎo)配置文件中一些默認(rèn)的選項(xiàng),比如 vga=normal,可以放心地刪除,這讓您可以添加更多的預(yù)置選項(xiàng)。
| 注意 | |
|---|---|
|
引導(dǎo)參數(shù)中即使使用引號(hào),也可能無法夾雜空格。 |
B.2.3. auto 模式
有幾個(gè) Debian 安裝程序的特性結(jié)合到一起,在引導(dǎo)提示時(shí)允許相當(dāng)簡單的命令行,導(dǎo)致了任何復(fù)雜的定制化自動(dòng)安裝。
這通過使用 Automated install 引導(dǎo)選擇來啟動(dòng),對一些架構(gòu)或引導(dǎo)方法也被稱為 auto。 在這節(jié)中,這樣 auto 不是參數(shù),它意味著選擇引導(dǎo)選項(xiàng),并在引導(dǎo)提示上增補(bǔ)后面的引導(dǎo)參數(shù)。請參見第 5.1.7 節(jié) “引導(dǎo)屏幕” 如何添加引導(dǎo)參數(shù)的信息。
為了表達(dá)清楚,這里有一些例子,可以用在引導(dǎo)提示符后面:
auto url=autoserver
這需要一個(gè) DHCP 服務(wù)器能找到并且 DNS 可以解析 autoserver,或許要加上 DHCP 提供的本地域名。如果域名是 example.com,并有相應(yīng)的 DHCP 設(shè)置,那么預(yù)置文件將從 http://autoserver.example.com/d-i/bullseye/./preseed.cfg 獲得。
url 的最后一部分(d-i/bullseye/./preseed.cfg)來自 auto-install/defaultroot。默認(rèn)包括 bullseye 目錄,讓將來的版本在可控的方式下指定自己的代號(hào)。/./ 位用來定位相對于根目錄的子目錄(用于 preseed/include 和 preseed/run)。使文件可以指定為完整路徑、以 / 開始的位置或者相對于最后一個(gè)預(yù)置的文件。這樣可以建立更具移植性的腳本,讓各級(jí)腳本完整地移動(dòng)到新的位置而不被破壞。比如,復(fù)制 web 服務(wù)器上的文件到 U 盤。本例中,如果預(yù)置文件的 preseed/run 為 /scripts/late_command.sh,那么文件將從 http://autoserver.example.com/d-i/bullseye/./scripts/late_command.sh 獲得。
如果本地沒有 DHCP 或 DNS,或者您不想使用 preseed.cfg 的默認(rèn)路徑,可以直接指定路徑。并且,如果不使用 /./ 元素,它將定位到路徑的起始點(diǎn) (例如 URL 中的第三個(gè) /)。下面的例子是局域網(wǎng)中最基本的要求:
auto url=http://192.168.1.2/path/to/mypreseed.file
它會(huì)以下列方式運(yùn)作:
-
如果 URL 不含協(xié)議,就使用 http
-
如果主機(jī)名不含域名,將使用 DHCP 提供的,并且
-
如果主機(jī)名后面沒有
/,那么將加上默認(rèn)路徑。
除了指定 url 之外,您還可以指定不直接影響 debian-installer 自己行為的設(shè)置,但是可以傳遞到預(yù)置文件加載的 preseed/run 中的腳本。當(dāng)前,只有一個(gè) auto-install/classes,它的別名是 classes??梢赃@樣用:
auto url=example.comclasses=class_A;class_B
classes 可以指定系統(tǒng)的類型,或者本地化信息。
只要您愿意,當(dāng)然可以擴(kuò)充這個(gè)概念,合理應(yīng)用 auto-install 名字空間就是為了這個(gè)目的。這就可能會(huì)有諸如 auto-install/style 的內(nèi)容加入到您的腳本。如果您覺得需要這樣做,請發(fā)郵件到 郵件列表說明,我們可以避免名字空間的沖突,還可能會(huì)為您增加一個(gè)參數(shù)的別名。
auto 引導(dǎo)先擇并未在所有架構(gòu)上定義。在內(nèi)核命令行上可以通過添加 auto=true priority=critical 兩個(gè)參數(shù)達(dá)到同樣的效果。auto 內(nèi)核參數(shù)是 auto-install/enable 的別名,將其設(shè)為 true 可以延遲 locale 和鍵盤等問題的提出,使其可以提供預(yù)置,其中 priority 是 debconf/priority 的別名,設(shè)置它為 critical 可以禁止在較低優(yōu)先級(jí)下的問題提出。
在使用 DHCP 自動(dòng)安裝時(shí)還有一個(gè)有趣的額外選項(xiàng):interface=auto netcfg/dhcp_timeout=60,這讓機(jī)器使用第一個(gè)可用的網(wǎng)卡并耐心地等待 DHCP 的查詢。
| 提示 | |
|---|---|
|
更多使用此框架的例子,包括示例腳本和類,可以在其開發(fā)者的網(wǎng)站找到。那里的例子還顯示出預(yù)置可以達(dá)到更多的效果。 |
B.2.4. 預(yù)置中有用的別名
下面這些別名在使用(自動(dòng))預(yù)置時(shí)很有用處。注意,它們是提問名稱的簡寫別名,您同時(shí)需要指定一個(gè)對應(yīng)的值:例如,auto=true 或 interface=eth0。
| priority | debconf/priority |
| fb | debian-installer/framebuffer |
| language | debian-installer/language |
| country | debian-installer/country |
| locale | debian-installer/locale |
| theme | debian-installer/theme |
| auto | auto-install/enable |
| classes | auto-install/classes |
| file | preseed/file |
| url | preseed/url |
| domain | netcfg/get_domain |
| hostname | netcfg/get_hostname |
| interface | netcfg/choose_interface |
| protocol | mirror/protocol |
| suite | mirror/suite |
| modules | anna/choose_modules |
| recommends | base-installer/install-recommends |
| tasks | tasksel:tasksel/first |
| desktop | tasksel:tasksel/desktop |
| dmraid | disk-detect/dmraid/enable |
| keymap | keyboard-configuration/xkb-keymap |
| preseed-md5 | preseed/file/checksum |
B.2.5. 引導(dǎo)提示預(yù)置的例子
這里是一些引導(dǎo)提示看起來什么樣子的例子(還需要將這個(gè)與您的需要相適應(yīng);還請參見第 5.1.7 節(jié) “引導(dǎo)屏幕” )。
# To set French as language and France as country: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr country=FR --- quiet # To set English as language and Germany as country, and use a German keyboard layout: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet # To install the MATE desktop: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet # To install the web-server task: /install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web-server ---
B.2.6. 使用 DHCP 服務(wù)器指定預(yù)置文件
還可以使用 DHCP 來指定從網(wǎng)絡(luò)下載的預(yù)置文件。DHCP 允許指定文件名。通常是用于 netboot 的文件,但如果是一個(gè) URL,那么支持網(wǎng)絡(luò)預(yù)置的安裝介質(zhì)就會(huì)從該 URL 下載,并用作預(yù)置文件。這里有一個(gè)在 dhcpd.conf 中使用的例子,它用于 ISC DHCP 服務(wù)器第 3 版(Debian 里面是 isc-dhcp-server 軟件包)。
if substring (option vendor-class-identifier, 0, 3) = "d-i" {
filename "http://host/preseed.cfg";
}
注意,上面的例子中使用的文件名限定 DHCP 客戶端自己是 “d-i”,因此僅適用于安裝程序,而對普通的 DHCP 客戶端無效。您可以將只用于一個(gè)特殊主機(jī)的文字放在一段,以避免預(yù)置網(wǎng)絡(luò)中的其他安裝。
使用 DHCP 預(yù)置的一個(gè)好方法是僅預(yù)置網(wǎng)絡(luò)相關(guān)的值,比如所使用的 Debian 鏡像。這種方式下在網(wǎng)絡(luò)中安裝將會(huì)自動(dòng)選擇一個(gè)合適的鏡像,而其余的安裝部分仍可以交互進(jìn)行。使用 DHCP 預(yù)置進(jìn)行完整的 Debian 自動(dòng)安裝應(yīng)該特別小心。
[20] debconf 變量(或模板)的 owner 通常是包含對應(yīng) debconf 模板的軟件包明。對于安裝程序自己使用的變量,owner 是 “d-i”。模板和變量可以有多個(gè) owner,以助于刪除軟件包時(shí)判斷它們是否要從 debconf 數(shù)據(jù)庫中刪除。
網(wǎng)頁名稱:【DebianGNU/Linux安裝手冊】B.2.?使用預(yù)置
網(wǎng)站URL:http://fisionsoft.com.cn/article/dpigopc.html


咨詢
建站咨詢
