Kann ich Ansible verwenden, um eine Versionsnummer von clamAV zu erhalten?

Kann ich Ansible verwenden, um eine Versionsnummer von clamAV zu erhalten?

Ich bin neu bei Ansible und habe beim Googlen herausgefunden, wie man ClamAV mit Ansible installiert. Gibt es aber eine Möglichkeit, nur die aktuelle Version zu erhalten? Ich weiß, dass ich es einfach remote über SSH ausführen könnte.

Antwort1

Alternativ können Sie Software-Repos so konfigurieren, dass sie die gewünschte Version enthalten, und sie dann mit dem Paketmanager des Betriebssystems installieren.

- name: Install ClamAV
  package:
    state: present
    name:
    - clamav
    - clamd

- name: Enable ClamAV service
  service:
    name: clamd
    enabled: True

Suche in Galaxy nach „clamav“für weitere Ideen.

Antwort2

Sie können den Shell-Befehl verwenden, um die Version abzurufen und sie dann mit den Befehlen „register“ und „debug“ wie folgt über stdout auszugeben:

- name: check clamAV version
  shell: clamscan -V 
  register: ClamVersion

- debug: msg="{{ ClamVersion.stdout }}"

Antwort3

Die Antwort von DarkEVE umfasst Aufgaben, die in ein Playbook aufgenommen werden würden, was nützlich ist, wenn es sich um eine wiederholbare Aufgabe handelt.

Wenn Sie dies nur einmal tun müssen, können Sie dasselbe über die Ansible-Befehlszeile (CLI) ausführen: ansible -m shell -a 'clamscan -V' [target host or group]

Dies ruft das integrierte shellModul (-m) auf und übergibt Ihren Befehl als Argumente (-a).

Abhängig von Ihrem Ansible-Inventar können Sie einen bestimmten Host oder eine Gruppe ansprechen, die Sie eingerichtet haben. Das ist großartig, da Sie mit einem einzigen Befehl schnell die Version für eine große Anzahl von Hosts anzeigen können. (Natürlich können Sie mit dem Playbook auch eine Gruppe ansprechen.)

Ich finde, dass die Verwendung dieser einmaligen Ansible-Methode schneller/einfacher ist als die Verbindung per SSH zu Zielen und sicherlich viel schneller, wenn Sie dasselbe auf mehr als einem Ziel überprüfen müssen.

verwandte Informationen