web-dev-qa-db-ja.com

ansible aptアップグレードを強制して新しい構成ファイルをインストールする方法(force-confnew)

私はUbuntu18 LTSホストを持っており、ansibleを介してアップグレードし、apt-get dist-upgradeに、既存の構成を上書きして利用可能な新しい構成を強制的にインストールします。あたかもそのダイアログの最初のオプションを押しているかのように: apt-get dist-upgrade dialog

Ansible apt_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
cherouvim

このダイアログはUCFフレームワークからのものであり、dpkgの通常の構成ファイル処理よりも構成ファイルについて少し賢くしようとします。

cfのマニュアルページ によると、環境変数UCF_FORCE_CONFFNEWを設定して、構成ファイルを常に上書きするように指示できます。

ただし、これはdpkg --force-confnewを使用する場合とは異なります。これは、UCFを使用するパッケージにのみ適用されるためです。

2
Simon Richter