DEBCONF.CONF(5) | File Formats Manual | DEBCONF.CONF(5) |
NOME¶
debconf.conf - ficheiro de configuração de debconf
DESCRIÇÃO¶
Debconf é um sistema de configuração para pacotes Debian. /etc/debconf.confe ~/.debconfrc são ficheiros de configuração que o debconf usa paradeterminar quais bases de dados deve usar. Estas bases de dados paraarmazenar dois tipos de informação; dados de configuração dinâmicos que outilizador insere, e dados de template estáticos. O debconf oferece umbackend de base de dados extensível e flexível. Podem ser criadas novasdrivers com um esforço mínimo, e conjuntos de drivers podem ser combinadosde várias maneiras.
SINOPSE¶
# Este é um exemplo de ficheiro de
configuração que é
# suficiente para usar 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 DE FICHEIRO¶
O formato deste ficheiro é uma série de estrofes, cada uma separada por pelomenos uma linha completamente vazia. As linhas de comentários começadas comum caractere "#" são ignoradas.
A primeira estrofe do ficheiro é especial, é usada para configurar o debconfcomo uma entidade completa. São necessários dois campos nesta primeiraestrofe:
Campos adicionais que podem ser usados incluem:
- Frontend
- O frontend que o Debconf deverá usar, sobrepondo qualquer definição defrontend na base de dados do debconf.
- Priority
- A prioridade que o Debconf deve usar, sobrepondo-se a qualquer prioridadedefinida na base de dados debconf.
- Admin-Email
- O endereço de email para onde o debconf deve enviar mail se precisar decertificar que o administrador viu uma mensagem importante. A predefinição é"root", mas pode ser definido para qualquer endereço de email válido paraenviar o mail para lá. Se preferir que o debconf nunca lhe mande nenhummail, especifique um endereço vazio. Isto pode ser sobreposto na hora com avariável de ambiente DEBCONF_ADMIN_EMAIL.
- Debug
- Se definido, isto fará o debconf enviar informação de depuração para o errostandard. O valor que é definido pode ser algo como "user", "developer","db", ou uma expressão regular. Tipicamente, em vez de o definirpermanentemente num ficheiro de configuração, você vai apenas querer ligar adepuração temporariamente, e a variável de ambiente DEBCONF_DEBUG pode serdefinida para conseguir isso.
- NoWarnings
- Se definido,isto fará com que o debconf não mostre avisos sobre váriascoisas. Isto pode ser sobreposto na hora com a variável de ambienteDEBCONF_NOWARNINGS.
- Log
- Faz o debconf registar informação de depuração no syslog, quando éexecutado. O valor é definido para controlar o que é registado. Veja Debug,em cima, para uma explicação dos valores que podem ser definidos paracontrolar o que é registado.
- Terse
- Se definido para "true", faz com que alguns frontends do debconf usem ummodo de mostrador conciso especial que mostra o mínimo possível. Apredefinição é 'false'. O modo conciso pode ser definido temporariamenteatravés da variável de ambiente DEBCONF_TERSE.
Por exemplo, a primeira estrofe de um ficheiro pode parecer-se com
isto:
Config: configdb
Templates: templatedb
Cada estrofe que permanece no ficheiro define uma base de dados.
Uma estrofe de base de dadoscomeça por dar o nome à base de
dados:
Name: configdb
Depois indica que driver de base de dados deve ser usada para esta
base de dados.Veja DRIVERS em baixo, para informação acerca de
quais drivers estão disponíveis.
Driver: Ficheiro
Você pode indicar que a base de dados não é
essencial ao funcionamentoapropriado do debconf dizendo que não
é requerida. Isto fará com que o debconfse atrapalhe se a base
de dados falhe por alguma razão.
Required: false
Você pode marcar qualquer base de dados como
'só-leitura' e o debconf não iráescrever nada nela.
Readonly: true
Você também pode limitar que tipos de dados podem ir para a base de dadoscom linhas Accept- e Reject-; veja CONTROLES DE ACESSO em baixo.
O restante de cada estrofe de base de dados é usado para
disponibilizarconfiguração específica para essa driver.
Por exemplo, a driver Text precisade saber um directório onde colocar
a base de dados, para que você possa dizer:
Filename: /var/cache/debconf/config.dat
DRIVERS¶
Estão disponíveis um número de drivers, e podem ser escritas mais com poucadificuldade. As drivers vêm em dois tipos gerais. Primeiro existem asdrivers verdadeiras -- drivers que realmente acedem e armazenam dados nalgumtipo de base de dados, que pode estar num sistema de ficheiros local, ou numsistema remoto. Depois existem as meta-drivers que combinam outras driversjuntamente para formar sistemas mais interessantes. Vamos começar pelasprimeiras.
No aspecto negativo, o ficheiro completo tem de ser lido de cada vez que odebconf arranca, e guardá-lo é também lento.
As seguintes coisas são configuráveis para esta driver.
- Filename
- O ficheiro a ser usado como base de dados. Este é um campo necessário.
- Mode
- As permissões para criar um ficheiro se este ainda não existir. Apredefinição é 600, porque o ficheiro pode conter palavras-passe em algumascircunstâncias.
- Format
- O formato do ficheiro. Veja FORMATOS em baixo. A predefinição é usar umformato tipo rfc-822.
- Backup
- Se deve ser feita uma cópia de segurança (backup) do ficheiro antigo antesde o alterar. A predefinição é 'true'.
Um exemplo de estrofe que define uma base de dados usando esta driver:
Name: mydb
Driver: File
Filename: /var/cache/debconf/mydb.dat
As seguintes coisas são configuráveis para esta driver.
- Directory
- O directório onde colocar os ficheiros. Necessário.
- Extension
- Uma extensão a adicionar aos nomes dos ficheiros. Tem que estar definidapara uma string não vazia; a predefinição é ".dat"
- Format
- O formato do ficheiro. Veja FORMATOS em baixo. A predefinição é usar umformato tipo rfc-822.
- Backup
- Se deve ser feita uma cópia de segurança (backup) do ficheiro antigo antesde o alterar. A predefinição é 'true'.
Um exemplo de estrofe que define uma base de dados usando esta driver:
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/mydb
Extension: .txt
Esta driver é configurada do mesmo modo que a driver DirTree, mais:
- Mode
- As permissões com as quais criar ficheiros. A predefinição é 600, porque osficheiros podem conter palavras-passe em algumas circunstâncias.
Um exemplo de estrofe que define uma base de dados usando esta driver:
Name: mydb
Driver: PackageDir
Directory: /var/cache/debconf/mydb
Esta driver de base de dados acede a uma directório LDAP para dados deconfiguração de debconf. Devido à natureza da besta, os directórios LDAPdevem tipicamente ser acedidos em modo de apenas-leitura. Isto é porquepodem ocorrer múltiplos acessos, e é geralmente melhor para a consistênciados dados se ninguém tentar modificá-los quando isto está a acontecer. Claroque o acesso de escrita é suportado para aqueles casos em que você queractualizar os dados de configuração no directório.
Para informação sobre configurar um servidor LDAP para o debconf, leia/usr/share/doc/debconf-doc/README.LDAP (do pacote debconf-doc).
Para usar esta driver de base de dados, você precisa de ter o pacotelibnet-ldap-perl instalado. O debconf sugere esse pacote, mas não dependedele.
Por favor considere cuidadosamente as implicações de segurança de usar umabase de dados debconf remota. A menos que confie na fonte, e tenha confiançana rede interveniente, não é algo muito seguro de se fazer.
As seguintes coisas são configuráveis para esta driver.
- server
- O nome de máquina ou endereço IP de um servidor LDAP para se ligar.
- port
- O porto por onde ligar ao servidor LDAP. Se nenhum for fornecido, é usado oporto predefinido.
- basedn
- O DN sob o qual todos os itens de configuração serão armazenados. A cadaitem de configuração será assumido que vive numa DN de cn=<itemname>,<Base DN>. Se esta estrutura não for seguida, todas asapostas estão fora.
- binddn
- O DN para unir ao directório como. Será usada união anónima se nenhum forespecificado.
- bindpasswd
- A palavra-passe a usar numa união autenticada (usada com o binddn, emcima). Se não for especificada, será usada união anónima.
- keybykey
- Activa acesso a entradas LDAP individuais, em vez de obter-las todas de umavez no inicio. Isto é muito útil se desejar monitorizar os seus logs do LDAPpor pedidos de chaves debconf específicas. Deste modo, você também podeescrever código de manipulação personalizado na parte do servidor LDAP.
Um exemplo de estrofe que define uma base de dados usando esta driver,assumindo que a base de dados remota está em example.com e pode ser acedidaem anonimato:
Name: ldapdb
Driver: LDAP
Readonly: true
Server: example.com
BaseDN: cn=debconf,dc=example,dc=com
KeyByKey: 0
Outro exemplo, desta vez a base de dados LDAP está em localhost, e pode serescrita:
Name: ldapdb
Driver: LDAP
Server: localhost
BaseDN: cn=debconf,dc=domain,dc=com
BindPasswd: secret
KeyByKey: 1
As seguintes coisas são configuráveis para esta driver.
- Format
- O formato para ler e escrever. Veja FORMATOS em baixo. A predefinição é usarum formato tipo rfc-822.
- Infd
- O número de descritor de ficheiro de onde ler. A predefinição é stdin, Sedefinido para "none", a base de dados não irá ler nenhuns dados no arranque.
- Outfd
- O número de descritor de ficheiro para onde escrever. A predefinição éstdout, Se definido para "none", a base de dados será deitada fora aodesligar.
E é tudo sobre as drivers reais, agora vamos para as meta-drivers...
As coisas tornam-se mais interessantes se uma das bases de dados da pilhafor de só-leitura. Considere uma pilha das bases de dados foo, bar e bazonde foo e baz são ambas só-leitura. O debconf quer alterar um item, e esteitem está presente apenas em baz, a qual é só-leitura. A driver stack ésuficientemente inteligente para perceber que isso não vai funcionar, e irácopiar o item de baz para bar, e a escrita irá ter lugar em bar. Agora oitem em baz está colocado na sombra pelo item em bar, e não irá mais servisível ao debconf.
Este tipo de coisa é particularmente útil se você desejar apontar muitossistemas a uma base de dados central de só-leitura, e ao mesmo tempopermitir que coisas possam ser ultrapassadas em cada sistema. Quando sãoadicionados controles de acesso à situação, as pilhas permitem-lhe fazermais coisas interessantes, como redireccionar todas as palavras-passe parauma base de dados enquanto que a base de dados inferior lida com tudo oresto.
Apenas é necessário um pedaço de configuração para configurar um stack:
- Stack
- Aqui é onde você especifica uma lista de outras bases de dados, pelo nome,para lhe dizer o que compõe a stack.
Por exemplo:
Name: megadb
Driver: stack
Stack: passworddb, configdb, companydb
AVISO: A driver stack ainda não foi bem testada. Use sob suaresponsabilidade.
Backup
Você tem de especificar os seguintes campos para configurar esta driver:
Por exemplo:
Name: backup
Driver: Backup
Db: mydb
Backupdb: mybackupdb
Debug
Você tem de especificar os seguintes campos para configurar esta driver:
- Db
- A base de dados de onde ler e onde escrever.
CONTROLOS DE ACESSO¶
Quando você configura uma base de dados, também pode usar alguns campos paraespecificar controlos de acesso. Você pode especificar que uma base de dadosapenas aceita palavras-passe, por exemplo, ou fazer uma base de dados apenasaceitar coisas com "foo" nos seus nomes.
- Readonly
- Como já dito antes, este controlo de acesso, se definido para "true", tornauma base de dados em só-leitura. O debconf irá ler valores dela, mas nuncairá escrever nada lá.
- Accept-Name
- O texto neste campo é uma expressão regular compatível com perl que écomparada com os nomes dos itens quando eles são pedidos da base dedados. Apenas se um nome de item corresponder à expressão regular, é que abase de dados permite ao debconf aceder-lhe ou modificá-la.
- Reject-Name
- Tal como Accept-Name, excepto que qualquer nome de item que corresponda aesta expressão regular será rejeitado.
- Accept-Type
- Outra expressão regular, esta corresponde contra o tipo de item que está aser acedido. Apenas se o tipo corresponder ao regex é que o acesso seráconcedido.
- Reject-Type
- Tal como Accept-Type, excepto que qualquer tipo que corresponda a estaexpressão regular será rejeitado.
FORMATOS¶
Algumas das drivers de bases de dados usam módulos de formato para controlaro formato actual no qual a base de dados está armazenada no disco. Sãoactualmente suportados estes formatos:
- 822
- Este é um formato de ficheiro livremente baseado no formato rfc-822 paracabeçalhos de mensagens de email. São usados formatos semelhantes em Debian,no ficheiro de estado do dpkg, e muito mais.
EXEMPLO¶
Aqui está um exemplo mais complicado de um ficheiro debconf.conf.
# Esta estrofe é usada para configuração debconf geral.
Config: stack
Templates: templates
Log: developer
Debug: developer
# Esta é a minha base de dados local.
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/config
# Isto é outra base de dados que eu uso para manter
# apenas a configuração do servidor X.
Name: X
Driver: File
Filename: /etc/X11/debconf.dat
Mode: 644
# É difícil separar quais as questões pertencem
# ao X; deveria usar uma estrutura de árvore mais funda
# para que pudesse apenas coincidir com ^X/
# Ora bem.
Accept-Name: xserver|xfree86|xbase
# Esta é a base de dados debconf global da companhia,
# apenas para leitura (para mim!).
Name: company
Driver: LDAP
Server: debconf.foo.com
BaseDN: cn=debconf,dc=foo,dc=com
BindDN: uid=admin,dc=foo,dc=com
BindPasswd: secret
Readonly: true
# Não quero nenhumas palavras-passe que possam
# andar a flutuar por aí.
Reject-Type: password
# Se esta base de dados não estiver acessível por qualquer
# motivo, continuar de qualquer maneira.
Required: false
# Eu uso esta base de dados para manter as
# palavras-passe em segurança.
Name: passwords
Driver: File
Filename: /etc/debconf/passwords
Mode: 600
Accept-Type: password
# Vamos juntá-los todos
# numa pilha de base de dados.
Name: stack
Driver: Stack
Stack: passwords, X, mydb, company
# Portanto, todas as palavras-passe vão para a base de dados
# das palavras-passe.
# A maioria das configurações do X vão para a base de
dados
# do X, e tudo o resto vai para a minha base de dados
# principal. Os valores são trancados em cada um deles
# na sua vez, e se nenhum tiver um valor particular, é
# trancado na base de dados LDAP geral da companhia
# (a menos que seja uma palavra-passe).
# Uma base de dados também é usada para manter templates.
# Nós não precisamos fazer isto tão imaginativo.
Name: templates
Driver: File
Mode: 644
Format: 822
Filename: /var/cache/debconf/templates
NOTAS¶
Se você usar algo como ${HOME} neste ficheiro, será substituído pelo valorda variável de ambiente com o mesmo nome.
Também podem ser usadas variáveis de ambiente para sobrepor a base de dadosna hora, veja debconf(7)
Os nomes do campos (a parte da linha antes da vírgula) são insensíveis amaiúsculas/minúsculas. No entanto, os valores são sensíveis amaiúsculas/minúsculas.
MELHORIAS PLANEADAS¶
Mais drivers e formatos. Algumas ideias incluem: Uma de«river SQL, com acapacidade de aceder a uma base de dados remota. Uma driver DHCP, que tornadisponível algumas coisas especiais como nome de máquina, endereço IP, eservidores DNS. Uma driver que puxa valores dos campos TXT de registos DNSpúblicos. Um formato compatível com a saída do cdebconf. Uma driver desobreposição, que pode sobrepor o campo do valor ou as bandeiras de todos ospedidos que passam por ela.
FICHEIROS¶
/etc/debconf.conf
~/.debconfrc
VEJA TAMBÉM¶
AUTOR¶
Joey Hess <joeyh@debian.org>
TRADUÇÃO¶
Américo Monteiro <a_monteiro@netcabo.pt>, 2010,2012
Por favor comunique quaisquer erros de tradução para a_monteiro@netcabo.pt,l10n@debianpt.org, ou submeta um relatório de bug contra o pacote debconf.