itnok.manage_pkg_ubuntu
manage-pkg-ubuntu
简化在 Ubuntu 主机上添加 DEB 仓库和安装软件包的过程。
执行的步骤包括:
- 获取当前 Ubuntu 运行状态的更新信息
- 更新 apt 软件包缓存
- 确保所有需要的依赖包已安装
- 添加所有用于验证 deb 信任包的密钥
- 添加所有 apt 仓库
- 刷新新仓库的 apt 软件包缓存
- 添加所有 deb 软件包
:exclamation: 要求
无。
:abcd: 角色变量
变量 | 描述 | 默认值 |
---|---|---|
__manage_pkg_dependency |
角色所需的默认依赖项 | [apt-transport-https, ca-certificates, gnupg-agent] |
manage_pkg_key_do |
对列出的密钥执行的操作(present 或 absent ) |
present |
manage_pkg_key |
要添加的密钥列表(查看示例) | [{key: <HEX-KEY>, url: <key-server-url>}] |
manage_pkg_repo_do |
对列出的仓库执行的操作(present 或 absent ) |
present |
manage_pkg_repo |
deb 仓库列表(查看示例以获取格式) | [] |
manage_pkg_dependency |
依赖项列表 | "{{ __manage_pkg_dependency }}" |
manage_pkg_app_do |
对列出的 deb 软件包执行的操作(present 或 absent ) |
present |
manage_pkg_app_install_recommends |
是否同时添加与要安装的软件包相关的所有推荐 deb 软件包 | no |
manage_pkg_app |
要安装的应用程序列表 | [] |
:link: 依赖项
- itnok.is_ubuntu (:octocat: ansible-role-is-ubuntu)
要安装依赖项,请使用:
$ ansible-galaxy install <dependecy.name>
所需的 Ansible 角色的安装也可以通过以下简单命令处理:
$ ansible-galaxy install -r requirements.yml
:notebook: 示例剧本
以下是如何在你的剧本中使用此角色的示例:
---
- hosts: servers
remote_user: ubuntu # 可选(你的远程用户)
gather_facts: yes # 可选
become: yes
roles:
- { role: itnok.manage_pkg_ubuntu }
vars:
docker_dependency: # 可选(可以给这个变量取任何你喜欢的名字)
- curl
- software-properties-common
manage_pkg_dependency: "{{ manage_pkg_dependency + docker_dependency }}"
manage_pkg_key:
- { key: "", url: "https://download.docker.com/linux/ubuntu/gpg" }
manage_pkg_repo:
- "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
- "ppa:embrosyn/cinnamon"
- "ppa:noobslab/macbuntu"
manage_pkg_app:
- "cinnamon"
- "docker-ce"
- "macbuntu-os-icons-v1804"
- "macbuntu-os-ithemes-v1804"
- "macbuntu-os-plank-theme-v1804"
- "plank"
:guardsman: 许可证
MIT (了解更多)