Использование модуля RPM в Ansible для удаления пакета - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь удалить пакет в плейбуке Ansible, но это не удается. Ошибка об / мин: пакеты для удаления не указаны Ниже приведена задача, которую я пытаюсь выполнить.

- name: remove the X Windows System packages
  shell: rpm -e --nodeps `yum list installed |grep xorg-X11* |cut -d  ' ' -f1`

Я попробовал это вручную, и оно работает, есть ли какой-нибудь отдельный модуль, например, rpm mpdule, для выполнения этой задачи в ANSIBLE playbook.

Спасибо ..

1 Ответ

0 голосов
/ 29 июня 2018

Это потому, что ваша команда не идемпотентна. Т.е. после удаления этих пакетов ваша команда выдает rpm -e --nodeps без каких-либо других аргументов. Что приводит к сообщению об ошибке, которое вы упомянули.

Есть ансибельный модуль yum https://docs.ansible.com/ansible/latest/modules/yum_module.html, который лучше работает, чем вызывает rpm из оболочки.

- name: remove xorg packages
  yum:
    name: xorg-X11*
    state: absent
...