debconf-set-selections의 변수 이름을 찾는 방법은 무엇입니까?
On 2월 13, 2021 by admin 루트와 같은 구성 질문없이 스크립트에서 mysql
를 설치하고 싶다고 가정 해 보겠습니다. apt
로 설정하려는 비밀번호입니다. 그런 다음 debconf
변수를 사전 설정합니다.
echo mysql-server-5.5 mysql-server/root_password password xyzzy | debconf-set-selections echo mysql-server-5.5 mysql-server/root_password_again password xyzzy | debconf-set-selections
튜토리얼에서 가져 왔습니다. 명확하지 않은 점 : 변수 이름을 어떻게 알아 냈습니까? mysql-server-5.5 mysql-server/root_password password
및 mysql-server-5.5 mysql-server/root_password_again
각각?
iv id = “c31d0fb830을 실행하여 .deb
패키지를 추출 할 수 있다는 것을 알고 있습니다. “>
-하지만 해당 변수가 저장된 위치를 볼 수 없습니다.
다른 패키지에 대한 debconf
변수를 어떻게 찾을 수 있습니까?
답변
iv id를 사용하여 debconf
에 저장된 내용을 검사 할 수 있습니다. = “d1c39c6d96″>
. 이것은 실제로 이미 설치를 완료 한 경우에 유용합니다.
또는 이러한 설정은 패키지 관리자 스크립트 에서 사용됩니다. 실행 한 dpkg-deb
명령을 사용하면 EXTRACTDIR
의 DEBIAN
하위 디렉토리에 있습니다.
예 : lightdm
:
$ grep db_ lightdm/DEBIAN -R lightdm/DEBIAN/postrm: db_purge lightdm/DEBIAN/prerm: db_unregister shared/default-x-display-manager lightdm/DEBIAN/prerm: if db_get shared/default-x-display-manager; then lightdm/DEBIAN/prerm: db_metaget shared/default-x-display-manager owners lightdm/DEBIAN/prerm: db_subst shared/default-x-display-manager choices "$RET" lightdm/DEBIAN/prerm: db_get shared/default-x-display-manager lightdm/DEBIAN/prerm: if db_get "$RET"/daemon_name; then lightdm/DEBIAN/prerm: db_fset shared/default-x-display-manager seen false lightdm/DEBIAN/prerm: db_input critical shared/default-x-display-manager || true lightdm/DEBIAN/prerm: db_go lightdm/DEBIAN/prerm: db_get shared/default-x-display-manager lightdm/DEBIAN/prerm: db_get "$RET"/daemon_name lightdm/DEBIAN/postinst: if db_get shared/default-x-display-manager; then lightdm/DEBIAN/postinst: if db_get "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then lightdm/DEBIAN/postinst:db_stop lightdm/DEBIAN/config:if db_metaget shared/default-x-display-manager owners; then lightdm/DEBIAN/config:if db_metaget shared/default-x-display-manager choices; then lightdm/DEBIAN/config: db_subst shared/default-x-display-manager choices "$OWNERS" || : lightdm/DEBIAN/config: db_fset shared/default-x-display-manager seen false || : lightdm/DEBIAN/config: db_set shared/default-x-display-manager "$CURRENT_DEFAULT" lightdm/DEBIAN/config: if db_get shared/default-x-display-manager; then lightdm/DEBIAN/config: db_set shared/default-x-display-manager lightdm lightdm/DEBIAN/config: db_fset shared/default-x-display-manager seen true lightdm/DEBIAN/config: db_input high shared/default-x-display-manager || : lightdm/DEBIAN/config: db_go || : lightdm/DEBIAN/config:if db_get shared/default-x-display-manager; then
다양한 db_*
함수는 /usr/share/debconf/confmodule
에서 얻은 debconf
처리를위한 도우미 함수입니다.
그래서 , lightdm
의 경우 shared/default-x-display-manager
는 중요한 debconf
키입니다.
답변
debconf-show packagename
설치된 패키지에 대한 변수를 가져올 수 있습니다.
ex.
$ sudo debconf-show mysql-server-5.7 * mysql-server/root_password: (password omitted) * mysql-server/root_password_again: (password omitted) mysql-server-5.7/start_on_boot: true mysql-server/no_upgrade_when_using_ndb: mysql-server/password_mismatch: mysql-server-5.7/really_downgrade: false mysql-server-5.7/nis_warning: mysql-server-5.7/postrm_remove_databases: false mysql-server-5.7/installation_freeze_mode_active:
debconf-show --listowners
이므로 “패키지 이름이 확실하지 않은 경우 다음과 같이 할 수 있습니다.
# debconf-show --listowners | grep mysql | xargs debconf-show * mysql-server/root_password: (password omitted) * mysql-server/root_password_again: (password omitted) mysql-server-5.7/postrm_remove_databases: false mysql-server-5.7/nis_warning: mysql-server-5.7/installation_freeze_mode_active: mysql-server/password_mismatch: mysql-server-5.7/start_on_boot: true mysql-server/no_upgrade_when_using_ndb: mysql-server-5.7/really_downgrade: false
답글 남기기