【发布时间】:2019-08-20 11:13:30
【问题描述】:
今天我在使用 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.
编辑:我认为我做得很好,因为关注the example of ansible:
- name: Remove "foo" package
apt:
name: foo
state: absent
对于那些想知道为什么没有定义“-name”的人,这是因为任务是一个处理程序。
【问题讨论】:
标签: ansible package uninstallation deb