community.general.apk 模块 – 管理 apk 包

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.apk

概要

  • 管理 Alpine Linux 的 apk 包。

参数

参数

注释

available

布尔值

在升级期间,重置版本化的世界依赖项,并将逻辑更改为优先替换或降级包(而不是保留它们),如果当前安装的包不再可从任何存储库获得。

选项

  • false ← (默认)

  • true

name

列表 / 元素=字符串

包名,例如 foo,或多个包,例如 foo,bar

指定多个包作为字符串时,请勿包含额外的空格。最好使用 YAML 列表而不是用逗号分隔多个包名。

no_cache

布尔值

在 community.general 1.0.0 中添加

不使用任何本地缓存路径。

选项

  • false ← (默认)

  • true

repository

列表 / 元素=字符串

一个或多个包仓库。与底层的 apk 命令不同,此列表将覆盖系统仓库,而不是补充它们。

state

字符串

指示所需的包状态。

present 确保包存在。 installed 可用作别名。

absent 确保包不存在。 removed 可用作别名。

latest 确保包存在且为最新版本。

选项

  • "present" ← (默认)

  • "absent"

  • "latest"

  • "installed"

  • "removed"

update_cache

布尔值

更新仓库索引。可以与其他步骤一起运行或单独运行。

选项

  • false ← (默认)

  • true

upgrade

布尔值

将所有已安装的包升级到最新版本。

选项

  • false ← (默认)

  • true

world

字符串

在 community.general 5.4.0 中添加

在检查显式安装的包时使用自定义 world 文件。仅当为 name 提供值且 state 设置为 presentlatest 时使用此文件。

默认值: "/etc/apk/world"

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

  • nameupgrade 是互斥的。

  • loop: 一起使用时,每个包将分别处理,直接将列表传递给 name 选项效率更高。

示例

- name: Update repositories and install foo package
  community.general.apk:
    name: foo
    update_cache: true

- name: Update repositories and install foo and bar packages
  community.general.apk:
    name: foo,bar
    update_cache: true

- name: Remove foo package
  community.general.apk:
    name: foo
    state: absent

- name: Remove foo and bar packages
  community.general.apk:
    name: foo,bar
    state: absent

- name: Install the package foo
  community.general.apk:
    name: foo
    state: present

- name: Install the packages foo and bar
  community.general.apk:
    name: foo,bar
    state: present

- name: Update repositories and update package foo to latest version
  community.general.apk:
    name: foo
    state: latest
    update_cache: true

- name: Update repositories and update packages foo and bar to latest versions
  community.general.apk:
    name: foo,bar
    state: latest
    update_cache: true

- name: Update all installed packages to the latest versions
  community.general.apk:
    upgrade: true

- name: Upgrade / replace / downgrade / uninstall all installed packages to the latest versions available
  community.general.apk:
    available: true
    upgrade: true

- name: Update repositories as a separate step
  community.general.apk:
    update_cache: true

- name: Install package from a specific repository
  community.general.apk:
    name: foo
    state: latest
    update_cache: true
    repository: http://dl-3.alpinelinux.org/alpine/edge/main

- name: Install package without using cache
  community.general.apk:
    name: foo
    state: latest
    no_cache: true

- name: Install package checking a custom world
  community.general.apk:
    name: foo
    state: latest
    world: /etc/apk/world.custom

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

列表 / 元素=字符串

已更改的包列表

返回值: 包已更改时

示例: ["package", "other-package"]

作者

  • Kevin Brebanov (@kbrebanov)