Puppetを介してeximのセットアップを自動化しようとしました。説明されているアプローチに従いました ここ 、いくつかのパッケージで機能しましたが、eximでは問題がありました。1つの選択が新しいシステムに正しく適用されませんでした。
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構成でこのエクスポートを使用しようとすると、その1つのパラメーターが正しく適用されません。
package { "exim4":
responsefile => my-exported-exim4-debconf,
ensure => installed;
}
また、debconf-get-selections
を介して構成をインポートしようとしました。これは、この場合puppetがDebian環境で実行していると想定していますが、何も示さずに無視されているようです。
これは既知のエラーですか?別の構成エクスポートでこの問題を解決する方法(たとえば、そのパラメーターに整数インデックスを提供する)、またはpuppetでexim構成を配布する代替案を提案する方法を知っていますか?
ありがとうございました
カリエム
Eximインストールでは構成オプションが表示されず、デフォルトでローカルモードになっているため、オプションが設定されている可能性があります。
とにかく、1つの良いオプションは、dpkg-reconfigure
を使用する代わりに、puppetにファイル/etc/exim4/update-exim4.conf.conf
を構成させてから、コマンドupdate-exim4.conf
を実行することです。
Dpkg configを1回実行すると、ファイルにはpuppetのマスターコピーを参照するためのオプションが設定されます。ファイルにはホスト名も含まれているため、puppetでテンプレートを使用することをお勧めします。
ローカルマクロファイルで構成タイプとスマートホストを定義できるはずです。これは、分割構成の場合は/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
という見出しのセクションを参照してください。