미리 설정에서 debconf 변수가 어떻게 초기화되는지 이해할 수 없습니다

미리 설정에서 debconf 변수가 어떻게 초기화되는지 이해할 수 없습니다

최근 연구실을 물려받았는데, 아쉽게도 그 설치 책임자가 조직을 떠났습니다. pxe 설치 과정을 이해하려고 하는데 사전 설정 구성에서 debconf 변수를 초기화하는 데 문제가 있습니다.

사전 설정 구성의 일부:

### 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/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"

debconf 변수를 초기화하는 방법에 대해 인터넷 검색을 많이 시도했지만 여기서 기본 구성으로 초기화되는 방식을 이해할 수 없었습니다. 누군가 이것이 어떻게 수행되는지 이해하도록 도와줄 수 있습니까?

답변1

사전 설정은 정의된 변수를 소유 변수 에 대한 적절한 debconf데이터베이스 설치 프로그램 변수 와 다른 변수에 대한 시스템(in) 변수에 저장합니다. 따라서 모든 변수는 궁극적으로 시스템 데이터베이스에 저장됩니다.d-i/var/cache/debconfbase-configdebconf

db_get에서 제공하는 는 /usr/share/debconf/confmodule데이터베이스에서 지정된 변수의 값을 검색하여 변수 debconf에 저장합니다 . RET그래서

db_get test/ubuntu/release
export RELEASE="$RET"

값을 검색하여 test/ubuntu/release환경 변수에 저장합니다 RELEASE.

바라보다데비안 위키의 사전 설정 페이지사전 설정에 대한 세부정보 및debconf데비안 위키 페이지세부사항 debconf.

관련 정보