Kuinka selvittää muuttujien nimet debconf-set-valinnoille?
On helmikuu 13, 2021 by admin Sanotaan, että haluan asentaa mysql
komentotiedostosta ilman, että kysytään kokoonpanokysymyksiä, kuten mikä root salasana, jonka haluan asettaa apt
. Esiasentaisin sitten debconf
-muuttujat:
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
Sain tämän opetusohjelmasta. Mikä minulle on epäselvää: Kuinka kaveri sai selville muuttujien nimet? Mistä hän tiesi, että hänen oli asetettava mysql-server-5.5 mysql-server/root_password password
ja mysql-server-5.5 mysql-server/root_password_again
?
Tiedän, että voisin purkaa paketin .deb
antamalla dpkg-deb -R package.deb EXTRACTDIR/
– mutta en tiedä, mihin muuttujat on tallennettu.
Kuinka saan selville muuttujat debconf
?
vastaus
Voit tarkistaa, mitä tallennetaan kansioon debconf
käyttämällä debconf-get-selections
. Tästä on hyötyä, jos olet itse tehnyt asennuksen jo valmiiksi.
Vaihtoehtoisesti näitä asetuksia käytetään paketin ylläpitäjän komentosarjoissa . Suorittamallasi komennolla dpkg-deb
nämä ovat DEBIAN
-alihakemistossa EXTRACTDIR
.
Esimerkiksi 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
Erilaiset db_*
-toiminnot ovat aputoimintoja debconf
-tietojen käsittelemiseksi, jotka on saatu osoitteesta /usr/share/debconf/confmodule
. , lightdm
, shared/default-x-display-manager
on tärkeä debconf
-näppäin.
vastaus
Voit saada muuttujia tietylle asennetulle paketille käyttämällä 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:
Voit saada luettelon kaikista asennetuista paketeista, joissa on muuttujia tietokannassa, käyttämällä debconf-show --listowners
, joten jos et ole varma, mikä paketin nimi on, voit tehdä jotain seuraavista:
# 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
Vastaa