Hogyan lehet megtudni a debconf-set-selections változóneveit?
On február 13, 2021 by admin Mondjuk azt, hogy szeretnék telepíteni egy mysql
parancsfájlt anélkül, hogy bármilyen konfigurációs kérdést feltennének nekik, például milyen gyökér jelszót szeretnék beállítani apt
. Ezután beállítanám a debconf
változókat:
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
Ezt egy oktatóanyagtól kaptam. Mi nem világos számomra: Hogyan találta meg a srác a változóneveket? Honnan tudta, hogy be kell állítania a mysql-server-5.5 mysql-server/root_password password
, illetve mysql-server-5.5 mysql-server/root_password_again
?
Tudom, hogy a iv id = “c31d0fb830 kiadásával kibonthattam a .deb
csomagot “>
– de nem látom, hogy ezek a változók hol vannak tárolva.
Hogyan tudnám megtudni a debconf
változókat bármely más csomaghoz?
Válasz
Megtekintheti, hogy mi tárolódik az debconf
mappában a debconf-get-selections
. Ez akkor hasznos, ha már tényleg elvégezte a telepítést.
Alternatívaként ezeket a beállításokat a csomagfenntartó szkriptek használják. Az Ön által futtatott dpkg-deb
paranccsal ezek a DEBIAN
alkönyvtárába tartoznak.
Például: 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
A különféle db_*
függvények a debconf
kezelésére szolgáló segítőfüggvények, amelyeket a /usr/share/debconf/confmodule
.
Tehát , a lightdm
esetén a shared/default-x-display-manager
egy fontos debconf
kulcs.
Válasz
A debconf-show packagename
telepített csomag változóit szerezheti be.
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:
A debconf-show --listowners
, tehát ha nem biztos abban, hogy mi a csomag neve, akkor tehet valami hasonlót:
# 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
Vélemény, hozzászólás?