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
変数を見つけるにはどうすればよいですか?
回答
debconf
に保存されているものは、
。これは、実際にすでにインストールを行っている場合に役立ちます。
または、これらの設定はパッケージメンテナスクリプトで使用されます。実行した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:
を使用して、データベースに変数を持つすべてのインストール済みパッケージのリストを取得できます。 div id = “4b74d3c487″>
なので、パッケージ名がわからない場合は、次のようにすることができます
# 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
コメントを残す