
Я новичок в Ansible и, погуглив, я увидел, как установить ClamAV с помощью Ansible, но есть ли способ просто получить текущую версию? Я знаю, что я могу просто запустить ее удаленно через SSH.
решение1
В качестве альтернативы настройте репозитории программного обеспечения на нужную вам версию, а затем установите ее с помощью менеджера пакетов ОС.
- name: Install ClamAV
package:
state: present
name:
- clamav
- clamd
- name: Enable ClamAV service
service:
name: clamd
enabled: True
Поиск по Galaxy для clamavдля получения дополнительных идей.
решение2
Вы можете использовать команду shell, чтобы получить версию, а затем вывести ее через stdout, используя команду register и debug, например:
- 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 вы можете выбрать определенный хост или группу, которую вы настроили — это здорово, так как вы можете быстро увидеть версию для большого количества хостов с помощью одной команды. (Конечно, вы также можете выбрать группу с помощью Playbook).
Я считаю, что использование этого одноразового метода Ansible быстрее/проще, чем подключение к целям по SSH, и, безусловно, гораздо быстрее, когда вам нужно проверить одно и то же на нескольких целях.