問題:パッケージ更新が必要な多くのノードがあります。ノードの中には、これらのパッケージがインストールされているものもあれば、そうでないものもあります。 目的は です。1. yumモジュールを使用してパッケージがインストールされているかどうかを確認します。 2.パッケージがインストールされていて、アップデートが利用可能であれば、yum updateを実行してください。可能性:結果の戻り値yumモジュールを反復する
これはコマンドやシェルでは簡単に実行できますが、非常に非効率です。
tasks:
- name: check if packages are installed
yum: list="{{ item }}"
with_items:
- acpid
- c-ares
- automake
register: packages
- debug:
var: packages
は私が行うことがansible欲しい the results
を生産する場合にのみ、yumのパッケージを更新することです:リストがインストールされたパッケージと、上記の結果から入手可能なアップグレードを見ています。
yumモジュールを使用することが可能かどうかはわかりません。
迅速かつ簡単な方法は、単にコマンドを使用するでしょう:
tasks:
- name: check if packages are installed
command: yum update -y {{ item }}
with_items:
- acpid
- c-ares
- automake
それがインストールされている場合は、yumのアップデートパッケージは、パッケージのみを更新しますので、。
迅速かつ簡単な方法を使用しないのはなぜ? – larsks