Automatize a instalação do postfix no Ubuntu

65

Meu script de configuração do sistema executa um "apt-get install -y postfix". Infelizmente, o script é interrompido quando o instalador do postfix exibe uma tela de configuração. Existe um método para forçar o postfix a usar os padrões durante a instalação para que um script automatizado possa continuar até o fim?

O instalador do postfix talvez verifique a configuração existente em / etc / postfix e, se existir, não incomoda o usuário com a tela de configuração?

embreagem
fonte

Respostas:

83

Você pode usar a pré-propagação para isso, usando o debconf-set-selectionscomando para responder previamente às perguntas feitas pelo debconf antes de instalar o pacote.

Por exemplo:

debconf-set-selections <<< "postfix postfix/mailname string your.hostname.com"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
apt-get install -y postfix
ℝaphink
fonte
Quais são as opções disponíveis main_mailer_type? Existe uma lista para fazer referência a algum lugar sem ter que executá-la interativamente uma vez primeiro?
beporter
2
beporter, aparentemente: No configuration, Internet site, Internet with smarthost, Satellite system, Local onlyno entanto, parece Internet Site é geralmente a melhor escolha para a maioria das pessoas: bugs.debian.org/cgi-bin/bugreport.cgi?bug=450787
willbradley
11
Alguém poderia explicar como podemos obter essa string para outros pacotes? (kerberos no meu caso): "postfix postfix / mailname string your.hostname.com" Quero dizer, qual é o primeiro "postfix" e o segundo "postfix /" e depois "mailname", etc .... onde pode eu recebo essas cordas para o meu pacote?
Mohammed Noureldin 28/11
Eu sei que a pergunta é sobre o Ubuntu, mas eu preciso disso para o Amazon Linux (AWS), que é um ramo do RHEL ... Alguém?
TheStoryCoder
@MohammedNoureldin Olhando man debconf-set-selections, vejo também debconf-get-selectionsque despeja quais seleções foram feitas no sistema atual, no formato usado para entrada aqui. Você pode configurar manualmente um sistema e depois executá-lo para ver o que usar para o kerberos.
morganwahl
25

Se você deseja isso globalmente:

dpkg-reconfigure debconf

Em seguida, configure-o para ser " não interativo "

Se você deseja apenas uma instalação única, execute:

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE
David Rickman
fonte
2
Você também pode export DEBIAN_FRONTEND=noninteractiveconfigurá-lo globalmente de maneira autônoma.
Mahn
Eu achei que isso funcionou bem no Ubuntu 14.04 para uma configuração padrão 'deliver to local / var / mail', enquanto a debconf-set-selectionsresposta acima não.
RichVel 28/04