通常のアプリケーションスタックにはさまざまなソースのソフトウェアが必要なため、必要なシステムパッケージのインストールを自動化することは、Ansibleプレイブックの一般的な運用タスクです。

The apt モジュールは、UbuntuなどのDebianベースのオペレーティングシステム上のシステムパッケージを管理します。このガイド全体でリモートノードで使用しているディストリビューションです。 次のプレイブックは、 apt キャッシュしてから、Vimがリモートノードにインストールされていることを確認します。

と呼ばれる新しいファイルを作成します playbook-09.yml あなたの中で ansible-practice ディレクトリ:

  1. nano ~/ansible-practice/playbook-09.yml

次に、新しいプレイブックファイルに次の行を追加します。

〜/ ansible-practice / playbook-09.yml
---
- hosts: all
  become: yes
  tasks:
    - name: Update apt cache and make sure Vim is installed
      apt:
        name: vim
        update_cache: yes

完了したら、ファイルを保存して閉じます。

が含まれていることに注意してください become 劇の冒頭の指示。 パッケージのインストールには管理システムのアクセス許可が必要なため、これが必要です。

パッケージの削除も同様の方法で行われます。唯一の変更点は、パッケージの状態を次のように定義する必要があることです。 absent. The state ディレクティブのデフォルト値は present、バージョンに関係なく、パッケージがシステムにインストールされていることを確認します。 パッケージが存在しない場合はインストールされます。 パッケージの最新バージョンを確実に入手するには、次を使用できます。 latest 代わりは。 これは原因になります apt 最新バージョンでない場合は、要求されたパッケージを更新します。

提供することを忘れないでください -K このプレイブックを実行するときのオプション。 sudo 権限:

  1. ansible-playbook -i inventory playbook-09.yml -u sammy -K
Output
BECOME password: PLAY [all] ********************************************************************************************** TASK [Gathering Facts] ********************************************************************************** ok: [203.0.113.10] TASK [Update apt cache and make sure Vim is installed] ************************************************** ok: [203.0.113.10] PLAY RECAP ********************************************************************************************** 203.0.113.10 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

複数のパッケージをインストールする場合は、 loop を使用して、インストールするパッケージの名前を含む配列を指定できます。 次のプレイブックは、パッケージを確認します vim, unzip、 と curl インストールされ、最新バージョンになっています。

と呼ばれる新しいファイルを作成します playbook-10.yml あなたの中で ansible-practice Ansibleコントロールノードのディレクトリ:

  1. nano ~/ansible-practice/playbook-10.yml

次のコンテンツを新しいプレイブックファイルに追加します。

〜/ ansible-practice / playbook-10.yml
---
- hosts: all
  become: yes
  tasks:
    - name: Update apt cache and make sure Vim, Curl and Unzip are installed
      apt:
        name: "{{ item }}"
        update_cache: yes
      loop:
        - vim
        - curl
        - unzip

終了したら、ファイルを保存して閉じます。

次に、実行します ansible-playbook 前の例と同じ接続引数を使用し、忘れずに -K このプレイブックには管理者権限が必要なため、オプション:

  1. ansible-playbook -i inventory playbook-09.yml -u sammy -K

次のような出力が表示されます。これは、同じタスクが、提供された異なる値を使用して3回の反復を実行したことを示しています。 vim, curl、 と unzip:

Output
BECOME password: PLAY [all] *************************************************************************************************************************************** TASK [Gathering Facts] *************************************************************************************************************************** ok: [203.0.113.10] TASK [Update apt cache and make sure Vim, Curl and Unzip are installed] ************************************************************************** ok: [203.0.113.10] => (item=vim) ok: [203.0.113.10] => (item=curl) changed: [203.0.113.10] => (item=unzip) PLAY RECAP *************************************************************************************************************************************** 203.0.113.10 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

パッケージの削除方法や高度な使用方法など、システムパッケージの管理方法の詳細については apt オプションについては、公式ドキュメントを参照してください。