我正在尝试在 Ansible 中自动化 Debian 上的 exim4 配置——到目前为止,我们一直在手动配置——但我陷入了正常运行的阶段dpkg-reconfigure exim4-config
。
我可以很容易地自动化这些步骤:
- 更新 conf 文件
/etc/exim4/exim4-config.conf.conf
- 跑
dpkg-reconfigure --frontend noninteractive exim4-config
它们在剧本中运行良好,但问题是我在交互式提示中看到的并非所有选项都在此 conf 文件中。例如,第二个设置System mail name
未在 conf 文件中的任何位置指定。也不是最后一个设置,Root and postmaster mail recipient
在第一次配置后,它也停止显示在交互式提示中(为什么会这样?)
然后我看到有些人建议使用debconf-set-selections
(here),我试着调查一下——我安装了debconf-utils
包然后运行debconf-get-selections
——然后我看到了那里的所有选项,但现在我想知道是否有一种方法可以debconf-set-selections
不使用必须使用一次设置所有设置的文件,因为我只想更改与 exim4 关联的值。如果我需要再次运行剧本,我试图避免覆盖可能设置的任何其他值(与 exim4 无关)。
没有将输出写入debconf-get-selections
文件然后使用 Ansible 的lineinfile
/template
模块来替换我想要更改的值,是否有更简单的方法来解决这个问题?我宁愿避免这种方法。