Я попытался автоматизировать настройку 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
.