DEBCONF.CONF(F) DEBCONF.CONF(F) NOME debconf.conf - arquivo de configurao NOTE This translated man page is out of date -- it does not document the LDAP database driver. See the English version for a more current version. DESCRIO Debconf um sistema de configurao de pacotes Debian. /etc/debconf.conf e ~/.debconfrc so arquivos de configurao que o debconf usa para determinar quais base de dados deve usar. Estas base de dados so usadas para armazenar dois tipos de informao; dados de configurao dinmicos que o usu- rios insere na base e dados de modelos (templates) estti- cos. O Debconf oferece um backend de base de dados flexvel e extensvel. Novos controladores podem ser criados com um mnimo de esforo e conjuntos de controladores podem ser combinados de diversas formas. RESUMO # Este um arquivo de configurao de exemplo que # suficiente para usar o debconf. Config: configdb Templates: templatedb Name: configdb Driver: File Filename: /var/cache/debconf/config.dat Name: templatedb Driver: File Mode: 644 Filename: /var/cache/debconf/templates.dat FORMATO DO ARQUIVO O formato deste arquivo uma srie de estrofes, cada uma separada por pelo menos uma linha conpletamente em branco. Linhas de comentrio iniciando com um caracter "#" so igno- radas. A primeira estrofe do arquivos especial, usada para con- figurar o debconf como um todo. Dois campos so requeridos neste primeira estrofe : Config Especifica o nome da base de dados a partir da qual carregar dados de configurao. Templates Especifica o nome da base de dados a usar para o cache de modelos. Arquivos adicionais que podem ser includos : Frontend O frontend que o Debconf deve usar, sobree- screvendo qualquer frontend definido na base de dados debconf. Priority A prioridade que o Debconf deve usar, sobreescrevendo qualquer prioridade definida na base de dados debconf. Admin-Email O endereo de e-mail para o qual o Debconf deve enviar mensagens caso precise certi- ficar-se que o adminstrador tenha visto uma nota importante. O padro "root", mas pode ser definido para qualquer endereo de e-mail vlido para o qual a mensagem possa ser envi- ada. Caso voc prefira que o debconf nunca envie e-mail para voc, especifique um endereo em branco. Isto pode ser sobree- scrito em tempo de execucao com a varivel de ambiente DEBCONF_ADMIN_EMAIL. Debug Caso definido, far com que o debconf envia a sada de informao de depurao para a sada de erros padro. O valor que pode ser configu- rado algo como "user", "developer", "db" ou uma expresso regular. Tipicamente, ao invs de definir este valor permanentemente em um arquivo de configurao voc desejar habilitar a depurao somente temporariamente e a varivel de ambiente DEBCONF_DEBUG pode ser definida para cumprir exatamente isso. Log Faz com que o debconf grave informao de depurao para o syslog quando ele executado. O valor para o qual definido controla o que logado. Veja Debug acima para uma explicao dos valores que podem ser definidos para controlar o que logado. Terse Caso definido pata "true", faz com que alguns frontends debconf usem um modo de display especial resumido o qual envia como sada o mnimo possvel. O padro falso. O modo resumido pode ser temporariamente definido atravs da varivel de ambiente DEBCONF_TERSE. Por exemplo, a primeira estrofe de um arquivo poderia se parecer com : Config: configdb Templates: templatedb Cada estrofe restante no arquivo configura uma base de dados. Uma estrofe base de dados inicia pela nomeao da base de dados : Name: configdb Ento indica qual controlador de base de dados dever ser usado para esta base de dados. Veja CONTROLADORES, abaixo, para informaes sobre quais controladores esto disponveis. Driver: File Voc pode indicar que a base de dados no essencial para o funcionamento correto do debconf dizendo que a mesma no requerida. Isto far com que o debconf se ajeite de alguma maneira caso a base de dados falhe por alguma razo. Required: false Voc pode marcar qualquer base de dados como somente leitura e o debconf no gravar na mesma. Readonly: true Voc pode tambm limitar quais tipos de dados podem ir para uma base de dados com linhas Accept- e Reject-; veja CON- TROLES DE ACESSO, abaixo. O restante de cada estrofe da base de dados usado para fornecer configurao especfica para o controlador. Por exemplo, o controlador Text precisa saber o diretrio onde colocar a base de dados, ento voc poderia dizer: Filename: /var/cache/debconf/config.dat CONTROLADORES Diversos controladores esto disponveis, e outros podem ser escritos com pouco esforo. Controladores existem em trs tipos genricos. Primeiro, existem controladores reais -- controladores que atualmente acessam e armazenam dados em algum tipo de base de dados, as quais podem estar no sis- tema de arquivos local ou em um sistema remoto. E ento existem meta-controladores que combinam outros contro- ladores juntos para formar sistemas mais interessantes. Vamos comear com o primeiro. File Este controlador de base de dados permite ao debconf armazenar uma base de dados completa em um nico arquivo texto comum. Isto faz com que seja fcil arquivar, transferir entre mquins e editar. Este um dos formatos de base de dados mais compactos em termos de espao em disco utilizado. Como ponto negativo, o arquivo inteiro pre- cisa ser lido cada vez que o debconf inicia, e grav-lo tambm lento. As seguintes opes so coinfigurveis para este controlador. p Filename O arquivo a usar como base de dados. Este um campo requerido. Mode As permisses com as quais criar o arquivo caso ele no exista. O padro 600, uma vez que o arquivo pode conter senhas em algumas circunstn- cias. Format O formato do arquivo. Veja FORMATOS abaixo. O padro usar um arquivo como no for- mato rfc-822. Backup Se um backup do arquivo antigo dever ser feito antes de mud-lo. O padro true (verdadeiro). Um exemplo de estrofe configurando uma base de dados usando este controlador : Name: mydb Driver: File Filename: /var/cache/debconf/mydb.dat DirTree Este controlador de base de dados permite ao debconf armazenar dados em uma hierarquia de estrutura de diretrios. Os nomes dos vrios modelos e questes debconf so usados como esto para formar diretrios com arquivos em seu interior. Este formato para a base de dados o mais fcil de navegar e de se estu- dar manualmente. Possui velocidades de car- regamento e gravao muito boas. Tambm ocupa tipicamente o maior espao, uma vez que uma opro de pequenos arquivos e subdiretrios ocupam espao adicional. As seguintes opes so configurveis para este controlador. Directory O diretrio no qual colocar os arquivos. Requerido. Extension Uma extenso com o qual pre- fixar os arquivos. Deve ser definida para uma string no vazia; o padro ".dat" Format O formato do arquivo. Veja FORMATOS abaixo. O padro usar um formato como o rfc-822. Uma estrofe de exemplo configurando uma base de dados usando este controlador : Name: mydb Driver: DirTree Directory: /var/cache/debconf/mydb Extension: .txt Directory Este controlador de base de dados o mesmo que o controlador DirTree, exceto que todos os arquivos so colocados em um diretrio. Isto destinado principalmente para futura compatibilidade com o cdebconf. Adiconal- mente, diferente do DirTree, o campo Exten- sion no requerido para este controlador. Pipe Este controlador de base de dados de prpos- ito especial l e grava a base de dados da entrada/sada padro. Pode ser til para pes- soas com necessidades especiais. As seguintes opes so configurveis para este controlador : Format O formato para ler e gravar. Veja FORMATOS abaixo. O padro usar um formato como a rfc-822. Infd Nmero do descritor de arquivo a partir do qual ler. O padro ler da entrada padro (stdin). Caso definido para "none", a base de dados no ir ler nen- hum dado na inicializao. Outfd Nmero do descritor de arquivo para o qual gravar. O padro gravar na sada padro (std- out). Isto tudo sobre controladores reais, agora vamos para os meta-controladores .. Stack Este controlador empilha vrias outras base de dados (de qualquer tipo) e permite que as mesmas sejam acessadas como se fossem somente uma. Quando o debconf pergunta por um valor, a primeira base de dados na pilha que contm o valor o retorna. Caso o debconf escreva algo na base de dados, a escrita normalmente vai para o primeiro controlador na pilha que possui o item que o debconf est modificando, e caso nenhum tenha, o novo item adicionado para o primeira base de dados gravvel na pilha. As coisas se tornam mais interessantes se uma das base de dados na pilha somente leitura. Considere uma pilha de base de dados foo, bar e baz, one foo e baz so amas somente leitura. o Debconf quer modificar um item, e esse item est presente somente em baz, a qual somente leitura. O controlador Stack (pilha) inteligente o bastante para entender que isso no funcionar, ir copiar o item de baz para bar e a gravao ser feita em bar. Agora o item em baz sombreado pelo item em bar e no ser mais para o debconf. Este tipo de coisa particularmente til se voc quer apontar muitos para uma base de dados central somente leitura, enquanto con- tinua permitindo que as coisas sejam sobree- scritas em cada sistema. Quando controles de acesso so adicionados a brincadeira, pilhas permitem que voc faa muitas outras coisas interessantes, como redirecionar todas as senhas para uma base de dados enquanto a base de dados abaixo dessa gerencia tudo mais. Somente um pouco de configurao necessrio para configurar uma pilha : Stack onde voc especifica uma lista de outras base de dados, por nome, para dizer a pilha o que a compe. Por exemplo : Name: megadb Driver: stack Stack: passworddb, configdb, companydb AVISO: O controlador stack ainda no muito bem testado. Use por seu prprio risco. Backup Este controlador passa todas as requisies para outro controlador de base de dados. Mas tambm copia todas as requisies de gravao para um controlador de base de dados backup. Voc deve especificar os seguintes campos para configurar este controlador : Db A base de dados a partir da qual ler e para a qual gravar. Backupdb O nome da base de dados para a qual enviar cpias das gravaes. Por exemplo : Name: backup Driver: Backup Backupdb: mydb Backup: mybackupdb Debug Este controlador passa todas as requisies para outro controlador de base de dados, exibindo sada de depurao verbosa sobre as requisies e resultados. Voc deve especficar os seguintes campos para configurar este controlador : Db A base de dados a partir da qual ler e para a qual gravar. CONTROLES DE ACCESSO Quando voc configura ua base de dados, voc pode tambm usar alguns campos para especificar controles de acesso. Voc pode especificar que uma base de dados somente aceita senhas, por exemplo, ou fazer com que a base de dados aceite somente coisas com "foo" em seu nome. Readonly Como mencionado anteriormente, este controle de acesso, caso definido para "true", faz com que uma base de dados seja somente leitura. O Debconf ir ler valores a partir da mesma, mas nunca ir gravar coisa alguma nela. Accept-Name O texto nesse campo uma expresso regular compatvel com perl, a qual comparada com os nomes dos items a medida que os mesmos so requisitados a partir da base de dados. A base de dados permitir ao debconf acess-la ou modific-la somente se os nomes dos items casarem com a expresso regular. Reject-Name Como Accept-Name, exceto que qualquer nome de item que case com o expresso regular ser rejeitado. Accept-Type Outra expresso regular, este checa com base no tipo do item que est sendo acessado. O acesso ser permitido somente se o tipo casar com a expresso regular. Reject-Type Como Accept-Type, exceto que qualquer tipo casando com esta expresso regular ser rejeitado. FORMATOS Alguns dos controladores de base de dados usam mdu- los de formato para controlar o formato atual no qual a base de dados armazenada em disco. Os seguintes formatos so atualmente suportados : 822 Este um formato de arquivo livremente baseado no formato rfc-822 para cabealhos de menasgens de e-mail. Formatos similares so usados por todo Debian; no arquivo de status do dpkg, e outros locais. EXEMPLO Note que alguns dos controladores e formatos neste exemplo no existem. Sinta-se livre para escrev- los! # Essa estrofe usada para configurao geral do debconf. Config: stack Templates: templates Log-To: syslog Debug: developer # Esta minha prria base de dados local. Name: mydb Driver: DirTree Directory: /var/cache/debconf/config # Esta outra base de dados que eu uso para # armazenar somente a configurao do servidor X. Name: X Driver: File File: /etc/X11/debconf.dat Mode: 644 # meio complicado descobrir quais questes # pertencem ao X; deveria estr usando uma profunda # estrutura em rvore assim eu poderia somente casar # com ^X/ # Oh bem. Accept-Name: xserver|xfree86|xbase # Este o global de nossa empresa, base de dados # debconf somente-leitua (para mim!). Name: company Driver: SQL Server: debconf.foo.com Readonly: true Username: foo Password: bar # No quero que nenhuma senha que possa estar # flutuando por a aqui. Reject-Type: password # Caso esta base de dados no esteja acessvel # por qualquer que seja a razo, continue de # qualquer forma. Required: false # Este controlador especial oferece alguns # items do dhcp. Name: dhcp Driver: DHCP Required: false Reject-Type: password # E eu uso esta base de dados para # armazenar senhas protegidas e seguras. Name: passwords Driver: File File: /etc/debconf/passwords Mode: 600 Owner: root Group: root Accept-Type: password # vamos coloc-los todos juntos em uma pilha de # base de dados. Name: stack Driver: Stack Stack: passwords, X, mydb, company, dhcp # Assim, todas as senhas vo para a base de dados de # senhas. A maioria da coisas relacionadas configurao # do X vo para a base de dados X e qualquer outra coisa # vai para minha base de dados principal. Os valores so # pesqusados em cada uma delas, e caso nenhuma tenha um # valor em particular, o mesmo pesquisado na base de # dados da empresa ou talvez dhcp ( a menos que seja uma # senha). # Uma base de dados tambm para armazenar mode- los. No # precisamos fazer com que ela seja mais bonita. Name: templates Driver: File Mode: 644 Format: db Directory: /var/cache/debconf/templates NOTAS Caso voc utilize algo como ${HOME} neste arquivo, isso ser substitudo com o valor da varivel de ambi- ente nomeada. Os nomes dos campos (a parte da linha antes dos dois pontos) no so sensveis caixa (case-insensi- tive). Os valores, porm, so sensveis caixa (case- sensitive). MELHORIAS PLANEJADAS Mais controladores e formatos. Algumas idias incluem : Um controlador SQL, com a capacidade de acessar uma base de dados remota. Um controlador LDAP. Um comtrolador que obtm valores de campos TXT de registros DNS pblicos. Um formato que seja compatvel com a sada do cdebconf. Um controlador de sobreescrita que pode sobreescrever o valor dos campos ou assinala todas as requisies que passam atravs do mesmo. ARQUIVOS /etc/debconf.conf ~/.debconfrc VEJA TAMBM debconf(f) AUTOR Joey Hess <joey@kitenet.net> DEBCONF.CONF(F)