Como posso instalar pacotes apt de maneira não interativa?

21

Se eu correr:

sudo apt-get --yes install postfix 

ou

sudo bash -c 'yes | apt-get --yes install postfix'

um prompt interativo aparece para configurar o postfix. Preciso automatizar a instalação do postfix (posso modificar os arquivos de configuração após a instalação).

Existe alguma mágica que me permita instalar o postfix (e outro pacote) sem intervenção humana?

user48956
fonte

Respostas:

32

Defina DEBIAN_FRONTENDcomo noninteractive:

DEBIAN_FRONTEND=noninteractive apt-get ...

Isto é também aplicável para dpkg --reconfigure, dpkg-configureetc.

De man 7 debconf:

noninteractive
      This  is  the anti-frontend. It never interacts with you at all,
      and makes the default answers be  used  for  all  questions.  It
      might  mail  error messages to root, but that's it; otherwise it
      is completely silent and unobtrusive,  a  perfect  frontend  for
      automatic installs. If you are using this front-end, and require
      non-default answers to questions, you will need to  preseed  the
      debconf  database;  see  the section below on Unattended Package
      Installation for more details.

Se você definir noninteractive, considere responder a debconfperguntas usando debconf-set-selections.

muru
fonte
1
Por favor, note, para usar man 7 debconfno Ubuntu 16.04 é preciso primeiro instalar debconf-doc, por exemplosudo apt-get install debconf-doc
the_velour_fog
@the_velour_fog ou você pode clicar no link da página de manual acima e clicar em 16.04 na página que se abre.
muru 14/05/19