Debian
無法理解在預置配置中初始化 debconf 變數的方式
最近我繼承了一個實驗室,但不幸的是,設置的人已經離開了組織。在預置配置中初始化 debconf 變數時,我在理解 pxe 安裝流程時遇到了麻煩。
預置配置的一部分:
### Account setup d-i passwd/user-fullname string TEST User d-i passwd/username string test d-i passwd/user-password-crypted password xxxxxxxxxxxxxxxxxxxxxxxxxxx d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false ### Boot loader installation d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true ### Finishing up the installation d-i finish-install/reboot_in_progress note ### Custom stuff, update pre-late.sh if creating new variables base-config test/http/server string base-config test/ubuntu/release string 16.04 base-config test/nfs/server string 10.44.55.5 base-config test/nfs/config string /export/vol01/ubuntu/config base-config test/nis/domain string ccd base-config test/nis/server string 10.44.55.100 10.44.55.101 #### Advanced options d-i preseed/late_command string wget http://10.44.55.5/ubuntu/config/pre-late.sh -O /tmp/pre-late.sh; sh -x /tmp/pre-late.sh d-i preseed/run string classes.sh
上面提到的 debconf 變數 test/ubuntu/release、test/nfs/server、test/nfs/config、test/nfs/domain 和 test/nis/server 正在被提取並在 pre_late-sh 中設置如下所示的環境變數在上述 preseed 配置中使用 preseed/late_command 執行的腳本。
#!/bin/sh #Source debconf library . /usr/share/debconf/confmodule db_get test/ubuntu/release export RELEASE="$RET" db_get test/nfs/server export NFS_SERVER="$RET" db_get test/nfs/config export NFS_CONFIG="$RET" db_get test/nis/domain export NIS_DOMAIN="$RET" db_get test/nis/server export NIS_SERVER="$RET"
我試圖用Google搜尋很多關於初始化 debconf 變數的方式,但無法理解它們在此處使用 base-config 初始化的方式。有人可以幫助我了解這是如何完成的嗎?
預置將定義的變數儲存在適當的
debconf
數據庫中;安裝程序用於 -d-i
擁有的變數,系統的 (in/var/cache/debconf
) 用於其他變數。因此,所有base-config
變數最終都儲存在系統debconf
數據庫中。
db_get
,由 提供/usr/share/debconf/confmodule
,從數據庫中檢索命名變數的值debconf
,並將其儲存在RET
變數中。所以db_get test/ubuntu/release export RELEASE="$RET"
檢索 的值
test/ubuntu/release
,並將其儲存在環境變數RELEASE
中。有關預置的詳細資訊,請參見Debian wiki 上的預置頁面
debconf
,有關debconf
.