如何强制 ansible apt upgrade 安装新的配置文件(force-confnew)

如何强制 ansible apt upgrade 安装新的配置文件(force-confnew)

我有一台 Ubuntu 18 LTS 主机,我想通过 ansible 升级它并强制apt-get dist-upgrade安装任何可用的新配置,覆盖任何现有配置,就像我在那里按下该对话框的第一个选项一样: apt-get dist-upgrade 对话框

我正在研究 ansibleapt_module文档,无法使其工作。在所有情况下,我修改的配置都得到了维护,而新的供应商配置则存储在.ucf-dist文件中。

到目前为止我已经尝试过:

# 1:
ansible -i my-hosts foo -m apt -a 'update_cache=yes upgrade=safe dpkg_options=force-confnew'

# 2:
ansible -i my-hosts foo -m apt -a 'force_apt_get=yes update_cache=yes upgrade=safe dpkg_options=force-confnew'

# 3:
ansible -i my-hosts foo -m apt -a 'force_apt_get=yes update_cache=yes upgrade=dist dpkg_options=force-confnew'

仅供参考,我使用 VirtualBox 快照在本地重现了此情况,每次测试后我都会恢复。

答案1

该对话框来自 UCF 框架,该框架试图比dpkg常规配置文件处理更加智能地处理配置文件。

根据ucf 手册页您可以设置环境变量UCF_FORCE_CONFFNEW来指示它始终覆盖配置文件。

但这与使用不同dpkg --force-confnew,因为它仅适用于使用 UCF 的包。

相关内容