はじめに
この実験では、Ansible Apt モジュールを調べます。このモジュールを使うと、Debian ベースのシステムで Apt パッケージマネージャを使ってパッケージを管理できます。Apt モジュールには、パッケージのインストール、更新、削除、およびリポジトリの管理に関する幅広いオプションが用意されています。
この実験では、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 ベースのシステムでパッケージ管理タスクを自動化するための強力なツールです。この知識を使えば、ソフトウェアのインストールと更新を効率的に管理できます。