Как я могу установить пакеты apt неинтерактивно?

21

Если я бегу:

sudo apt-get --yes install postfix 

или

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

появляется интерактивная подсказка для настройки postfix. Мне нужно автоматизировать установку postfix (я могу изменить файлы конфигурации после установки).

Есть ли какая-то магия, которая позволяет мне устанавливать postfix (и другой пакет) без вмешательства человека?

user48956
источник

Ответы:

32

Установите DEBIAN_FRONTENDдля noninteractive:

DEBIAN_FRONTEND=noninteractive apt-get ...

Это также применимо к dpkg --reconfigure, dpkg-configureи т.д.

От 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.

Если вы все-таки настроили noninteractive, вам следует рассмотреть возможность ответа на debconfвопросы с помощью debconf-set-selections.

Мур
источник
1
обратите внимание, что для использования man 7 debconfв Ubuntu 16.04 вам необходимо сначала установить debconf-doc, напримерsudo apt-get install debconf-doc
the_velour_fog
@the_velour_fog или вы можете щелкнуть ссылку на страницу руководства выше, а затем нажать 16.04 на открывшейся странице.
Муру