community.general.flatpak 模块 – 管理 flatpaks

注意

此模块是 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"

名称

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

要管理的 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 远程的信息,请参阅 community.general.flatpak_remote 模块。

默认值: "flathub"

state

字符串

指示期望的软件包状态。

从 community.general 8.6.0 版本开始支持值 latest

选择

  • "absent" (不存在)

  • "present" ← (默认)

  • "latest" (最新)

属性

属性

支持

描述

check_mode

支持: 部分

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

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

diff_mode

支持:

在差异模式下,将返回有关已更改内容(或在 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 命令时

示例: "错误:搜索远程 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)