介绍
在本实验中,你将探索 Ansible 的 Apt 模块,该模块允许你使用 Apt 包管理器在基于 Debian 的系统上管理软件包。Apt 模块提供了广泛的选项来安装、更新和删除软件包,以及管理软件源。
在本实验中,你将探索 Ansible 的 Apt 模块,该模块允许你使用 Apt 包管理器在基于 Debian 的系统上管理软件包。Apt 模块提供了广泛的选项来安装、更新和删除软件包,以及管理软件源。
在这一步中,你将使用 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 的系统上自动化包管理任务。通过掌握这些知识,你可以高效地管理软件的安装和更新。