Ansibleを使用してclamAVからバージョン番号を取得できますか

Ansibleを使用してclamAVからバージョン番号を取得できますか

私はAnsibleの初心者で、グーグルで調べると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

シェル コマンドを使用してバージョンを取得し、次のように 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 インベントリに応じて、特定のホストまたは設定したグループをターゲットにすることができます。これは、1 つのコマンドで多数のホストのバージョンをすばやく確認できるため便利です。(もちろん、Playbook を使用してグループをターゲットにすることもできます)。

この 1 回限りの Ansible メソッドを使用する方が、ターゲットに ssh で接続するよりも高速かつ簡単であり、複数のターゲットで同じことをチェックする必要がある場合は、間違いなくはるかに高速であることがわかります。

関連情報