DEBCONF(F) DEBCONF(F) NOME debconf - Sistema de configurao de pacotes Debian DESCRIO Debconf um sistema de configurao para pcotes Debian. No existe um comando chamado "debconf". Debconf oferece uma interface consistente para a configu- rao de pacotes, perimitndo que voc escolha entre diversos frontends a interface com o usurio. Ele suporta pr-config- urao de pacotes antes que os mesmos sejam instalados, o que permite que grandes instalaes e atualizaes lhe pegunte toda a informao necessria antes e ento continue a instalao enquanto voc faz qualquer outra coisa. Ele lhe permite, se voc est com pressa, pular questes e informao menos impor- tantes enquanto instala um pacote (e revisitar esta questo posteriormente). Pr-configurando pacotes Debconf pode configurar pacotes antes mesmo que eles sejam instalados em seu sistema. Isto til porque permite que todas as questes que os pacotes fariam sejam feitas no incio de uma instalao, assim o restante da instalao pode prosseguir enquanto voc sai para tomar uma xcara de caf. Se voc usao o apt (verso 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 manual- mente, quando voc no 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 questes do debconf, mas agora que voc j o utilizou por um tempo, voc decidiu que voc quer voltar atrs e mudar algumas de suas respostas. Antigamente, reinstalar o pacote era geralmente o que teria de ser feito quando voc se encon- trava nesta situao, mas quando voc reinstala um pacote, o debconf parece se lembrar que voc respondeu as questes e no as pergunta novamente (isto um recurso). Felizmente, o debconf faz com que seja fcil reconfigurar qualquer pacote que o utilize. Suponha que voc quer recon- figurar o prprio debconf. Somente execute, como root: dpkg-reconfigure debconf Isto ir lhe perguntar todas as questes que voc viu quando o debconf fo instalado da primeira vez. Tambm poder lhe perguntar outras questes, uma vez que so perguntadas at mesmo questes 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 disponveis : dialog O frontend padro, usa os programas whiptail (1) ou dialog (1) para lhe exibir as questes. Funciona em modo texto. readline O frontend mais tradicional, parecido com como a configurao Debian sempre foi: uma srie de questes, impressas no console usando texto puro, e perguntas feitas usando a biblioteca readline. Suporta at mesmo complemento de digitao 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 espe- ciais. Seta para cima (ou ctrl-u) voltar para a questo anterior (caso isso seja suportado pelo pacote que est uando debconf) e seta para baixo (ou ctrl-v) ir pular para a prxima questo. Este o melhor frontend para administrao remota sob uma conexo lenta ou para aqueles que esto con- fortveis com o unix. noninteractive Este o anti-frontend. Ele nunca ir interagir com voc e far com que as repostas padro sejam usadas para todas as questes. Ocasionalmente enviar e-mail para a conta root com o contedo das mensagens que o pacote deveria exibir, mas s; por outro lado, completamente silencioso e no intrusivo, um fron- tend perfeito para instalaes automticas. gnome Este uma GUI X moderna que utiliza as bibliotecas gtk e gnome. claro, requer um DISPLAY vlido para funcionar; o debconf utilizar outros frontends caso este no possa ser usado. Note que este frontend requer o pacote libgnome-perl instalado. editor Este para queles fanticos que tem que fazer tudo em um editor de textos. Ele executa seu editor em um arquivo que parece com um arquivo de configurao unix tpico e voc edita o arquivo para se comunicar com o debconf. O autor do debconf usou a quinta emenda em relao as circunstncias 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 questes e respond-las. Possui uma boa promessa, mas um pouco pesado. Quando este frontend inicia, ele imprime a localizao para a qual voc deve apontar seu navegador. Voc prcisa executar o navegador web na mesma mquina que voc est configurando, por razes de segurana. Tenha em mente que este no um frontend mut seguro. Qualquer pessoa com acesso ao computador sendo con- figurado pode atualmente acessar o servidor web e configurar as coisas enquanto este frontend est em execuo. Por isso ele mais uma prova de conceito do que qualquer outra coisa. Voc pode mudar o frontend padro que o debconf usa recon- figurando o debconf. Por outro lado, se voc quer somente mudar o frontend por um minuto, voc pode definir a varivel 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) tambm permitem que lhes sejam passados --frontend= seguido pelo frontend que voc quer usar. Note que nem todos os frontends funcionaram em todas as circunstncias. Se um frontend falhar ao ser iniciado por alguma razo, o debconf ir imprimir uma mensagem explicando a razo e ir mudar para o prximo frontend mais similar. Prioridades Outro recurso legal do debconf que as questes que ele lhe pergunta so priorizadas. Se voc no quer ser incomodado sobre cada pequena coisa, voc pode configurar o debconf para soment lhe perguntar as questes mais importantes. Por outro lado, se voc um maluco por controle, voc pode fazer com que todas as questes sejam exibidas. Cada questo pos- sui uma prioridade. Em ordem crescente de importncia : baixa Qestes bem triviais que possuem respostas padro que funcionaro para a grande maioria dos casos. mdia Questes normais que possuem respostas padro razoveis. alta Questes que no possuem uma resposta padro razovel. crtica Para coisas que provavelmente quebraro seu sistema sem interveno do usurio. Somente questes com uma prioridade igual ou mairo que a prioridade que voc escolheu lhe sero 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 varivel de ambiente DEBIAN_PRIORITY. Backend de Base de Dados O Debconf utiliza um backend de base de dados bem flexvel 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 padres, sem sobreescritas locais, leia a pgina 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 atravs da entrada e sada padro, usando uma linguagem de comando simples orientada a linha similar aquelas usadas por muitos protocolos inter- net como o SMTP. Os programas usam este protocolo para exibir questes ao usurio e recuperar as respostas dos usu- rios. As questes so definidas em um arquivo separado, chamado de "arquivo modelo" (ou template file), o qual possui um formato no muito diferente de um arquivo de con- trole 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 seo de controle de metada- dos do pacote. AMBIENTE DEBIAN_FRONTEND Usado para mudar temporariamente o frontend debconf utilizado. Veja acima. DEBIAN_PRIORITY Usado para mudar temporariamente o prioridade mnima das questes que o debconf exibir. Veja acima. DEBCONF_DEBUG Habilita a sada da depurao na sada padro. Pode ser definido para o nome de uma facility ou uma expresso regular que case com o nome da facility (como '.*' para mostrar toda a informao de depu- rao). Os nomes de facility incluem : user Informao de depurao de interesse para um usurio debconf. developer Informao de depurao de interesse para um desenvolvedor de pacotes. db Informao de depurao 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 mximo possvel. BUGS Provavelmente muitos, existe muito cdigo aqui. Caso voc reporte um bug, certifique-se de incluir a seguinte informao : * 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, faa isso com DEB- CONF_DEBUG='.*' definido e inclua. Isto acelera muito a depurao. VEJA TAMBM debconf.conf(f), dpkg-preconfigure(e), dpkg-reconfig- ure(e), AUTOR Joey Hess <joeyh@debian.org> DEBCONF(F)