Digamos que eu queira instalar a mysql
partir de um script sem que sejam feitas perguntas de configuração, como qual senha de root eu quero definir por apt
. Eu então predefiniria as debconf
variáveis:
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
Eu peguei isso de um tutorial. O que não está claro para mim: como o cara descobriu os nomes das variáveis? Como ele sabia que tinha que definir mysql-server-5.5 mysql-server/root_password password
e mysql-server-5.5 mysql-server/root_password_again
respectivamente?
Eu sei que poderia extrair o .deb
pacote emitindo dpkg-deb -R package.deb EXTRACTDIR/
- mas não vejo onde essas variáveis estão armazenadas.
Como eu descobriria as debconf
variáveis para qualquer outro pacote?
Você pode obter as variáveis para um pacote instalado específico usando
debconf-show packagename
ex.
Você pode obter uma lista de todos os pacotes instalados que possuem variáveis no banco de dados usando
debconf-show --listowners
, portanto, se você não tiver certeza de qual é o nome do pacote, poderá fazer algo comoVocê pode inspecionar o que é armazenado
debconf
usandodebconf-get-selections
. Isso é útil se você já tiver feito a instalação.Alternativamente, essas configurações são usadas nos scripts do mantenedor do pacote . Com o
dpkg-deb
comando que você executou, eles estão noDEBIAN
subdiretório deEXTRACTDIR
.Como exemplo, de
lightdm
:As várias
db_*
funções são funções auxiliares de manuseiodebconf
, obtidas de/usr/share/debconf/confmodule
.Então, no caso de
lightdm
,shared/default-x-display-manager
é umadebconf
chave importante.