
我是 Ansible 的新手,在 google 上搜尋我看到如何使用 Ansible 安裝 ClamAV,但是有沒有辦法獲取當前版本,我知道我可以透過 ssh 遠端運行它
答案1
或者,將軟體儲存庫配置為您想要的版本,然後使用作業系統套件管理器安裝它。
- name: Install ClamAV
package:
state: present
name:
- clamav
- clamd
- name: Enable ClamAV service
service:
name: clamd
enabled: True
在 Galaxy 中搜尋 clamav以獲得更多想法。
答案2
您可以使用 shell 命令來取得版本,然後使用 register 和 debug 命令透過 stdout 輸出它,如下所示:
- name: check clamAV version
shell: clamscan -V
register: ClamVersion
- debug: msg="{{ ClamVersion.stdout }}"
答案3
DarkEVE 的答案包括將進入 Playbook 的任務,如果這是一個可重複的任務,這將非常有用。
如果您只需要執行一次此操作,則可以從 ansible 命令列 (cli) 執行相同的操作:
ansible -m shell -a 'clamscan -V' [target host or group]
這會呼叫內建shell
模組 (-m),並將指令作為參數 (-a) 傳遞。
根據您的 ansible Inventory,您可以針對您已設定的特定主機或群組 - 這很棒,因為您可以透過單一命令快速查看大量主機的版本。 (當然,您也可以使用 Playbook 來定位某個群體)。
我發現使用這種一次性的 ansible 方法比 ssh 進入目標更快/更容易,而且當您必須在多個目標上檢查相同的內容時當然要快得多。