Ansible Apt モジュール

AnsibleBeginner
オンラインで実践に進む

はじめに

この実験では、Ansible Apt モジュールを調べます。このモジュールを使うと、Debian ベースのシステムで Apt パッケージマネージャを使ってパッケージを管理できます。Apt モジュールには、パッケージのインストール、更新、削除、およびリポジトリの管理に関する幅広いオプションが用意されています。

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

このステップでは、Ansible の Apt モジュールを使用して、ターゲットシステムにパッケージをインストールします。

まず、/home/labex/project/apt-module-playbook.yaml という名前の新しい Ansible プレイブックファイルを作成します(.yml 拡張子を使用することもできます)。テキストエディタで開いてください。
プレイブックファイルに以下の内容を追加します。

- hosts: localhost
  tasks:
    - name: Install a package
      become: yes
      apt:
        name: docker-compose
        state: present

これは、ローカルホストに docker-compose という名前のパッケージをインストールするための Ansible プレイブックです。タスクを実行するために特権アクセスを使用することは、become: yes で指定されています。apt モジュールでは、name はインストールするパッケージの名前が docker-compose であることを指定し、state: present はパッケージがインストール済みであることを保証します。

次に、以下のコマンドを使用してプレイブックを実行します。

ansible-playbook apt-module-playbook.yaml

出力例:

[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [Install a package] *******************************************************
changed: [localhost]

PLAY RECAP *********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

最後に、docker-compose が正常にインストールされたかを確認し、docker-compose のバージョンを確認します。

docker-compose --version

出力例:

docker-compose version 1.29.2, build unknown

Apt モジュールを使用して、ターゲットシステムにパッケージを正常にインストールしました。

パッケージを更新する

このステップでは、Ansible Apt モジュールを使って対象システムにあるパッケージを更新します。

まず、既存のプレイブックファイルの内容をすべて削除し、以下の内容を追加して修正します。

- hosts: localhost
  tasks:
    - name: Update a package
      become: yes
      apt:
        name: docker-compose
        state: latest

これは、ローカルホストにある docker-compose というパッケージを更新する Ansible プレイブックです。タスクを実行するための特権アクセスの使用は become: yes を通じて指定されます。 apt モジュールでは、 name が更新対象のパッケージが docker-compose であることを指定し、 state: latest がパッケージを最新バージョンに更新することを示しています。

次に、以下のコマンドを使ってプレイブックを実行します。

ansible-playbook apt-module-playbook.yaml

出力例:

[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [Update a package] ********************************************************
ok: [localhost]

PLAY RECAP *********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

最後に、 docker-compose が正常に更新されたかどうかを確認し、 docker-compose のバージョンを確認します。

docker-compose --version

出力例:

docker-compose version 1.29.2, build unknown

Apt モジュールを使って対象システムにあるパッケージを正常に更新しました。

パッケージを削除する

このステップでは、Ansible Apt モジュールを使って対象システムからパッケージを削除します。

まず、既存のプレイブックファイルの内容をすべて削除し、以下の内容を追加して修正します。

- hosts: localhost
  tasks:
    - name: Remove a package
      become: yes
      apt:
        name: docker-compose
        state: absent

これは、ローカルホストにある docker-compose というパッケージを削除する Ansible プレイブックです。 become: yes は、タスクを実行するために特権アクセスが使用されることを指定します。 apt モジュールでは、 name が削除対象のパッケージが docker-compose であることを指定し、 state: absent がパッケージがアンインストール状態になるように削除されることを保証します。

次に、以下のコマンドを使ってプレイブックを実行します。

ansible-playbook apt-module-playbook.yaml

出力例:

[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [Remove a package] ********************************************************
changed: [localhost]

PLAY RECAP *********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

最後に、 docker-compose が正常に削除されたかどうかを確認します。

docker-compose --version

出力例:

zsh: command not found: docker-compose

Apt モジュールを使って対象システムからパッケージを正常に削除しました。

まとめ

おめでとうございます!あなたは Ansible Apt モジュールの実験を成功裏に完了しました。パッケージのインストール、更新、削除方法を学びました。

Apt モジュールは、Debian ベースのシステムでパッケージ管理タスクを自動化するための強力なツールです。この知識を使えば、ソフトウェアのインストールと更新を効率的に管理できます。