Ansible教程

Ansible Apt

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 参数和所需的包状态。
包的默认状态是"present"。此外,最好将 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包,则必须将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
您也可以使用 ad-hoc 方法安装使用 apt 模块的新包,例如:
ansible all-m apt-a "name=nginx state=absent"-i inventory.ini

删除 Apt 包

您也可以通过将 state 参数设置为不存在来使用 apt 模块删除包。
下面的示例将删除 zip包裹。由于模块是幂等的,如果包不存在,它不会出错。
-hosts: loc
tasks:
-name: ansible apt remove package 
apt:
name: zip
state: absent
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4