Не удается удалить пакет с помощью модуля deb в Ansible

#ansible #package #uninstallation #deb

#ansible #пакет #удаление #deb

Вопрос:

Сегодня я столкнулся с проблемой при использовании ansible и попытке удалить пакет debian. Пакет поступает не из репозитория, а напрямую из файла .deb, поэтому в Ansible я определил задачу установки:

 - name: install nomachine
  apt:
    deb: /root/{{ nomachine_package }}
  

Что на самом деле работает, пакет устанавливается в S.O.

Но, когда придет время его удалить:

 - name: uninstall nomachine
  apt:
    deb: nomachine-enterprise-terminal-server
    state: absent
  

Ужас:

 fatal: [SERVER]: FAILED! => {"changed": false, "failed": true, "msg": "deb only supports state=present"}
  

Я не разработчик, но взгляните на apt.py и кажется, что процесс удаления доступен только для пакетов, установленных через репозиторий? (похоже, он проверяется на соответствие кешу apt).

Итак, в качестве обходного пути для этого процесса удаления я делаю:

 - name: uninstall nomachine
  shell: dpkg -r nomachine-enterprise-terminal-server
  

Я использую ansible 2.3.0.0

Возможно, я неправильно использую инструмент или функциональность недоступна.

Спасибо за любую помощь, которую вы можете предоставить по этому вопросу.

H.

РЕДАКТИРОВАТЬ: Я думаю, что я делаю это нормально, потому что, следуя примеру ansible:

 - name: Remove "foo" package
  apt:
    name: foo
    state: absent
  

И для тех, кто задается вопросом, почему «- name» не определено, это потому, что задача является обработчиком.

Ответ №1:

Я глупый мальчик. после ознакомления с документацией, предложенной в моем недавнем «newbug» на github, синтаксис для удаления пакетов меняется, небольшая разница в использовании для одного и того же модуля (и в вопросе, на который я уже ответил сам):

 # WRONG
- name: uninstall nomachine
  apt:
    deb: nomachine-enterprise-terminal-server
    state: absent

# RIGHT
- name: Remove "foo" package
  apt:
    name: foo
    state: absent
  

deb —> name !! Просто для удаления… для установки пакетов это по-прежнему «deb».

Facepalm сегодня, опыт завтра.