Назад | Перейти на главную страницу

Как я могу настроить exim4 со смарт-хостом через марионетку?

Я попытался автоматизировать настройку exim через марионетку. Я следовал описанному подходу Вот, который работал у меня для нескольких пакетов, но для exim у меня была проблема: один выбор не был правильно применен в новой системе.

При настройке exim или запуске dpkg-reconfigure exim4-config, Я выбираю smarthost вариант, как показано на скриншоте ниже

Экспорт выбранных элементов в файл приводит к следующему (некоторые части удалены)

$ debconf-get-selections | grep exim
exim4-config    exim4/dc_other_hostnames        string  my.other.hostname
exim4-config    exim4/dc_eximconfig_configtype  select  mail sent by smarthost; received via SMTP or fetchmail
exim4-config    exim4/no_config boolean true
exim4-config    exim4/hide_mailname     boolean true
exim4-config    exim4/dc_postmaster     string
exim4-config    exim4/dc_smarthost      string  my.smarthost.com::port
exim4-config    exim4/dc_relay_domains  string
exim4-config    exim4/dc_relay_nets     string
exim4-base      exim4/purge_spool       boolean false
exim4-config    exim4/mailname  string  my.mail.name

Как видите, все варианты выглядят отлично. Обратите внимание, что dc_eximconfig_configtype (строка 2 вывода) показывает текст выбранного значения из интерактивной конфигурации.

При попытке использовать этот экспорт в моей конфигурации марионетки этот один параметр применяется неправильно:

package { "exim4":
  responsefile => my-exported-exim4-debconf,
  ensure => installed;
}

Я также попытался импортировать конфигурацию через debconf-get-selections, что я предполагаю, что марионетка делает в этом случае в среде debian, но, похоже, игнорируется без каких-либо указаний.

Это известная ошибка? Вы знаете, как я могу решить эту проблему с помощью другого экспорта конфигурации (например, предоставить целочисленный индекс для этого параметра) или предложить альтернативу распространению конфигурации exim с помощью марионетки?

Спасибо
Карием

Поскольку при установке exim не предлагаются параметры конфигурации, а по умолчанию используется только локальный режим, возможно, именно поэтому параметры устанавливаются.

В любом случае, один хороший вариант - вместо использования dpkg-reconfigure, настроить марионетку файл /etc/exim4/update-exim4.conf.conf затем запустите команду update-exim4.conf.

После того, как вы запустите конфигурацию dpkg один раз, в файле будут установлены параметры, которые вы можете использовать для главной копии марионетки, вы, вероятно, захотите использовать шаблон в марионетке, поскольку в файле также есть имена хостов.

У вас должна быть возможность определить тип конфигурации и smarthost в локальном файле макроса. Это было бы /etc/exim4/conf.d/main/00_local_macros для раздельной конфигурации или /etc/exim4/exim4.conf.localmacros для шаблонной конфигурации.

Переменные должны быть DC_eximconfig_configtype, DC_eximconfig_satellite, и DC_smarthost. См. Раздел под заголовком dynamically by /usr/sbin/update-exim4.conf в /var/lib/exim4/config.autogenerated.