Существует не модуль для установки пакетов .deb напрямую. Когда вам нужно запустить команду dpkg в качестве команды, она всегда ставит задачу установки как измененную. У меня возникли проблемы с правильной настройкой, поэтому я размещаю здесь публичный блокнот.Как вы предотвращаете задачу установки dpkg уведомлять измененное состояние, когда оно выполняется во второй раз?
Вот задача установить с DPKG:
- name: Install old python
command: dpkg -i {{ temp_dir }}/{{ item }}
with_items:
- python2.4-minimal_2.4.6-6+precise1_i386.deb
- python2.4_2.4.6-6+{{ ubuntu_release }}1_i386.deb
- libpython2.4_2.4.6-6+{{ ubuntu_release }}1_i386.deb
- python2.4-dev_2.4.6-6+{{ ubuntu_release }}1_i386.deb
файлы, где загруженные {{temp_dir}} в другой задаче.
ловкий трюк! Я бы предпочел проверить STDERR: «changed_when:» «уже установлен» не в dpkg_result.stderr »' – tokarev
Из документов Ansible: [Переопределение измененного результата] (http://docs.ansible.com/playbooks_error_handling.html # overriding-the-changed-result) – user272735
Так как with_items, with_dict и т. д. не работают при использовании параметра версии 1.6+ deb, это лучший способ перебрать несколько локальных файлов .deb для установки. – senorsmile