1
私はこのロジックを実装したいと考えています:利用可能な場合は名前付きyumパッケージをインストールし、有効なreposにパッケージが存在しない場合は失敗せず、インストールが失敗した場合にのみ失敗します。私はどのようにしてyumパッケージを実装すればよいのですか?
私はこのロジックを実装したいと考えています:利用可能な場合は名前付きyumパッケージをインストールし、有効なreposにパッケージが存在しない場合は失敗せず、インストールが失敗した場合にのみ失敗します。私はどのようにしてyumパッケージを実装すればよいのですか?
ただ、最初の検索を行い、それがどんな結果を返す場合にのみインストールします。
- hosts: host
tasks:
- name: Search for package
yum:
list: <package_name>
register: package_list
- name: Install package
yum:
name: <package_name>
state: present
become: yes
when: 'package_list.results | length != 0'
はあなたが興味のあるパッケージで<package_name>
を置き換える
ここではfailed_when
との代替であるが、それはかなりですyumによって返されたメッセージに依存しているため、ハッキーです。
- hosts: host
tasks:
- name: Install package
yum:
name: <package_name>
state: present
register: result
become: yes
failed_when: '(result.msg | regex_replace("No package matching .* found available, installed or updated","")) != ""'
これを達成するには、「失敗しました」という文を作成することができますね。 –