community.general.flatpak 模块 – 管理 Flatpak

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。 您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

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

概要

要求

在执行此模块的主机上需要满足以下要求。

  • flatpak

参数

参数

注释

可执行文件

路径

要使用的 flatpak 可执行文件的路径。

默认情况下,此模块会在路径上查找 flatpak 可执行文件。

默认: "flatpak"

方法

字符串

要使用的安装方法。

定义 flatpak 是应该为整个 system 全局安装,还是仅为当前 user 安装。

选项

  • "system" ←(默认)

  • "user"

名称

列表 / elements=string / 必选

要管理的 flatpak 的名称。 要对多个软件包进行操作,可以接受软件包列表。

当与 state=present 一起使用时,name 可以指定为 flatpakref 文件的 URL 或标识 flatpak 的唯一反向 DNS 名称。

支持 https://http:// URL。

当提供反向 DNS 名称时,您可以使用 remote 选项来指定在哪个远程查找 flatpak。反向 DNS 名称的一个示例是 org.gnome.gedit

当与 state=absentstate=latest 一起使用时,建议以反向 DNS 格式指定名称。

当使用 state=absentstate=latest 提供 URL 时,模块将尝试根据 flatpakref 的名称匹配已安装的 flatpak 以将其删除或更新。但是,无法保证 flatpakref 文件的名称和已安装 flatpak 的反向 DNS 名称匹配。

no_dependencies

布尔值

在 community.general 3.2.0 中添加

是否应省略安装运行时依赖项

此参数主要用于集成测试此模块。但是,在您打包自己的 flatpak 时,可能有一些用例需要它。

选项

  • false ←(默认)

  • true

远程

字符串

要从中安装 flatpak 的 flatpak 远程(存储库)。

默认情况下,假定使用 flathub,但在使用此模块之前,您需要添加 flathub flatpak_remote。

有关管理 flatpak remotes,请参阅 community.general.flatpak_remote 模块。

默认值: "flathub"

state

字符串

指示所需的软件包状态。

社区通用版本 8.6.0 起支持 latest 值。

选项

  • "absent"

  • "present" ← (默认)

  • "latest"

属性

属性

支持

描述

check_mode

支持: 部分

如果 state=latest,模块将始终返回 changed=true

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

diff_mode

支持:

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

示例

- name: Install the spotify flatpak
  community.general.flatpak:
    name:  https://s3.amazonaws.com/alexlarsson/spotify-repo/spotify.flatpakref
    state: present

- name: Install the gedit flatpak package without dependencies (not recommended)
  community.general.flatpak:
    name: https://git.gnome.org/browse/gnome-apps-nightly/plain/gedit.flatpakref
    state: present
    no_dependencies: true

- name: Install the gedit package from flathub for current user
  community.general.flatpak:
    name: org.gnome.gedit
    state: present
    method: user

- name: Install the Gnome Calendar flatpak from the gnome remote system-wide
  community.general.flatpak:
    name: org.gnome.Calendar
    state: present
    remote: gnome

- name: Install multiple packages
  community.general.flatpak:
    name:
      - org.gimp.GIMP
      - org.inkscape.Inkscape
      - org.mozilla.firefox

- name: Update the spotify flatpak
  community.general.flatpak:
    name:  https://s3.amazonaws.com/alexlarsson/spotify-repo/spotify.flatpakref
    state: latest

- name: Update the gedit flatpak package without dependencies (not recommended)
  community.general.flatpak:
    name: https://git.gnome.org/browse/gnome-apps-nightly/plain/gedit.flatpakref
    state: latest
    no_dependencies: true

- name: Update the gedit package from flathub for current user
  community.general.flatpak:
    name: org.gnome.gedit
    state: latest
    method: user

- name: Update the Gnome Calendar flatpak from the gnome remote system-wide
  community.general.flatpak:
    name: org.gnome.Calendar
    state: latest
    remote: gnome

- name: Update multiple packages
  community.general.flatpak:
    name:
      - org.gimp.GIMP
      - org.inkscape.Inkscape
      - org.mozilla.firefox
    state: latest

- name: Remove the gedit flatpak
  community.general.flatpak:
    name: org.gnome.gedit
    state: absent

- name: Remove multiple packages
  community.general.flatpak:
    name:
      - org.gimp.GIMP
      - org.inkscape.Inkscape
      - org.mozilla.firefox
    state: absent

返回值

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

描述

command

字符串

执行的确切 flatpak 命令

返回: 当 flatpak 命令已执行时

示例: "/usr/bin/flatpak install --user --nontinteractive flathub org.gnome.Calculator"

msg

字符串

模块错误消息

返回: 失败

示例: "可执行文件 '/usr/local/bin/flatpak' 在系统中未找到。"

rc

整数

来自 flatpak 二进制文件的返回码

返回: 当 flatpak 命令已执行时

示例: 0

stderr

字符串

来自 flatpak 二进制文件的错误输出

返回: 当 flatpak 命令已执行时

示例: "error: 搜索远程 flathub 时出错: 找不到 ref org.gnome.KDE"

stdout

字符串

来自 flatpak 二进制文件的输出

返回: 当 flatpak 命令已执行时

示例: "org.gnome.Calendar/x86_64/stable\tcurrent\norg.gnome.gitg/x86_64/stable\tcurrent\n"

作者

  • John Kwiatkoski (@JayKayy)

  • Alexander Bethke (@oolongbrothers)