Exim

如何通過 puppet 使用 smarthost 配置 exim4?

  • November 18, 2020

我試圖通過 puppet 自動化 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 行)顯示互動式配置中所選值的文本。

在我的 puppet 配置中嘗試使用此導出時,未正確應用該參數:

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

我也嘗試通過 導入配置debconf-get-selections,我假設 puppet 在這種情況下是在 debian 環境中執行的,但它似乎被忽略而沒有提供任何指示。

這是一個已知錯誤嗎?你知道我如何通過不同的配置導出來解決這個問題(例如,為那個參數提供一個整數索引),或者建議用 puppet 分發 exim 配置的替代方法嗎?

謝謝卡里姆_

由於 exim 安裝沒有提供配置選項,並且預設為本地模式,這可能就是設置選項的原因。

無論如何,一個不錯的選擇不是使用dpkg-reconfigure,而是讓 puppet 配置文件/etc/exim4/update-exim4.conf.conf然後執行 command update-exim4.conf

執行一次 dpkg 配置後,該文件將為您設置選項以供您參考 puppet 的主副本,您可能希望在 puppet 中使用模板,因為文件中也有主機名。

引用自:https://serverfault.com/questions/252195