Daniel Cosme escreveu:
Edmundo Valle Neto escreveu:nomeprograma seria o pacote que eu qro que ele mostre as respostas. Pacotes como amule , gaim nao tem nenhuma saida e outros como squid, zabbix tem. Entao como vc disse alguns tem outros não. E todos que tem essa configuração é automaticamente adicionado em /var/cache/debconf/config.dat quando eu instalo o pacote certo?Daniel Cosme escreveu:Oi a todos. Estou tendo alguns problemas utilizando preseeding no Etch.Quando eu executo o comando /debconf-get-selections | grep nomeprograma/ , ao inves de mostrar as questões que sao colocadas durante a instalação ele nao tem nenhuma saída.O que significa "nomeprograma"? As informações são associadas ao nome do template (pacote/pergunta). SE elas existirem, normalmente esse comando mostra o conteúdo de /var/cache/debconf/config.dat
Sim. As opções disponíveis ficam em /var/lib/dpkg/info/, onde nomedopacote.templates armazena os templates utilizados pelo debconf e nomedopacote.config a sequencia de exibição das perguntas e suas prioridades.
Os pacotes que não tem um arquivo .templates não utilizam o debconf.Mas quando me referi "Se existirem", eu quis dizer que você pode alimentar o debconf com qualquer porcaria que ele não reclama, no final, entradas com nomes de pacotes/perguntas que não existem simplesmente ficam lá sem nunca serem utilizados.
Dentro de preseed.cfg tem as configurações no formato que você falou. Configurações obtidas com debconf-get-selections.Quando eu executo o comando /debconf-set-selections < preseed.cfg , logo apos executo a instalaçao de um pacote ele continua colocando as mesmas questões.O que tem dentro de preseed.cfg? As configurações tem um formato: owner pacote/pergunta tipo valor. Obs.: pacote/pergunta = template, se estiver errado o pacote não encontra o valor.
Não sei se isso tem a ver com seu problema do frontend. Fazendo isso antes de instalar o pacote e usando um frontend não iterativo, o debconf não deveria perguntar as questões existentes. Levando em consideração que quando se faz uma desinstalação com --purge, estes valores são retirados da base do debconf, e o debconf tende a não perguntar algumas perguntas mesmo quando um pacote foi desinstalado sem a opção --purge e ainda existirem perguntas na sua base marcadas como "seen" (já vistas).
Ok, mas e quanto ao pacote binário? No java depois do termo de aceitação ele da um loop infinito e acaba não instalando. O arquivo de configuração pode estar errado mas eu ja tentei /./jre-6u1-linux-i586.bin </usr/bin/yes e acontece a mesma coisa.//Eu tentei o que o Marcos falou , fazendo/ javainstall.bin < respostas.txt // /e depois que aparece o termo de aceitação a instalação entra em um loop infinito. Essa soluçao funcionou qndo eu instalei /com apt-get (apt-get install sun-java5-jre < respostas.txt).Sem comentários, o expect serve pra isso.
NOVAMENTE, o expect serve para se comunicar com programas em modo texto esperando determinado tempo ou alguma string para literalmente preencher campos para você ou "pressionar teclas". Existe um shell script chamado autoexpect que ajuda a gerar estes scripts. Testei aqui e funciona, o script pressiona [Enter] todas as duzentas vezes para você quando a porcaria do termo é exibido pelo comando more :)
Eu fiz como eu citei /dpkg-reconfigure debconf /e mudei para /noninteractive. Pacotes como gaim,java,amule,kopete nenhum funcionou, mas usando a sua sugestão deu certo tanto para instalar como para desinstalar.//Tambem tentei/ dpkg-reconfigure debconf// /e mudei a opçao/ /para/ noninteractive /para nao colocar nenhuma questao mas tambem não funcionou.Para mim funciona. O que você fez? Testou qual pacote? Aparentemente o debconf pega a informação de qual backend usar de dentro de sua própria base (/var/cache/debconf/config.dat) mas existem inclusive variáveis de ambiente que podem sobrepor essa configuração.Eu utilizo assim: DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get install -y nomedopacoteEssas informações estão disponíveis no livro do Martin F Krafft "The Debian System", fora isso só olhando os fontes do debconf para saber de onde mais ele tira a configuração do backend, é tudo feito em perl, bleh :)
Não entendi o que você considera que não tenha dado certo para pacotes que não utilizam o debconf. O amule por exemplo não pergunta nada quando eu instalo ele no meu Ubuntu.
Alguem tem alguma ideia do que pode estar acontecendo?A solução usando o expect vai ser a proxima que vou tentar. Obrigado pela ajuda/.Obrigado, Daniel. /Edmundo Valle NetoObrigado, Daniel Cosme.
Edmundo Valle Neto