Jak mogę zainstalować pakiety apt w sposób nieinteraktywny?

21

Jeśli uruchomię:

sudo apt-get --yes install postfix 

lub

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

pojawia się interaktywny monit o skonfigurowanie Postfiksa. Muszę zautomatyzować instalację Postfiksa (mogę modyfikować pliki konfiguracyjne po instalacji).

Czy jest jakaś magia, która pozwala mi zainstalować postfiks (i inny pakiet) bez interwencji człowieka?

użytkownik48956
źródło

Odpowiedzi:

32

Ustaw DEBIAN_FRONTENDna noninteractive:

DEBIAN_FRONTEND=noninteractive apt-get ...

Jest to również zastosowanie dpkg --reconfigure, dpkg-configureitd

Od 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.

Jeśli ustawisz noninteractive, powinieneś rozważyć udzielenie debconfodpowiedzi za pomocą debconf-set-selections.

muru
źródło
1
Uwaga, aby korzystać man 7 debconfz Ubuntu 16.04, musisz najpierw zainstalować debconf-doc, np.sudo apt-get install debconf-doc
the_velour_fog
@ the_velour_fog lub możesz kliknąć powyższy link manpage, a następnie kliknąć 16.04 na stronie, która się otworzy.
muru