Exim
如何通過 puppet 使用 smarthost 配置 exim4?
我試圖通過 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
然後執行 commandupdate-exim4.conf
。執行一次 dpkg 配置後,該文件將為您設置選項以供您參考 puppet 的主副本,您可能希望在 puppet 中使用模板,因為文件中也有主機名。