community.general.pkgin 模块 – SmartOS、NetBSD 等系统的包管理器

注意

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

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

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

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

概要

  • SmartOS 的标准包管理器,但也适用于 NetBSD 或任何使用 pkgsrc 的操作系统。(主页:http://pkgin.net/

参数

参数

注释

clean

boolean

清理软件包缓存

选择

  • false ←(默认)

  • true

force

boolean

强制重新安装软件包

选择

  • false ←(默认)

  • true

full_upgrade

boolean

将所有软件包升级到较新版本

选择

  • false ←(默认)

  • true

name

别名:pkg

list / elements=string

要安装/删除的软件包的名称;

可以给出多个名称,用逗号分隔

state

string

软件包的预期状态

选择

  • "present" ←(默认)

  • "absent"

update_cache

boolean

更新存储库数据库。可以与其他步骤一起运行,也可以单独运行。

选择

  • false ←(默认)

  • true

upgrade

boolean

将主要软件包升级到较新版本

选择

  • false ←(默认)

  • true

属性

属性

支持

描述

check_mode

支持:完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

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

注释

注意

  • pkgin < 0.8.0 的已知错误:如果删除某个软件包,而另一个软件包依赖于它,则另一个软件包也将被静默删除。

示例

- name: Install package foo
  community.general.pkgin:
    name: foo
    state: present

- name: Install specific version of foo package
  community.general.pkgin:
    name: foo-2.0.1
    state: present

- name: Update cache and install foo package
  community.general.pkgin:
    name: foo
    update_cache: true

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

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

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

- name: Upgrade main packages (equivalent to pkgin upgrade)
  community.general.pkgin:
    upgrade: true

- name: Upgrade all packages (equivalent to pkgin full-upgrade)
  community.general.pkgin:
    full_upgrade: true

- name: Force-upgrade all packages (equivalent to pkgin -F full-upgrade)
  community.general.pkgin:
    full_upgrade: true
    force: true

- name: Clean packages cache (equivalent to pkgin clean)
  community.general.pkgin:
    clean: true

作者

  • Larry Gilbert (@L2G)

  • Shaun Zinck (@szinck)

  • Jasper Lievisse Adriaanse (@jasperla)