はじめに
この実験では、Ansible Aptモジュールを調べます。このモジュールを使うと、DebianベースのシステムでAptパッケージマネージャを使ってパッケージを管理できます。Aptモジュールには、パッケージのインストール、更新、削除、およびリポジトリの管理に関する幅広いオプションが用意されています。
この実験では、Ansible Aptモジュールを調べます。このモジュールを使うと、DebianベースのシステムでAptパッケージマネージャを使ってパッケージを管理できます。Aptモジュールには、パッケージのインストール、更新、削除、およびリポジトリの管理に関する幅広いオプションが用意されています。
このステップでは、Ansible Aptモジュールを使って対象システムにパッケージをインストールします。
まず、 /home/labex/project/apt-module-playbook.yaml
という新しいAnsibleプレイブックファイルを作成し、テキストエディタで開きます。
プレイブックファイルに以下の内容を追加します。
- 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ベースのシステムでパッケージ管理タスクを自動化するための強力なツールです。この知識を使えば、ソフトウェアのインストールと更新を効率的に管理できます。