[英]Problems installing a Debian package (.deb) using Ansible
[英]Unable to uninstall package using deb module in Ansible
今天,我在使用Ansible時遇到問題,並嘗試卸載debian軟件包。 該軟件包不是來自存儲庫,而是直接來自.deb文件,因此,在Ansible中,我定義了安裝任務:
- name: install nomachine
apt:
deb: /root/{{ nomachine_package }}
實際可行,該軟件包已安裝在SO中
但是,是時候刪除它了:
- 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
對於那些想知道為什么未定義“-名稱”的人,是因為任務是處理程序。
我是個傻男孩。 在查看了我最近在github上的“ newbug”中所建議的文檔后,卸載包的語法有所不同,同一模塊的用法差異很小(並且在問題中我已經回答了自己):
# WRONG
- name: uninstall nomachine
apt:
deb: nomachine-enterprise-terminal-server
state: absent
# RIGHT
- name: Remove "foo" package
apt:
name: foo
state: absent
deb->名字! 僅用於卸載...用於安裝軟件包,它仍然是“ deb”。
今天的Facepalm,明天的經驗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.