Linux通用安装格式有什么区别?看看哪种更适合你

这三种Linux通用安装格式有什么区别?了解各自的特点才能选择更适合自己的格式。

用过Linux的同学可能知道,Linux发行版,比如 Ubuntu 使用终端输入一行命令“apt install 软件名”就能快捷实现软件的安装。

但是在非 Debian 家族的 Linux 发行版中,比如 manjaro,就需要用 pacman 来安装软件。为了解决不同发行版安装软件包的问题。就出现了通用的软件打包格式。

这一解决方案,对 Linux 上的软件开发人员来说,是非常便利的。想要在多个 Linux 发行版上发布软件,就不需要针对每个发行版对软件进行平台化的打包。通过统一的打包方式,便可快速实现软件的分发。本文小编就来介绍一下从普通用户角度,看看三种Linux通用安装格式 Snap、Flatpak 和 AppImage 的主要区别。

1.Linux通用打包格式特点对比.jpg

01.用户的权限控件

Linux通用安装格式之中,Snap 为用户控制的权限提供图形和命令行界面。在 Ubuntu 系统中,可以使用自带的「Ubuntu 商店」来管理 Snap 应用的权限。

若要查看使用命令行接口的快照应用的权限,请运行以下命令:

$ snap connections chromium

将「chromium」替换为相应的 snap 应用的名称。

4..jpg

若要查看所有已安装的快照应用的列表,请运行以下命令:

$ snap list

要授予相机权限给 Chromium 浏览器,可使用以下命令:

$ snap connect chromium:camera

要取消摄像机权限,运行下面的命令:

$ snap disconnect chromium:camera

权限管理的适当命令可以在「Slot」列中找到(上一张屏幕截图所示)。

相比 Snap 应用,Flatpak 还提供用于授予和撤销权限的接口。可以使用 GNOME 软件应用(需要 GNOME 3.32.x)通过图像的方式操作。

若要查看 Flatpak 应用的权限,可运行以下命令:

$ flatpak info --show-permissions Chromium

5..jpg

将「Chromium」替换为 Flatpak 应用的名称。

若要查看系统上安装的所有Flatpak应用的列表,请运行以下命令:

$ flatpak list

若要更改 Flatpak 应用的权限,需要更改上面屏幕截图中显示的变量值。例如,下面的命令将使整个文件系统可用于皮瓣应用:

$ sudo flatpak override Chromium --filesystem=host

AppImage 目前不支持权限控件,但未来会支持的。

02.沙盒环境

Snap、Flatpak 和 AppImage 这几种Linux通用安装格式支持开箱即用沙盒应用环境。沙盒是一个环境,或者也可以说是一种容器,它与主机系统完全隔离开来。与主机系统的任何交互都是使用有限的 API 和权限控件完成的。

其中一些权限明确要求用户选择加入,或者我们用户可以完全禁用这些权限。

沙盒应用比对主机系统具有完全访问权限的其他应用都相对安全。

沙盒环境我想大家可能并不陌生,Windows 10 系统也内置了一个 Sandbox 环境,对于一些不放心的软件,可以先在沙盒环境中测试,这样就不会破坏主系统。

6..jpg

03.应用程序可移植性

AppImage 应用是单个可执行文件(类似于 Windows 的.exe文件),可以轻松地在系统之间共享。

通过包括应用本身以及应用所依赖的依赖库 Snap 和 Flatpak 应用具有可移植性。

但是,此过程不像 AppImage 那样简单,需要使用多个命令才能实现相同的结果。

04.自动更新

Snap 和 Flatpak 应用程序从集中式应用程序存储库中安装,应用程序无需用户干预即可自动更新。AppImage 缺乏强大的自动更新机制,用户需要手动下载新的 AppImage 二进制文件,并替换现有的二进制文件以安装更新。

不过目前AppImage 开发人员提供了一个工具,通过提供增量更新的方式来更新现有的二进制文件。

但是,它仍然需要下载更新工具,并手动将其与现有的 AppImage 二进制文件一起使用。

05.应用程序大小

AppImage 的应用由于使用压缩的关系,软件大小占用空间更低,Snap 和 Flatpak 应用大小因应用而异。

结论

与 Windows 相比,Linux 系统在软件安装上存在有一定的门槛,增加了学习成本,Linux通用安装格式的出现,便可以一定程度上解决不同发行版 Linux 安装软件的问题。

本文编辑:@ 小淙

©本文著作权归电手所有,未经电手许可,不得转载使用。