Wie finde ich die Variablennamen für die Debconf-Set-Auswahl heraus?
On Februar 13, 2021 by admin Nehmen wir an, ich möchte mysql
aus einem Skript installieren, ohne Konfigurationsfragen wie „root“ zu stellen Passwort, das ich mit apt
festlegen möchte. Ich würde dann die Variablen debconf
voreingestellt:
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
Ich habe dies aus einem Tutorial erhalten. Was mir unklar ist: Wie hat der Typ die Variablennamen herausgefunden? Woher wusste er, dass er mysql-server-5.5 mysql-server/root_password password
und mysql-server-5.5 mysql-server/root_password_again
?
Ich weiß, dass ich das Paket .deb
durch Ausgabe von – aber ich sehe nicht, wo diese Variablen gespeichert sind.
Wie würde ich die debconf
-Variablen für ein anderes Paket herausfinden?
Antwort
Mit iv id können Sie überprüfen, was in debconf
gespeichert wird = „d1c39c6d96″>
. Dies ist nützlich, wenn Sie die Installation bereits durchgeführt haben.
Alternativ werden diese Einstellungen in den Paketsicherungsskripten verwendet. Mit dem Befehl dpkg-deb
, den Sie ausgeführt haben, befinden sich diese im Unterverzeichnis DEBIAN
von EXTRACTDIR
.
Als Beispiel aus 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
Die verschiedenen db_*
-Funktionen sind Hilfsfunktionen für die Behandlung von debconf
, die von /usr/share/debconf/confmodule
erhalten werden.
Also Im Fall von lightdm
ist shared/default-x-display-manager
ein wichtiger debconf
Schlüssel.
Antwort
Sie können die Variablen für ein bestimmtes installiertes Paket mit 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:
Mit debconf-show --listowners
Wenn Sie sich also nicht sicher sind, wie der Paketname lautet, können Sie beispielsweise
# 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
ausführen
Schreibe einen Kommentar