ansible apt模块

APT代表“高级包装工具”,它是Ubuntu中首选的软件包管理工具集。它允许我们安装新软件包,更新它们,以及从Ubuntu或Debian系统中删除软件包。这是3个与APT相关的命令行工具,例如:
Apt-get:使用此工具可以完成所有基本的软件包管理操作。 Ansible apt-get模块提供此功能。
Apt-add-repository:用于将新的存储库添加到存储库列表。默认存储库可能没有所有软件包的最新版本。因此,你需要为某些软件维护者添加其他存储库。 Ansible apt_repository模块提供了添加新存储库的功能。
Apt-key:用于管理用于验证apt软件包的密钥列表。 Ansible apt_key模块用于管理密钥。
安装新的Apt软件包
要安装新软件包,必须在name参数中提供软件包的名称以及所需的软件包状态。
程序包的默认状态为“存在”。另外,最好将update_cache设置为true。因此,你可以确保索引与源列表同步。这与在安装软件包之前运行apt-get update命令相同。
下面的示例将进行缓存更新以同步索引。检查目标服务器上是否安装了“ zip”软件包。如果未安装,则将安装该软件包。如果该软件包已安装,则不会升级。

-hosts: loc tasks: -name: Ansible apt install packages apt: name: zip state: present update_cache: true

1.安装最新版本的软件包
【ansible apt模块】如果将软件包的状态设置为“ present”,则Ansible将仅检查软件包是否存在。因此,如果新软件包可用,将无法安装。
如果要安装最新的apt软件包,则必须将state参数设置为最新的。
这将确保安装了具有最新版本的软件包。下面的示例将首先更新缓存,然后安装最新的zip软件包,例如:
-hosts: loc tasks: -name: ansible apt install latest version apt: name: zip state: latest update_cache: true

2. Ansible安装多个软件包
你可以使用with_items并组合这些任务,而不必编写多个任务来安装软件包。
在以下示例中,我们将安装3个软件包:docker-ce,Nginx和git。
-hosts: loc tasks: -name: ansible apt with_items apt: name: "{{item}}" update_cache: true state: present with_items: -'docker-ce' -'nginx' -'git'

3. Ansible Apt临时
你还可以使用ad-hoc方法通过apt模块安装新软件包,例如:
ansible all -m apt -a "name=nginx state=absent" -i inventory.ini

删除公寓包
你还可以通过将状态参数设置为不存在,使用apt模块删除软件包。
以下示例将删除zip软件包。由于该模块是幂等的,因此如果没有该软件包,它将不会出错。
-hosts: loc tasks: -name: ansible apt remove package apt: name: zip state: absent

    推荐阅读