Автоматизуйте встановлення постфікса на Ubuntu


65

Мій сценарій конфігурації системи робить "apt-get install -y postfix". На жаль, сценарій зупиняється, коли інсталятор postfix відображає екран конфігурації. Чи існує метод змусити постфікс використовувати типові параметри під час встановлення, щоб автоматичний скрипт міг продовжувати до кінця?

Чи може інсталятор postfix перевірити наявну конфігурацію в / etc / postfix, і якщо вона існує, не турбує користувача на екрані конфігурації?

Відповіді:


83

Для цього ви можете скористатися попередньою насінням, використовуючи debconf-set-selectionsкоманду для попереднього відповіді на запитання, задані дебконфом перед встановленням пакету.

Наприклад:

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

Для чого доступні варіанти main_mailer_type? Чи є список, на який слід посилатися десь, не спочатку запускаючи його інтерактивно?
beporter

2
beporter, по- видимому: No configuration, Internet site, Internet with smarthost, Satellite system, Local onlyоднак, схоже Інтернет сайт , як правило , кращий вибір для більшості людей: bugs.debian.org/cgi-bin/bugreport.cgi?bug=450787
willbradley

1
Чи може якийсь орган пояснити, як ми можемо отримати цей рядок для інших пакетів? (kerberos у моєму випадку): "postfix postfix / mailname string your.hostname.com" Я маю на увазі, що таке перший "postfix", а другий "postfix /", а потім "mailname" тощо. я отримую ці рядки для мого пакету?
Мухаммед Норелдін

Я знаю, що питання стосується Ubuntu, але мені це потрібно для Amazon Linux (AWS), який є відривом RHEL ... Хто-небудь?
TheStoryCoder

@MohammedNoureldin Дивлячись man debconf-set-selections, я бачу, що також є демпінг , debconf-get-selectionsякі вибірки були зроблені в поточній системі, у форматі, використовуваному для введення тут. Ви можете вручну налаштувати одну систему, а потім просто запустити її, щоб побачити, що використовувати для kerberos.
morganwahl

25

Якщо ви хочете цього в усьому світі:

dpkg-reconfigure debconf

Потім налаштуйте його як " неінтерактивне "

Якщо ви просто хочете його для одноразового запуску:

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE

2
Ви також можете зробити export DEBIAN_FRONTEND=noninteractiveйого глобально без нагляду.
Ман

Я виявив, що це добре працює на Ubuntu 14.04 для встановлення за замовчуванням "доставити до локального / var / mail", тоді як debconf-set-selectionsвідповідь вище не відповів.
RichVel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.