命令行手册

Man » flatpak 手册在线 - `flatpak` 手册页的详细在线文档

🌍
flatpak - 构建、安装和运行应用程序和运行时

概要

flatpak [选项...] {命令}

描述

Flatpak 是一种用于管理应用程序及其所使用的运行时环境的工具。 在 Flatpak 模型中, 应用程序可以构建和分发,而与它们所使用的宿主系统无关, 并且它们在运行时与宿主系统隔离(“沙盒化”)。

Flatpak 可以以系统范围或每个用户的模式运行。 系统范围的数据(运行时环境、应用程序 和配置)位于 $prefix/var/lib/flatpak/ 中,每个用户的数据位于 $HOME/.local/share/flatpak/ 中。 在这些位置下方,在 repo/ 子目录中有一个本地仓库, 并且已安装的运行时环境和应用程序位于相应的 runtime/app/ 子目录中。

系统范围的远程仓库可以通过将 flatpakrepo(5) 文件放入 /usr/share/flatpak/remotes.d//etc/flatpak/remotes.d/ 中来静态预配置。 如果在两个目录中都存在具有相同名称的文件, 则 /etc 下的文件优先。

除了位于 $prefix/var/lib/flatpak/ 中的系统范围安装之外,该安装始终被视为默认安装,除非被覆盖, 还可以通过 /etc/flatpak/installations.d/ 中的配置文件定义其他系统范围的安装, 该文件必须至少定义安装的 ID 和绝对路径。 还支持其他可选参数,如 DisplayNamePriorityStorageType

Flatpak 使用 OSTree 来分发和部署数据。 它使用的仓库是 OSTree 仓库,可以使用 ostree 实用程序对其进行操作。 已安装的运行时环境和应用程序是 OSTree 的检出版本。

用于构建 flatpak 的基本命令,如 build-initbuildbuild-finish 包含在 flatpak 实用程序中。 对于更高层次的构建支持,请参阅单独的 flatpak-builder(1) 工具。

Flatpak 支持从侧载仓库安装。 这些是仓库的局部副本(由 flatpak create-usb 生成), 用作离线安装源(在线时也可提高性能)。 通过在安装目录的 sideload-repos 子目录中创建指向侧载源的符号链接来配置这些仓库 (即,通常是 /var/lib/flatpak/sideload-repos~/.local/share/flatpak/sideload-repos)。 此外,还可以在 /run/flatpak/sideload-repos 中创建符号链接,这对于非持久性源来说是一个更好的位置(因为它会在重新启动时清除)。 这些符号链接可以指向 flatpak create-usb 给定的目录,该目录默认写入到子路径 .ostree/repo,也可以直接指向一个 ostree 仓库。


选项

以下是全局选项。各个命令都有自己的选项。

-h, --help

显示帮助选项并退出。

-v, --verbose

在命令处理期间显示调试信息。使用 -vv 以获得更多详细信息。

--ostree-verbose

在命令处理期间显示 OSTree 调试信息。

--version

打印版本信息并退出。

--default-arch

打印默认架构并退出。

--supported-arches

打印受支持的架构,按优先级排序,然后退出。

--gl-drivers

打印活动 GL 驱动程序的列表,然后退出。

--installations

打印系统安装的路径,然后退出。

--print-system-only

当运行 flatpak --print-updated-env 命令时,仅打印系统 flatpak 安装的环境,不包括用户的 home 安装。

--print-updated-env

打印用于使用 flatpak 的环境变量集合,并修改当前的环境变量集合。这 intended 用于 systemd 环境生成器中,不应手动运行。

命令

用于管理已安装的应用程序和运行时的命令:

flatpak-install(1)

从远程或捆绑包安装应用程序或运行时。

flatpak-update(1)

更新已安装的应用程序或运行时。

flatpak-uninstall(1)

卸载已安装的应用程序或运行时。

flatpak-mask(1)

屏蔽更新和自动安装。

flatpak-pin(1)

固定运行时,以防止自动删除。

flatpak-list(1)

列出已安装的应用程序和/或运行时。

flatpak-info(1)

显示已安装的应用程序或运行时的信息。

flatpak-history(1)

显示历史记录。

flatpak-config(1)

管理 flatpak 配置。

flatpak-repair(1)

修复 flatpak 安装。

flatpak-create-usb(1)

将应用程序和/或运行时复制到可移动介质上。

用于查找应用程序和运行时的命令:

flatpak-search(1)

搜索应用程序和运行时。

用于管理正在运行的应用程序的命令:

flatpak-run(1)

运行一个应用程序。

flatpak-kill(1)

停止正在运行的应用程序。

flatpak-override(1)

覆盖应用程序的权限。

flatpak-make-current(1)

指定要运行的默认版本。

flatpak-enter(1)

进入正在运行的应用程序的命名空间。

用于管理文件访问的命令:

flatpak-document-export(1)

授予应用程序访问特定文件的权限。

flatpak-document-unexport(1)

撤销对特定文件的访问权限。

flatpak-document-info(1)

显示有关特定文件的信息。

flatpak-documents(1)

列出已导出的文件。

用于管理动态权限存储的命令:

flatpak-permission-remove(1)

从权限存储中删除项目。

flatpak-permissions(1)

列出权限。

flatpak-permission-show(1)

显示应用程序权限。

flatpak-permission-reset(1)

重置应用程序权限。

flatpak-permission-set(1)

设置应用程序权限。

用于管理远程仓库的命令:

flatpak-remotes(1)

列出所有已配置的远程仓库。


flatpak-remote-add(1)

添加一个新的远程仓库。

flatpak-remote-modify(1)

修改已配置的远程仓库的属性。

flatpak-remote-delete(1)

删除已配置的远程仓库。

flatpak-remote-ls(1)

列出已配置的远程仓库的内容。

flatpak-remote-info(1)

显示已配置的远程仓库中引用的信息。

用于构建应用程序的命令:

flatpak-build-init(1)

初始化构建目录。

flatpak-build(1)

在构建目录中运行构建命令。

flatpak-build-finish(1)

将构建目录完成,以便导出。

flatpak-build-export(1)

将构建目录导出到仓库。

flatpak-build-bundle(1)

从本地仓库中的引用创建 bundle 文件。

flatpak-build-import-bundle(1)

将文件 bundle 导入到本地仓库。

flatpak-build-sign(1)

在应用程序或运行时导出后对其进行签名。

flatpak-build-update-repo(1)

更新仓库中的摘要文件。

flatpak-build-commit-from(1)

基于现有的引用创建一个新的提交。

flatpak-repo(1)

打印关于仓库的信息。

在沙箱中可用的命令:

flatpak-spawn(1)

在另一个沙箱中运行命令。

文件格式

Flatpak 命令使用的文件格式:

flatpakref(5)

指向应用程序或运行时的远程引用。

flatpakrepo(5)

指向远程的引用。

flatpak-remote(5)

远程配置。

flatpak-installation(5)

安装位置的配置。

flatpak-metadata(5)

关于应用程序或运行时的信息。

环境

除了标准的环境变量(如 XDG_DATA_DIRS 和 XDG_DATA_HOME)之外,flatpak 还会检查其自身的一些环境变量。

FLATPAK_BINARY

安装应用程序时,将写入导出的 .desktop 文件和脚本中的 flatpak 可执行文件的路径。默认情况下为 /usr/bin/flatpak,除非在构建时通过 --bindir 覆盖。

FLATPAK_BWRAP

用于创建沙箱的 bwrap(1) 可执行文件的路径。根据 Flatpak 在构建时配置的方式,默认情况下,要么在 PATH 中搜索,要么使用提供的副本,该副本通常安装为 /usr/libexec/flatpak-bwrap。

FLATPAK_CONFIG_DIR

Flatpak 站点配置的位置。如果未设置,则使用 /etc/flatpak(除非在构建时通过 --sysconfdir 覆盖)。

FLATPAK_DATA_DIR

Flatpak 的操作系统级别默认值和集成挂钩的位置。如果未设置,则使用 /usr/share/flatpak,除非在构建时通过 --datadir 覆盖。

FLATPAK_DBUSPROXY

用于过滤沙箱和主机系统之间的 D-Bus 流量的 xdg-dbus-proxy(1) 可执行文件的路径。根据 Flatpak 在构建时配置的方式,默认情况下,要么在 PATH 中搜索,要么使用提供的副本,该副本通常安装为 /usr/libexec/flatpak-dbus-proxy。

FLATPAK_DOWNLOAD_TMPDIR

下载 OCI 图层时将使用的一个目录的路径,并且将来可能用于其他下载。不使用标准的 TMPDIR,因为 Flatpak 应用程序通常太大,无法容纳在 tmpfs 中。


FLATPAK_FANCY_OUTPUT
可设置为 0,以避免在向终端输出时使用花哨的格式。当标准输出不是终端时,或者当设置了 G_MESSAGES_DEBUG 时,此功能也会自动禁用。

FLATPAK_FORCE_TEXT_AUTH
可设置为 1,以强制使用简单的内置 polkit(8) 代理,在需要修改系统范围安装时进行身份验证。默认情况下,如果可用,则使用桌面环境的 polkit 代理,通常会显示图形提示。

FLATPAK_GL_DRIVERS
一个冒号分隔的图形驱动程序扩展列表,用于尝试用于 OpenGL、Vulkan 和类似 API,优先级从高到低。默认情况下,系统会自动选择图形驱动程序。
此列表中的值与具有 active-gl-driver 条件的扩展名称的最后一个点分隔的组件匹配。 典型的值为 default、mesa-git 或 nvidia-550-120(用 nvidia 内核模块的主要版本和次要版本替换版本号)。

FLATPAK_RUN_DIR
flatpak 运行时全局文件的位置。如果未设置,则使用 /run/flatpak。

FLATPAK_SYSTEM_CACHE_DIR
在将内容拉取到系统范围的安装时,将创建临时子仓库的位置。如果未设置,则使用 /var/tmp/ 中的一个目录。 这很有用,因为它更有可能与系统仓库位于同一文件系统上(从而增加例如 reflink 复制的机会),并且我们可以避免将临时数据填充到用户的家目录中。

FLATPAK_SYSTEM_DIR
默认系统范围安装的位置。如果未设置,则使用 /var/lib/flatpak(除非在构建时通过 --localstatedir 或 -Dsystem_install_dir 覆盖)。

FLATPAK_TTY_PROGRESS
可设置为 1,以启用将机器可读的进度报告到终端。目前默认情况下未启用此功能,因为它使用 OSC 9;4 序列,某些终端模拟器将其解释为弹出通知。

FLATPAK_USER_DIR
每个用户的安装位置。如果未设置,则使用 $XDG_DATA_HOME/flatpak。

参见

ostree(1), ostree.repo(5), flatpak-remote(5), flatpak-installation(5), https://www.flatpak.org