私は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 で接続するよりも高速かつ簡単であり、複数のターゲットで同じことをチェックする必要がある場合は、間違いなくはるかに高速であることがわかります。