Назад | Перейти на главную страницу

Как принудительно обновить ansible apt для установки новых файлов конфигурации (force-confnew)

У меня есть хост 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.