У меня есть хост Ubuntu 18 LTS, который я хочу обновить с помощью ansible и принудительно apt-get dist-upgrade
чтобы установить любые новые доступные конфигурации, перезаписывая любые существующие, как если бы я был там, нажав первую опцию этого диалогового окна:
Я смотрю ансибль 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, к которым я возвращаюсь после каждого теста.
Этот диалог исходит из среды UCF, которая пытается быть немного умнее в отношении файлов конфигурации, чем dpkg
обычная обработка файла конфигурации.
Согласно страница руководства для ucf вы можете установить переменную среды UCF_FORCE_CONFFNEW
чтобы указать ему всегда перезаписывать файл конфигурации.
Это отличается от использования dpkg --force-confnew
хотя, потому что это применимо только к пакетам, использующим UCF.