Comment installer des packages apt de manière non interactive?

21

Si je cours:

sudo apt-get --yes install postfix 

ou

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

une invite interactive apparaît pour configurer postfix. J'ai besoin d'automatiser l'installation de postfix (je peux modifier les fichiers de configuration après l'installation).

Y a-t-il de la magie qui me permet d'installer postfix (et d'autres packages) sans intervention humaine?

user48956
la source

Réponses:

32

Réglez DEBIAN_FRONTENDsur noninteractive:

DEBIAN_FRONTEND=noninteractive apt-get ...

Ceci est également applicable à 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.

Si vous définissez noninteractive, vous devriez envisager de répondre aux debconfquestions en utilisant debconf-set-selections.

muru
la source
1
veuillez noter que pour utiliser man 7 debconfsur ubuntu 16.04, vous devez d'abord installer debconf-doc, par exemplesudo apt-get install debconf-doc
the_velour_fog
@the_velour_fog ou vous pouvez cliquer sur le lien de la page de manuel ci-dessus, puis cliquer sur 16.04 dans la page qui s'ouvre.
muru