Ansible Apt モジュール

AnsibleAnsibleBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ansible(("Ansible")) -.-> ansible/AnsibleSetupandConfigurationGroup(["Ansible Setup and Configuration"]) ansible(("Ansible")) -.-> ansible/ModuleOperationsGroup(["Module Operations"]) ansible(("Ansible")) -.-> ansible/PlaybookEssentialsGroup(["Playbook Essentials"]) ansible/AnsibleSetupandConfigurationGroup -.-> ansible/install("Ansible Setup") ansible/ModuleOperationsGroup -.-> ansible/apt("Package Manager") ansible/ModuleOperationsGroup -.-> ansible/command("Execute Commands") ansible/PlaybookEssentialsGroup -.-> ansible/playbook("Execute Playbook") subgraph Lab Skills ansible/install -.-> lab-289651{{"Ansible Apt モジュール"}} ansible/apt -.-> lab-289651{{"Ansible Apt モジュール"}} ansible/command -.-> lab-289651{{"Ansible Apt モジュール"}} ansible/playbook -.-> lab-289651{{"Ansible Apt モジュール"}} end

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

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