Ansible:yumモジュールについて(Ansible 2.9.6)

インフラサーバ

yum モジュールについて

yum モジュールを使用することで、管理対象機器に対して以下のような操作を実施できます。

  • パッケージのインストール/アンインストール
  • パッケージのアップデート

◆公式ドキュメント

ansible.builtin.yum – Manages packages with the yum package manager — Ansible Documentation

主なパラメータ

パラメータ必須選択肢/デフォルト説明
nameパッケージ名/URLを指定
state・absent
・installed
・latest
・present ←
・removed
・installed, present ⇒ インストールされた状態
・latest ⇒ 最新バージョンにアップデートされた状態
・absent, removed ⇒ インストールされていない状態
download_only・no ←
・yes
パッケージをダウンロードするがインストールしない

使用例

作業環境

  • CentOS 8.0
  • Python 3.7.7
  • Ansible 2.9.6

パッケージのインストール

squid をインストールする例です。

■ Playbook の例

- hosts: all
  become: yes
  tasks:
    - name: Install squid
      yum:
        name: squid
        state: present

■ Ansible 実行後のインストール済みパッケージ確認

# yum list installed | grep squid
squid.x86_64                      7:4.4-8.module_el8.1.0+197+0c39cdc8 @AppStream

パッケージのアンインストール

squid をアンインストールする例です。

■ Playbook の例

- hosts: all
  become: yes
  tasks:
    - name: Uninstall squid
      yum:
        name: squid
        state: absent

■ Ansible 実行後のインストール済みパッケージ確認

# yum list installed | grep squid
#

すべてのパッケージをアップデート

name: ‘*’ かつ state: latest とすると yum -y update と同じ意味になります。

■ Playbook の例

- hosts: all
  become: yes
  tasks:
    - name: Update packages
      yum:
        name: '*'
        state: latest

■ Ansible 実行後のアップデート可能パッケージチェック

# yum check-update
Last metadata expiration check: 2:36:50 ago on Fri Apr 17 02:02:01 2020.
#

アップデート可能パッケージが無い(最新化されている)ことが確認できます。

複数のパッケージをインストールする

複数のパッケージをインストールする場合は、以下のように name パラメータをリスト形式で記載することができます。

  yum:
    name:
      - package1
      - package2
      - package3

―――――――――――――

タイトルとURLをコピーしました