Ansible Apt 模块

AnsibleAnsibleBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将探索 Ansible 的 Apt 模块,该模块允许你使用 Apt 包管理器在基于 Debian 的系统上管理软件包。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 模块在目标系统上安装一个软件包。

首先,创建一个新的 Ansible playbook 文件,命名为 /home/labex/project/apt-module-playbook.yaml,并用文本编辑器打开它。
在 playbook 文件中添加以下内容:

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

这是一个用于在本地主机上安装名为 docker-compose 的软件包的 Ansible playbook。通过 become: yes 指定使用特权访问来执行任务。在 apt 模块中,name 指定要安装的软件包名为 docker-compose,而 state: present 确保软件包处于已安装状态。

然后,使用以下命令运行 playbook:

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 模块在目标系统上更新一个软件包。

首先,修改现有的 playbook 文件,删除所有内容并添加以下内容到 playbook 文件中:

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

这是一个用于在本地主机上更新名为 docker-compose 的软件包的 Ansible playbook。通过 become: yes 指定使用特权访问来执行任务。在 apt 模块中,name 指定要更新的软件包名为 docker-compose,而 state: latest 表示将软件包更新到最新版本。

然后,使用以下命令运行 playbook:

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 模块从目标系统上卸载一个软件包。

首先,修改现有的 playbook 文件,删除所有内容并添加以下内容到 playbook 文件中:

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

这是一个用于在本地主机上卸载名为 docker-compose 的软件包的 Ansible playbook。become: yes 指定使用特权访问来执行任务。在 apt 模块中,name 指定要卸载的软件包名为 docker-compose,而 state: absent 确保软件包处于未安装状态。

然后,使用以下命令运行 playbook:

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 的系统上自动化包管理任务。通过掌握这些知识,你可以高效地管理软件的安装和更新。

您可能感兴趣的其他 Ansible 教程