如何在Linux中安装和使用FlatPak
在本教程中,我们将看到什么是FlatPak,如何在Linux上安装FlatPak,然后如何使用FlatPak命令行用户界面安装应用程序。
FlatPak简介
所有Linux发行版和包装应用程序都是如此,所有这些Linux发行版都非常耗时和困难的任务。
即使存在许多包转换器,它们都具有有限的功能和兼容性问题。
为了克服这个问题,通过规范引入了一个名为Snap的应用程序包格式。
SNAPS最初为Ubuntu操作系统开发,但现在由主要的Linux发行版采用,包括Arch,Gentoo,Fedora,OpenSUSE等.ANP是一个与所有必需库和依赖关系捆绑的单个二进制包。
我们可以将其安装在任何Linux发行版上,无论其版本和架构如何。
无需为每个分发开发单独的应用程序!
类似于Snap,还有另一个名为FlatPak的应用程序包格式工具。
FLATPAK是一个系统,用于在不同的Linux发行版上构建,安装和运行应用程序和运行运行时间。
我们现在可以构建一个FlatePak应用程序并在不同的Linux版本上安装它。
我们不必担心库 和依赖项,一切都在一个应用程序本身内捆绑在一起。
另一个值得注意的功能是我们可以在Linux系统中同时安装多个版本的同一应用程序。
例如,可以在同一系统上安装VLC播放器版本2.1,2.2和2.3.
如果我们是开发人员,我们可以一次测试不同版本的应用程序。
FLOTPAK最初由Alex Larsson开发,后来由Red Hat,无尽电脑和Collabora认可。
它现在由一个独立的社区积极维护,由贡献者,志愿者和支持组织组成。
FlatPak框架是在C中编写的,并根据LGPL许可证发布。
run
每个FlatPak应用程序都依赖于运行时,以便在主机系统上正常工作。
运行时只不过是应用程序所需的一组基本依赖项(库)。
当我们使用FLATPAK命令安装应用程序时,将自动安装运行时。
运行时是分布无关的,因此他们可以在任何Linux发行版上工作。
多个应用程序可以使用单个运行时。
目前有三个主要的运行时间:Freedesktop,Gnome和KDE。
这些都托管在Flathub存储库上。
捆绑库
运行时中不可用的库与开发人员的应用程序一起捆绑在一起。
库也可以是来自运行时和/或者修补版本的库中的库 的不同版本。
沙箱
平面普及应用程序在被称为"沙箱"的孤立环境中建造并运行。
换句话说,FlatPak应用程序与主机操作系统的其余部分隔离,以及其他应用程序。
每个沙箱都包含应用程序及其运行时。
FLATPAK应用程序默认情况下只能访问其沙箱的内容。
用户必须由用户明确给出用户文件,网络,图形和设备。
存储库
所有FlatPak应用程序及其运行时都存储在名为"存储库"的中央处。
Flathub是所有FlatPak应用程序的官方存储库。
我们可以使用FLATPAK命令行界面访问和安装应用程序和运行时。
在Linux上安装Flatpak
FLATPAK提供的流行Linux发行版的默认存储库,如Arch Linux,Debian,Fedora,Gentoo,Red Hat,Linux Mint,OpenSuse,Solus,Mageia和Ubuntu分布。
要在Arch Linux和Manjaro Linux上安装FlatPak,请运行:
$sudo pacman -S flatpak
Debian Buster和较新版本的默认存储库提供了FLATPAK。
要在Debian上安装FlatPak,请运行:
$sudo apt install flatpak
如果我们在Debian上使用GNOME DE,请使用命令为GNOME软件安装FlatPak插件:
$sudo apt install gnome-software-plugin-flatpak
在Fedora上,默认安装了FlatPak。
我们所要做的就是启用如下一节所述的启用Flathub。
如果没有任何原因未安装它,运行:
$sudo dnf install flatpak
在RHEL 7上,运行:
$sudo yum install flatpak
在CentOS 7上,默认安装FLATPAK。
所以不需要设置!
从Linux Mint 18.3开始,默认安装FLOTPAK。
所以,无需设置。
在OpenSUSE Tumbleweed上,可以使用ZYPPER安装FLOTPAK:
$sudo zypper install flatpak
在Ubuntu 18.10(宇宙墨鱼)和较新的Ubuntu版本上,使用此命令安装Flatpak:
$sudo apt install flatpak
在较旧的Ubuntu版本上,添加以下存储库并安装FLOTPAK,如下所示。
$sudo add-apt-repository ppa:alexlarsson/flatpak
$sudo apt update
$sudo apt install flatpak
GNOME软件应用程序的FlatPak插件使得可以在不需要命令行的情况下安装应用程序。
要安装此插件,请运行:
$sudo apt install gnome-software-plugin-flatpak
在Solus上,使用命令安装FlatPak:
$sudo eopkg install flatpak xdg-desktop-portal-gtk
在Mageia 6和较新版本上,我们可以使用DNF安装FLOTPAK:
$sudo dnf install flatpak
或者,使用以下内容安装"urpmi":
$sudo urpmi flatpak
POP!_OS 20.04具有默认配置的FLANPAK和FLATHUB。
如果我们使用的是pop!_os 19.10或者早期版本,请运行:
$sudo apt install flatpak
基本OS 5.1和较新的配有FLANPAK支持的盒子。
对于其他Linux发行版,请参阅官方安装链接。
Flatpak的教程
有许多流行的应用程序,如GIMP,KDENLIVE,Steam,Spotify和Visual Studio代码等,如FlatPaks。
要安装FlatPak应用程序,我们需要首先添加FlatPak存储库(或者遥控器)。
1.添加远程存储库
正如我所提到的那样,应用程序和运行时存储在存储库或者远程中。
FlatPak的官方存储库是Flathub。
要在Linux上启用Flathub存储库,只需运行此命令:
$sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
有许多其他非官方的FlatePak存储库。
快速的网络搜索找到它们。
2.列出遥控器
要列出所有已配置的远程存储库,请运行:
$flatpak remotes
示例输出:
Name Options flathub system
正如我们所看到的,上面的命令列出了系统中添加的遥控器。
它还列出了遥控器是否已添加每个用户或者系统范围。
在我的情况下,我添加了Flathub存储库系统。
3.安装FLOTPAK应用程序
在本节中,我们将看到如何安装FlatPak应用程序。
要安装FlatPak应用程序,例如GNOME框,请运行:
$flatpak install flathub org.gnome.Boxes
上面的命令将安装系统宽。
如果我们不想安装系统范围的应用程序,我们还可以按照下面的用户安装FLOTPAK应用程序。
$flatpak install --user <name-of-app>
所有已安装的应用程序都将存储在$home/.var/app /位置。
$ls $HOME/.var/app/ com.github.calo001.fondo com.github.tchx84.Flatseal org.gnome.Boxes
4.运行FLOTPAK应用程序
我们可以随时从应用程序启动器启动已安装的应用程序。
从命令行,我们可以使用命令运行它,例如gnome框:
$flatpak run org.gnome.Boxes
FlatPak将为所有FlatPak应用程序添加菜单条目。
因此,我们可以直接从菜单或者应用程序启动器启动。
5.搜索FATHPAK应用程序
要搜索应用程序:
$flatpak search gimp
示例输出:
Name Description Application ID Version Branch Remotes GNU Image Manipulati… Create images and edit photographs org.gimp.GIMP 2.10.20 stable flathub GIMP User Manual GIMP User Manual org.gimp.GIMP.Manual 2.10 2.10 flathub Resynthesizer Set of GIMP plug-ins that heal (in-paint), synthesize texture, theme an image, and more …p.GIMP.Plugin.Resynthesizer 2.0.3 2-3.36 flathub GimpLensfun GimpLensfun is a Gimp plugin to correct lens distortion using the lensfun library and database. org.gimp.GIMP.Plugin.Lensfun 0.2.4 2-3.36 flathub Fourier A simple GIMP plug-in to do fourier transform on your image. org.gimp.GIMP.Plugin.Fourier 0.4.3 2-3.36 flathub BIMP Batch Image Manipulation Program, a GIMP plugin to apply a set of manipulations to an entire gr… org.gimp.GIMP.Plugin.BIMP 2.4 2-3.36 flathub LiquidRescale LiquidRescale plugin to resize pictures non uniformly while preserving their features, for example:avo… …p.GIMP.Plugin.LiquidRescale 0.7.2 2-3.36 flathub G'MIC GREYC's Magic for Image Computing org.gimp.GIMP.Plugin.GMic 2.9.2 2-3.36 flathub FocusBlur Focus Blur plug-in crete a blurring effect similar to Depth of Field. ….gimp.GIMP.Plugin.FocusBlur 3.2.6 2-3.36 flathub Glimpse Create images and edit photographs org.glimpse_editor.Glimpse 0.2.0 stable flathub Scans to PDF Create small, searchable PDFs from scanned documents com.github.unrud.djpdf 0.1.2 stable flathub
此命令将返回与所有遥控器中的字符串"gimp"匹配的所有应用程序。
6.列出本地安装的FlatPak应用程序和运行时
要查看系统上的所有安装的FlatPak应用程序和运行时,请运行:
$flatpak list
示例输出:
Name Application ID Version Branch Installation Fondo com.github.calo001.fondo 1.3.8 stable system Flatseal com.github.tchx84.Flatseal 1.5.2 stable system default …reedesktop.Platform.GL.default 19.08 system Intel …eedesktop.Platform.VAAPI.Intel 19.08 system openh264 ….freedesktop.Platform.openh264 2.1.0 2.0 system GNOME Boxes org.gnome.Boxes 3.36.6 stable system GNOME Application Platform ve… org.gnome.Platform 3.36 system Ambiance Gtk theme org.gtk.Gtk3theme.Ambiance 3.22 system Yaru-light Gtk Theme org.gtk.Gtk3theme.Yaru-light 3.22 system
如果要查看已安装的应用程序和已安装大小的运行时,请使用'd'标志。
$flatpak list -d
示例输出:
… … … Version Branch Arch Origin Installation Ref Active commit Latest commit Installed size … … … … 1.3.9 stable x86_64 flathub system com.github.calo001.fondo/x86_64/stable 4755529773f0 - 89.3 MB … … … … 1.6.2 stable x86_64 flathub system com.github.tchx84.Flatseal/x86_64/stable 4e1efc03269e - 2.9 MB … … … 19.08 x86_64 flathub system org.freedesktop.Platform.GL.default/x86_64/19.08 f68c8e930d04 - 255.7 MB … … … 19.08 x86_64 flathub system org.freedesktop.Platform.VAAPI.Intel/x86_64/19.08 19fe8e74d641 - 37.0 MB … … … … 2.1.0 2.0 x86_64 flathub system org.freedesktop.Platform.openh264/x86_64/2.0 73f998362a6f - 778.2 kB … … … … 3.36.6 stable x86_64 flathub system org.gnome.Boxes/x86_64/stable 98c619ed7873 - 706.9 MB … … … … 3.36 x86_64 flathub system org.gnome.Platform/x86_64/3.36 d79ff93caf2d - 934.6 MB … … … … 3.22 x86_64 flathub system org.gtk.Gtk3theme.Ambiance/x86_64/3.22 73fed99df212 - 16.3 MB … … … … 3.22 x86_64 flathub system org.gtk.Gtk3theme.Yaru-light/x86_64/3.22 2573259417d8 - 718.3 kB …
仅列出具有命令的runtimes:
$flatpak list --runtime
示例输出:
Name Application ID Version Branch Installation Locale com.github.calo001.fondo.Locale stable system default …reedesktop.Platform.GL.default 19.08 system Intel …eedesktop.Platform.VAAPI.Intel 19.08 system openh264 ….freedesktop.Platform.openh264 2.1.0 2.0 system Locale org.gnome.Boxes.Locale stable system GNOME Application Platform ve… org.gnome.Platform 3.36 system Ambiance Gtk theme org.gtk.Gtk3theme.Ambiance 3.22 system Yaru-light Gtk Theme org.gtk.Gtk3theme.Yaru-light 3.22 system
要仅查看应用程序,而不是运行时,请使用此命令。
$flatpak list --app
示例输出:
Name Application ID Version Branch Installation Fondo com.github.calo001.fondo 1.3.8 stable system Flatseal com.github.tchx84.Flatseal 1.5.2 stable system GNOME Boxes org.gnome.Boxes 3.36.6 stable system
7.列出远程应用程序和运行时
我们还可以查看远程存储库的可用应用程序和运行时列表。
要使用命令列出所有remotes的应用程序和运行时:
$flatpak remote-ls
仅列出运行时:
$flatpak remote-ls --runtime
仅列出应用程序:
$flatpak remote-ls --app
列出特定存储库的应用程序和运行时,例如flathub,运行:
$flatpak remote-ls flathub
仅列出远程存储库中的应用程序,运行:
$flatpak remote-ls flathub --app
8.更新FLOTPAK应用程序
要更新所有FlatePak应用程序,请运行:
$flatpak update
要更新特定应用程序,我们会做:
$flatpak update org.gnome.Boxes
9.查看FlatPak应用程序的详细信息
要显示已安装应用程序的详细信息,请运行:
$flatpak info org.gnome.Boxes
示例输出:
GNOME Boxes - Simple remote and virtual machines ID: org.gnome.Boxes Ref: app/org.gnome.Boxes/x86_64/stable Arch: x86_64 Branch: stable Version: 3.36.6 License: LGPL-2.1+ Origin: flathub Collection: org.flathub.Stable Installation: system Installed: 706.9 MB Runtime: org.gnome.Platform/x86_64/3.36 Sdk: org.gnome.Sdk/x86_64/3.36 Commit: 98c619ed78736e85433bcbecd5c4392ad30d4890a71ddc909f5b4c51dfcde340 Parent: 72ec972e0ce7fdf640f478d406a8acad5f90ebd1f8c0ac330baa7ed3dd5ccd70 Subject: Build vte from git master (a8cf05d9) Date: 2017-09-02 10:02:20 +0000
10.卸载FLOTPAK应用程序
要删除FlatPak应用程序,请运行:
$sudo flatpak uninstall org.gnome.Boxes
11.删除远程存储库
删除远程,例如flathub:
$sudo flatpak remote-delete flathub
其中Flathub是遥控器的名称。
12.删除未使用的运行时
删除依赖于特定运行时的所有应用程序后,运行时本身将不会自动删除。
要删除任何已安装的应用程序未使用的运行时和扩展,请运行:
$flatpak uninstall --unused
13.删除FlatPak缓存
要在"TMP"位置删除剩余的FlatPak缓存,请运行:
$sudo bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"
如果使用"SystemD"作为默认系统管理器,则可以如下所示自动化FlatPak剩余缓存清洁任务。
使用以下内容创建名为"clear_flatpak_cache.service"的服务文件,其中包含以下内容:
[Unit] Description=Flatpak cache cleaner [Service] ExecStart=bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*" [Install] WantedBy=multi-user.target
启动并在启动时启用此服务:
$sudo systemctl enable --now clear_flatpak_cache
从现在开始,剩余的FlatPak缓存文件将在启动时清除。
14.修理FLOTPAK安装
我们可以通过修剪和重新安装无效对象来修复FlatePak安装。
为此,运行:
$flatpak repair
我们也可以使用"-User"和"--System"标志进行每用户和每个系统修复。
维修每用户安装:
$flatpak repair --user
修复每系统安装:
$flatpak repair --system
15.查看FlatPak历史
我们可能已安装一些应用程序,更新它们或者删除它们。
所有FlatPak交易都将由FlatPak记录。
我们可以查看这些日志,以了解随着时间的推移对FlatePak安装的更改。
$flatpak history
16.显示FLATPAK帮助部分
对于FlatPak帮助,运行:
$flatpak --help
此命令将显示所有可用的flatpak选项和子命令的列表。