community.general.openbsd_pkg 模块 – 在 OpenBSD 上管理软件包

注意

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

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

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

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

概要

  • 使用 pkg 工具管理 OpenBSD 上的软件包。

参数

参数

注释

build

布尔值

从源代码构建软件包,而不是下载和安装二进制文件。需要已经安装了端口源代码树。如果尚未安装,则会自动构建和安装“sqlports”软件包。

snapshot 互斥。

选项

  • false ← (默认)

  • true

clean

布尔值

更新或删除软件包时,删除旧软件包中使用 @extra 在打包列表中注释的额外配置文件。

选项

  • false ← (默认)

  • true

name

列表 / 元素=字符串 / 必需

软件包的名称或名称列表。

ports_dir

路径

build 选项结合使用时,允许覆盖默认的端口源目录。

默认值: "/usr/ports"

quick

布尔值

快速替换或删除软件包;在删除普通文件之前,无需费心检查校验和。

选项

  • false ← (默认)

  • true

snapshot

布尔值

在 community.general 1.3.0 中添加

强制 %c%m 扩展到 snapshots,即使在发行版内核上也是如此。

build 互斥。

选项

  • false ← (默认)

  • true

state

字符串

present 将确保软件包已安装。

latest 将确保已安装软件包的最新版本。

absent 将确保未安装指定的软件包。

选项

  • "absent"

  • "latest"

  • "present" ← (默认)

  • "installed"

  • "removed"

属性

属性

支持

描述

check_mode

支持:完全支持

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

diff_mode

支持:部分支持

在 community.general 9.1.0 中添加

仅在未启用检查模式时才有效。

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

备注

注意

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

示例

- name: Make sure nmap is installed
  community.general.openbsd_pkg:
    name: nmap
    state: present

- name: Make sure nmap is the latest version
  community.general.openbsd_pkg:
    name: nmap
    state: latest

- name: Make sure nmap is not installed
  community.general.openbsd_pkg:
    name: nmap
    state: absent

- name: Make sure nmap is installed, build it from source if it is not
  community.general.openbsd_pkg:
    name: nmap
    state: present
    build: true

- name: Specify a pkg flavour with '--'
  community.general.openbsd_pkg:
    name: vim--no_x11
    state: present

- name: Specify the default flavour to avoid ambiguity errors
  community.general.openbsd_pkg:
    name: vim--
    state: present

- name: Specify a package branch (requires at least OpenBSD 6.0)
  community.general.openbsd_pkg:
    name: python%3.5
    state: present

- name: Update all packages on the system
  community.general.openbsd_pkg:
    name: '*'
    state: latest

- name: Purge a package and it's configuration files
  community.general.openbsd_pkg:
    name: mpd
    clean: true
    state: absent

- name: Quickly remove a package without checking checksums
  community.general.openbsd_pkg:
    name: qt5
    quick: true
    state: absent

作者

  • Patrik Lundin (@eest)