我是 Ansible 的新手,在 google 上搜索后,我知道如何用 Ansible 安装 ClamAV,但是有没有办法只获取当前版本,我知道我可以通过 ssh 远程运行它
答案1
或者,配置软件存储库以获取您想要的版本,然后使用 OS 包管理器进行安装。
- name: Install ClamAV
package:
state: present
name:
- clamav
- clamd
- name: Enable ClamAV service
service:
name: clamd
enabled: True
在 Galaxy 中搜索 clamav了解更多想法。
答案2
您可以使用 shell 命令获取版本,然后使用注册和调试命令通过 stdout 将其输出,如下所示:
- name: check clamAV version
shell: clamscan -V
register: ClamVersion
- debug: msg="{{ ClamVersion.stdout }}"
答案3
DarkEVE 的答案包括剧本中的任务,如果这是一项可重复的任务,这将很有用。
如果您只需要执行一次,您可以从 ansible 命令行(cli)执行相同操作:
ansible -m shell -a 'clamscan -V' [target host or group]
这将调用内置shell
模块(-m),并将您的命令作为参数传递(-a)。
根据您的 ansible Inventory,您可以定位您设置的特定主机或组 - 这很棒,因为您可以通过单个命令快速查看大量主机的版本。(当然,您也可以使用 Playbook 定位一个组)。
我发现使用这种一次性的 ansible 方法比 ssh 到目标更快/更容易,而且当你必须在多个目标上检查同一件事时肯定会快得多。