在 Ubuntu 和其他 Linux 发行版上使用 Flatpak [完整指南]
Flatpak 是 Fedora 的通用打包格式。启用 Flatpak 将使您可以轻松安装许多 Linux 应用程序。以下是如何在 Ubuntu 和其他 Linux 发行版中使用 Flatpak。
在 Linux 中安装应用程序就像打开软件中心并搜索并安装一样简单。
App Store 中没有的应用程序可以通过 DEB 或 RPM 包安装。其中一些可以通过 PPA(对于基于 Debian 的发行版)获得,如果没有,可以从源代码构建。
但也有一些限制。应用程序商店通常没有最新版本的应用程序,处理依赖关系可能很烦人,而且 PPA 可能并不总是安全的!从源头构建需要一些终端实践。
对于多个 Linux 发行版和包管理系统,需要一个通用打包系统,无论您的 Linux 发行版如何,都可以运行应用程序。 Canonical 想到了这一点并创建了 Snap。还有一个名为 AppImage 的独立通用软件包,您可以在其中下载应用程序并运行它,而无需实际安装它。
除了 Snaps 和 AppImage 之外,还有另一个通用包系统,称为 Flatpak。
我们将了解如何在大多数 Linux 发行版上安装和使用 Flatpak 及其优点。
什么是 Flatpak?
Flatpak 是 Linux 上的应用程序框架。
由于不同的发行版更喜欢自己的包管理,Flatpak 的目标是提供跨平台解决方案并具有其他优势。它使开发人员的工作更加轻松。
单一应用程序构建可用于几乎所有 Linux 发行版(支持 Flatpak),无需对捆绑包进行任何修改。
Flatpak 的主要优点
除了为不同的 Linux 发行版提供单一捆绑包之外,Flatpak 还提供与 Linux 桌面的集成,使浏览、安装和使用 Flatpak 应用程序变得更加容易,例如Gnome 软件中心可用于安装 Flatpak。
Flatpak 向前兼容,即相同的 Flatpak 应用程序可以在发行版的下一个版本上运行,无需更改。
维护可供应用程序使用的运行时依赖项。缺失的部分可以作为申请的一部分添加。
虽然Flatpak为应用程序分发提供了集中式服务,但它完全支持应用程序的去中心化分发。
A. 为各种 Linux 发行版启用 Flatpak 支持
安装 Flatpak 的过程分为两步。第一个是安装 Flatpak,然后我们必须添加一个 Flatpak 存储库(此处为 Flathub),从中我们可以安装应用程序。
在 Ubuntu 和 Linux Mint 上安装 Flatpak
使用以下命令在 Ubuntu 上安装 Flatpak 支持:
sudo apt install flatpak
在基于 Red Hat 和 Fedora 的 Linux 发行版上安装 Flatpak
要在 Red Hat 和 Fedora 上安装 Flatpak,您只需输入以下命令:
sudo yum install flatpak
在 openSUSE 上安装 Flatpak
要在基于 openSUSE 的 Linux 发行版上启用 Flatpak 支持,请使用以下命令:
sudo zypper install flatpak
在 Arch Linux 上安装 Flatpak
要在基于 Arch 的 Linux 发行版上启用 Flatpak 支持,请使用以下命令:
sudo pacman -S flatpak
B. 在软件中心启用 Flatpak 应用程序支持
Flatpak 应用程序可以完全通过命令行进行管理。但并不是每个人都喜欢使用命令行来安装应用程序,这就是在 GNOME 软件中心启用 Flatpak 支持将成为救星的地方。
在 Pop!_OS 20.04 等某些发行版上,您会发现 Flatpak 与软件中心集成。因此,您无需单独执行任何操作。
但是,如果默认情况下没有集成 Flatpak,则需要 GNOME 软件插件才能通过 GUI 安装 Flatpak。使用以下命令将其安装在基于 Ubuntu 的发行版中:
sudo apt install gnome-software-plugin-flatpak
对于其他发行版,请使用常规包安装命令来安装gnome-software-plugin-flatpak。安装后,重新启动软件中心或您的计算机。
现在,您可以从应用程序开发人员的网站或官方 Flatpak 应用程序商店 Flathub 下载 .flatpakref 文件。
导航到下载文件夹并双击下载的 .flatpakref 文件。它应该打开软件中心并提供安装选项,如下图所示:
如果双击不起作用,您还可以右键单击该文件并使用软件安装打开它(默认)。
安装完成后,您可以从软件中心或应用程序菜单启动它。
C. 使用 Flatpak 命令(适合中级到专家)
现在我们已经了解了如何启用 Flatpak 支持以及如何安装 Flatpak 应用程序,我们可以继续了解如何完全控制软件包安装的 Flatpak 命令。
本教程的这一部分是可选的,仅适用于更喜欢命令行而不是 GUI 的中级到专家用户。
添加用于安装 Flatpak 应用程序的存储库
Flatpak 需要拥有可以查找和下载应用程序的存储库信息。添加 Flathub 存储库是一个好主意,以便您可以访问许多 Flatpak 应用程序。
值得注意的是,在撰写本文时,Flathub 是安装 Flatpak 的最受欢迎的存储库。因此,我们将它用于提到的每个命令。如果您正在使用其他存储库(远程源),请随意将 Flathub 替换为您用于每个命令的存储库。
为此,请使用以下命令:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
可能还有其他可用的存储库 - 检查并根据需要添加它们。
通过终端搜索Flatpak
您可以通过以下方式使用 Flatpak 命令中的搜索选项搜索可用的 Flatpak 应用程序:
flatpak search applicationname
应用程序名称不必准确。它将显示与搜索查询匹配的所有可能结果。
例如,flatpak search libreoffice 返回 LibreOffice 稳定版本。
您应该注意上述命令输出中的两件事。 “应用程序 ID”和“远程”。您需要这两个来安装应用程序。
安装 Flatpak 应用程序
从存储库安装 Flatpak 应用程序的通用方法是:
flatpak install <remotes> <ApplicationID>
例如,在前面的搜索命令中,您获得了应用程序 ID 和存储库名称。您可以使用此信息通过以下方式安装应用程序:
flatpak install flathub org.libreoffice.LibreOffice
一些开发人员提供自己的存储库。您可以使用应用程序的 flatpakref 的绝对路径或通过 Flathub 安装应用程序。
flatpak install --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref
从 flatpakref 文件安装 Flatpak 应用程序
如果您已在系统上下载了 .flatpakref 文件,请导航到该目录并使用以下命令进行安装:
flatpak install <ApplicationID>.flatpakref
假设您已经下载了 net.poedit.Poedit.flatpakref 文件,命令将如下所示:
flatpak install net.poedit.Poedit.flatpakref
运行 Flatpak
要运行 Flatpak 应用程序,您可以使用以下命令:
flatpak run <ApplicationID>
例如,如果您安装了Spotify,则该命令将如下所示:
flatpak run com.spotify.Client
显示系统上安装的所有 Flatpak 应用程序
您可以使用以下命令显示系统上安装的所有 Flatpak 应用程序:
flatpak list
卸载 Flatpak 应用程序
您可以使用卸载选项和应用程序 ID 来删除已安装的 Flatpak 软件包。
flatpak uninstall <ApplicationID>
它应该是这样的:
flatpak uninstall com.spotify.Client
立即更新所有 Flatpak 应用程序
您可以使用以下命令更新所有可更新的 Flatpak 软件包:
flatpak update
如果需要,您还可以降级 Flatpak 软件包。
通过删除未使用的 Flatpak 运行时来释放空间
时常清理系统并释放空间是明智的做法。您可以使用以下命令删除未使用的 Flatpak 运行时:
flatpak uninstall --unused
上面的命令列出了未使用的运行时,并为您提供了将它们全部删除的选项。
D. Flatpak 故障排除
在本节中,我们将看到您在使用 Flatpak 时可能遇到的一些常见问题。
修复 Flatpak 安装错误
如果你遇到这样的错误:
错误:runtime/org.freedesktop.Platform/x86_64/1.6 未安装
您可以使用以下命令轻松修复它:
flatpak update -v
如果您由于互联网连接不良或系统关闭而导致 Flatpak 安装不完整,您会收到此错误。更新 Flatpak 存储库通常可以解决此问题。
您对 Flatpak 有何看法?
启用 Flatpak 支持当然可以访问更多软件。 Flathub 网站提供了一种查找这些 Flatpak 应用程序的简单方法。
Flatpak 不仅解决了 Linux 用户之间的跨平台应用程序安装问题,而且还节省了为不同发行版开发单独捆绑包的精力。
单个包可以在各种Linux发行版上使用,并且维护非常简单。
不过,与 Snap 相比,Flatpak 稍微复杂。在我看来,依赖应用程序 ID 而不是应用程序名称很烦人。我还感到惊讶的是,Flatpak 应用程序的安装和删除不需要 sudo 权限。
?您对 Flatpak 有何看法?您使用它们吗?与 AppImage 或 Snaps 相比,您更喜欢它吗?如果您在评论部分遇到任何问题,请告诉我们。