在 Linux 发行版上使用 Flatpak [完整指南]
我们在 Linux 系统中安装应用程序,一般都是打开软件中心搜索并安装它。
应用商店中没有的,我们还可以通过直接下载 DEB 或 RPM 软件包进行安装。如果都没有,可以还能从源代码构建。
现在的问题是。应用商店通常没有最新版本的应用程序,而且处理依赖项可能很烦人; DEB 或 RPM 软件包对系统依赖性比较强;从源代码构建需要繁琐的终端操作,没有一定的经验是很难完成的。
![在 Linux 发行版上使用 Flatpak [完整指南]插图 在 Linux 发行版上使用 Flatpak [完整指南]插图](https://www.11343.com/wp-content/uploads/2023/10/Flatpak_01.png)
对于众多的 Linux 发行版和包管理系统,为了方便,需要一个通用打包系统,这样无论您是哪个 Linux 的发行版,都可以运行该应用程序。这将如何做到呢?
Ubuntu 项目的领导者 Canonical 想到了这一点,并创建了 Snaps。还有一个独立的通用软件包称为 AppImage,您可以在其中下载应用程序并运行它而无需实际安装它。
除了 Snaps 和 AppImage 之外,还有另一个通用的包系统,称为 Flatpak。下面我来介绍如何在大多数 Linux 发行版上安装和使用 Flatpak 及其优势和缺点。
一、什么是 Flatpak?
Flatpak 是 Linux 上的应用程序框架。由于不同的 Linux 发行版更喜欢自己的包管理,Flatpak 旨在提供一个具有其他优势的跨平台解决方案。它使开发人员的工作更加容易。
单个应用程序构建可以在几乎所有的 Linux 发行版中使用,而无需对捆绑包进行任何修改。
使用 Flatpak 的优势
- Flatpak 应用程序可以在任何 Linux 发行版上运行。
- Flatpak 是向前兼容的,即相同的 Flatpak 应用程序可以在下一个发行版上运行。
- 运行时依赖关系得到维护,应用程序可以使用这些依赖关系。缺少的可以作为应用程序的一部分添加。
- 尽管 Flatpak 为应用程序的分发提供了集中式服务,但它完全支持应用程序的分散分发。
- 提供与 Linux 发行版上现有软件中心的轻松集成。
使用 Flatpak 的缺点
- 它不支持服务器。到目前为止,它仅适用于带有桌面环境的 Linux 发行版。
- Flatpak 应用程序消耗的磁盘空间比使用 DEB 或 RPM 文件时通常占用的磁盘空间更多。
- 仅仅因为它在隔离的环境中运行,您可能会错过某些程序的一些功能。例如,Flatpak 应用程序可能不支持您的自定义 GTK 主题。
二、为各种 Linux 发行版启用 Flatpak 支持
安装 Flatpak 应用程序的过程分为两步。第一个是安装 Flatpak,然后我们必须添加一个 Flatpak 存储库(这里指官方的 Flathub 库),然后我们可以从这个软件库中安装应用程序。
1、在 Ubuntu 和 Linux Mint 上安装 Flatpak
2、在基于 Red Hat 和 Fedora 的 Linux 发行版上安装 Flatpak
3、在 openSUSE 上安装 Flatpak
4、在 Arch Linux 上安装 Flatpak
三、在软件中心启用 Flatpak 应用程序支持
Flatpak 应用程序可以完全通过命令行进行管理。但并不是每个人都喜欢使用命令行安装应用程序,这就是在 GNOME 软件中心启用 Flatpak 支持的重要性。
在一些发行版上,比如 Pop!_OS 20.04 ,您会发现 Flatpak 与软件中心集成在一起。所以你不需要再单独做任何事情。
但是,如果默认情况下没有集成 Flatpak ,则需要安装插件才能通过 GUI 安装 Flatpak。使用以下命令将其安装在基于 Ubuntu 的发行版中:
打开软件商店之后,你会发现,它会自动获取 Flathub 的 Flatpak 元数据...
![在 Linux 发行版上使用 Flatpak [完整指南]插图1 在 Linux 发行版上使用 Flatpak [完整指南]插图1](https://www.11343.com/wp-content/uploads/2023/10/Flatpak_02.png)
对于其他 Linux 发行版,请使用相应的软件包安装命令来安装 gnome-software-plugin-flatpak。安装后,重新启动软件中心或计算机。
现在,您可以从应用程序开发人员的网站或官方 Flatpak 应用程序商店 Flathub下载 .flatpakref 文件。然后双击下载的 .flatpakref 文件。它应该打开软件中心,并提供安装选项,如下图所示:
![在 Linux 发行版上使用 Flatpak [完整指南]插图2 在 Linux 发行版上使用 Flatpak [完整指南]插图2](https://www.11343.com/wp-content/uploads/2023/10/Flatpak_03.png)
安装完成后,您可以从软件中心或应用程序菜单中找到并启动它。
四、使用 Flatpak 命令(适用于中级到专家)
现在我们已经了解了如何启用 Flatpak 支持以及如何安装 Flatpak 应用程序,我们可以继续查看用于完全控制包安装的 Flatpak 命令。本教程的这一部分是可选的,仅适用于喜欢命令行而不是 GUI 的中级到专家用户。
1、添加用于安装 Flatpak 应用程序的存储库
Flatpak 需要有存储库信息,您可以从中查找和下载应用程序。最好添加官方的 Flathub 存储库,这样您就可以访问许多 Flatpak 应用程序。
2、请使用以下命令添加 Flathub 存储库:
3、搜索可用的 Flatpak 应用程序:
应用程序名称不必精确。它将显示与搜索查询匹配的所有可能结果。
例如,运行 flatpak search libreoffice 返回 LibreOffice 稳定版本。
请注意上面输出结果中的两个地方。“Application ID” 和 “Remotes”。您将需要这两个来安装应用程序。
4、安装 Flatpak 应用程序:
从存储库安装 Flatpak 应用程序的通用方法是:
例如,在前面的搜索命令中,你获得了应用程序 Application ID 和存储库名称 Remotes 。您可以使用此信息通过以下方式安装应用程序:
输出显示:
5、从远程 flatpakref 文件安装 Flatpak 应用程序
一些开发人员提供自己的存储库。您可以使用应用程序的 flatpakref 的绝对路径来进行安装。
6、从本地 flatpakref 文件安装 Flatpak 应用程序
从 flatpakref 文件安装 Flatpak 应用程序,假设您已经下载了 net.poedit.Poedit.flatpakref 文件,该命令将如下所示:
7、运行 Flatpak 应用程序
要运行 Flatpak 应用程序,如果您安装了spotify,您可以使用以下命令:
8、显示系统上安装的所有 Flatpak 应用程序
显示结果:
9、一次更新所有 Flatpak 应用程序
您可以使用以下命令更新所有可以更新的 Flatpak 软件包:
10、删除 Flatpak 软件包:
11、通过删除未使用的 Flatpak 运行时来释放空间
Flatpak 应用程序和运行时(runtime)会占用大量磁盘空间。因为在设计上,Flatpak 的可执行文件结合了运行时。尽管运行时可以在相关应用程序之间共享,但许多未使用的剩余运行时可能会占用你的磁盘空间。
明智的做法是清理系统并不时释放空间。您可以使用以下命令删除未使用的 Flatpak 运行时:
上面的命令列出了未使用的运行时,并为您提供了删除所有运行时的选项。
12、修复 Flatpak 安装错误
如果您由于互联网连接不稳定或系统关闭而导致 Flatpak 安装不完整,则会出现错误。更新 Flatpak 存储库通常可以解决此问题。
五、总结
启用 Flatpak 支持当然可以提供对更多软件的访问。Flathub 网站提供了一种简单的方法来查找这些 Flatpak 应用程序。
官网地址:https://flathub.org/zh-Hans
Flatpak 不仅解决了 Linux 用户之间的跨平台应用程序安装问题,而且还节省了为不同发行版开发单独捆绑包的工作量。
单个软件包可以在各种 Linux 发行版上使用,维护超级容易。
不过,与 Snap 相比,Flatpak 稍微复杂一些。在我看来,安装应用程序时,依赖应用程序 ID 而不是应用程序名称是一种烦恼。我也很惊讶 Flatpak 应用程序的安装和删除不需要 sudo 权限。
发表评论