Manpages

NOME

debconf − Sistema de configuração de pacotes Debian

DESCRIÇÂO

Debconf é um sistema de configuração para pcotes Debian. Não existe um comando chamado "debconf".

Debconf oferece uma interface consistente para a configuração de pacotes, perimitndo que você escolha entre diversos frontends a interface com o usuário. Ele suporta pré-configuração de pacotes antes que os mesmos sejam instalados, o que permite que grandes instalações e atualizações lhe pegunte toda a informação necessária antes e então continue a instalação enquanto você faz qualquer outra coisa. Ele lhe permite, se você está com pressa, pular questões e informação menos importantes enquanto instala um pacote (e revisitar esta questão posteriormente).

Pré-configurando pacotes

Debconf pode configurar pacotes antes mesmo que eles sejam instalados em seu sistema. Isto é útil porque permite que todas as questões que os pacotes fariam sejam feitas no início de uma instalação, assim o restante da instalação pode prosseguir enquanto você sai para tomar uma xícara de café.

Se você usao o apt (versão 0.5 ou superior) e possui o pacote apt-utils instalado, cada pacote que o apt instala será automaticamente pré-configurado. Isto é controlado via /etc/apt/apt.conf.d/70debconf

Ás vezes você pode querer pré-configurar um pacote manualmente, quando você não está instalando o mesmo com o apt. Você pode usar dpkg-preconfigure (8) para fazer isso, somente passe para o dpkg-preconfigure os nomes de arquivos dos pacotes que você quer pré-configurar. Você precisará do apt-utils instalado para que isso funcione.

Reconfigurando pacotes

Suponha que você instalou o pacote e respondeu as questões do debconf, mas agora que você já o utilizou por um tempo, você decidiu que você quer voltar atrás e mudar algumas de suas respostas. Antigamente, reinstalar o pacote era geralmente o que teria de ser feito quando você se encontrava nesta situação, mas quando você reinstala um pacote, o debconf parece se lembrar que você respondeu as questões e não as pergunta novamente (isto é um recurso).

Felizmente, o debconf faz com que seja fácil reconfigurar qualquer pacote que o utilize. Suponha que você quer reconfigurar o próprio debconf. Somente execute, como root:
dpkg-reconfigure debconf

Isto irá lhe perguntar todas as questões que você viu quando o debconf fo instalado da primeira vez. Também poderá lhe perguntar outras questões, uma vez que são perguntadas até mesmo questões de baixa prioridade as quais podem ter sido omitidas quando o pacote foi instalado. Você pode usar isso em qualquer outro pacote que use o debconf, da mesma forma.

Frontends

Um dos recursos únicos do debconf é que a intrface que o mesmo apresenta a você é somente uma de muitas e que pode ser mudada à vontade. Existem muitos frontends debconf disponíveis :

dialog

O frontend padrão, usa os programas whiptail (1) ou dialog (1) para lhe exibir as questões. Funciona em modo texto.

readline

O frontend mais tradicional, é parecido com como a configuração Debian sempre foi: uma série de questões, impressas no console usando texto puro, e perguntas feitas usando a biblioteca readline. Suporta até mesmo complemento de digitação usando a tecla tab. (Instale o pacote libterm-readline-gnu-perl para ter a maioria do suporte readline.)

Este frontend possui algumas teclas de atalho especiais. Seta para cima (ou ctrl-u) voltará para a questão anterior (caso isso seja suportado pelo pacote que está uando debconf) e seta para baixo (ou ctrl-v) irá pular para a próxima questão.

Este é o melhor frontend para administração remota sob uma conexão lenta ou para aqueles que estão confortáveis com o unix.

noninteractive

Este é o anti-frontend. Ele nunca irá interagir com você e fará com que as repostas padrão sejam usadas para todas as questões. Ocasionalmente enviará e-mail para a conta root com o conteúdo das mensagens que o pacote deveria exibir, mas é só; por outro lado, é completamente silencioso e não intrusivo, um frontend perfeito para instalações automáticas.

gnome

Este é uma GUI X moderna que utiliza as bibliotecas gtk e gnome. É claro, requer um DISPLAY válido para funcionar; o debconf utilizará outros frontends caso este não possa ser usado. Note que este frontend requer o pacote libgnome-perl instalado.

editor

Este é para queles fanáticos que tem que fazer tudo em um editor de textos. Ele executa seu editor em um arquivo que parece com um arquivo de configuração unix típico e você edita o arquivo para se comunicar com o debconf. O autor do debconf usou a quinta emenda em relação as circunstâncias que levaram este frontend a ser escrito.

web

Este frontend funciona como um servidor web, ao qual você se conecta com seu navegador web, para navegar pelas questões e respondê-las. Possui uma boa promessa, mas é um pouco pesado. Quando este frontend inicia, ele imprime a localização para a qual você deve apontar seu navegador. Você prcisa executar o navegador web na mesma máquina que você está configurando, por razões de segurança.

Tenha em mente que este não é um frontend mut seguro. Qualquer pessoa com acesso ao computador sendo configurado pode atualmente acessar o servidor web e configurar as coisas enquanto este frontend está em execução. Por isso ele é mais uma prova de conceito do que qualquer outra coisa.

Você pode mudar o frontend padrão que o debconf usa reconfigurando o debconf. Por outro lado, se você quer somente mudar o frontend por um minuto, você pode definir a variável de ambiente DEBIAN_FRONTEND para o nome do frontend que você quer usar. Por exemplo :
DEBIAN_FRONTEND=readline apt-get install slrn

Os comando dpkg-reconfigure (8) e dpkg-preconfigure (8) também permitem que lhes sejam passados --frontend= seguido pelo frontend que você quer usar.

Note que nem todos os frontends funcionaram em todas as circunstâncias. Se um frontend falhar ao ser iniciado por alguma razão, o debconf irá imprimir uma mensagem explicando a razão e irá mudar para o próximo frontend mais similar.

Prioridades

Outro recurso legal do debconf é que as questões que ele lhe pergunta são priorizadas. Se você não quer ser incomodado sobre cada pequena coisa, você pode configurar o debconf para soment lhe perguntar as questões mais importantes. Por outro lado, se você é um maluco por controle, você pode fazer com que todas as questões sejam exibidas. Cada questão possui uma prioridade. Em ordem crescente de importância :

baixa

Qestões bem triviais que possuem respostas padrão que funcionarão para a grande maioria dos casos.

média

Questões normais que possuem respostas padrão razoáveis.

alta

Questões que não possuem uma resposta padrão razoável.

crítica

Para coisas que provavelmente quebrarão seu sistema sem intervenção do usuário.

Somente questões com uma prioridade igual ou mairo que a prioridade que você escolheu lhe serão exibidas. Você pode definir o valor da prioridade reconfigurando o debconf ou temporariamente passando --priority= seguido pelo valor para os comandos dpkg-reconfigure (8) e dpkg-preconfigure (8) ou definindo a variável de ambiente DEBIAN_PRIORITY.

Backend de Base de Dados

O Debconf utiliza um backend de base de dados bem flexível e complicado para o armazenamento de dados como respostas para as perguntas. O arquivo /etc/debconf.conf é usado para configurar este base de dados. Se você precisa configurar algo complicado, como fazer o debconf ler uma base de dados remota para obter os padrões, sem sobreescritas locais, leia a página de manual debconf.conf (5) para todos os detalhes sangrentos.Geralmente, o backend de base de dados está localizado em the backend database is located in /var/cache/debconf/

Desenvolvendo para o Debconf

Desenvolvedores de pacotes e outros que queiram usar o debconf devem ler o Tutorial dos Programadores Debconf (/usr/share/doc/debconf-doc/tutorial*).

Resumidamente, o debconf se comunica com os scripts dos mantenedores ou outros programas através da entrada e saída padrão, usando uma linguagem de comando simples orientada a linha similar aquelas usadas por muitos protocolos internet como o SMTP. Os programas usam este protocolo para exibir questões ao usuário e recuperar as respostas dos usuários. As questões são definidas em um arquivo separado, chamado de "arquivo modelo" (ou template file), o qual possui um formato não muito diferente de um arquivo de controle debian.

Pacotes Debian que usam o debconf tipicamente oferecem ambos um arquivo de modelo e um script "config" (executado para pré-configurar o pacote) na seção de controle de metadados do pacote.

AMBIENTE

DEBIAN_FRONTEND

Usado para mudar temporariamente o frontend debconf utilizado. Veja acima.

DEBIAN_PRIORITY

Usado para mudar temporariamente o prioridade mínima das questões que o debconf exibirá. Veja acima.

DEBCONF_DEBUG

Habilita a saída da depuração na saída padrão. Pode ser definido para o nome de uma facility ou uma expressão regular que case com o nome da facility (como ’.*’ para mostrar toda a informação de depuração). Os nomes de facility incluem :

user

Informação de depuração de interesse para um usuário debconf.

developer

Informação de depuração de interesse para um desenvolvedor de pacotes.

db

Informação de depuração sobre o backend de base de dados.

DEBCONF_TERSE

Defina como "yes" para habilitar o modo resumido, no qual os frontends debconf reduzem a verbosidade o máximo possível.

BUGS

Provavelmente muitos, existe muito código aqui.

Caso você reporte um bug, certifique-se de incluir a seguinte informação :

*

O frontend debconf que você estava usando quando o problema ocorreu

*

O que você fez para produzir o problema.

*

O texto completo de quaisqer mensagens de erro. Caso você possa reproduzir o bug, faça isso com DEBCONF_DEBUG=’.*’ definido e inclua. Isto acelera muito a depuração.

VEJA TAMBÉM

debconf.conf(5), dpkg-preconfigure(8), dpkg-reconfigure(8),

AUTOR

Joey Hess <joeyh [AT] debian.org>