三款新星Linux解决方案:Snappy、Flatpak和AppImage

译文
系统 Linux
2018年,与发行版无关的软件包安装解决方案大有帮助。这个领域的三颗新星是Snappy、Flatpak和AppImage。

【51CTO.com快译】2018年,与发行版无关的软件包安装解决方案大有帮助。这个领域的三颗新星是Snappy、Flatpak和AppImage。

三款新星Linux解决方案:Snappy、Flatpak和AppImage

不久前,二进制软件包被认为是救星,不必为Linux系统编译软件包。

2018年,借助与发行版无关的软件包解决方案,我们会阔步前进。本文将介绍这个领域的三颗新星:Snappy、Flatpak和AppImage。

AppImage是一种很管用的软件磁盘映像

我是AppImage的忠实粉丝,因为只要使希望运行的某个程序成为可执行文件,然后双击它即可。AppImages就这么简单。据官网介绍,其想法是你可以直接从相应软件的开发者那里获得软件。使用AppImage格式,安装应用程序可能让人觉得类似如同使用Windows一样。

运行AppImage的优点是不需要sudo、root甚至不需要为系统依赖项所操心。你基本上只需挂载磁盘映像,类似在OS X中挂载磁盘映像。

也许运行AppImages的***优点是,你运行的应用程序只需删除一个文件即可将其删除。这个单一的文件/磁盘映像方法既好又坏,取决于你怎么看待它。而且,AppImages易于分发、运行简单。

AppImages的缺点是,即使你直接从开发者的网站获得软件,仍然不知道应用程序是否已被篡改。用过Transmission这款应用程序的OS X用户对信任软件的这个问题深有体会。这款应用程序让勒索软件可以感染在Mac上运行该应用程序的那些人。

尽管很喜欢AppImages,但我对AppImages绝对值得信赖的黑体印刷声明持有异议。实际上,它们就是磁盘映像,我们需要信任每一个AppImage的分销商。幸好,如果有人选择在沙箱中运行AppImage,万一下载的AppImage在源网站上被人利用,这可以防止形势失控。

链接:https://appimage.org/

Flatpak提供隔离的运行时环境

Flatpak安装的更新和应用程序由每个运行时环境来处理。其想法是,这提供了比运行典型的Linux软件包更新更简化的软件包处理机制。Flatpak的亮点在于,它是针对桌面Linux发行版设计的。因此,使用Flatpaks分发的应用程序是针对桌面Linux用户设计的。这也是AppImages的一个特点,但是Flatpaks的不同之处在于,它允许单个的应用程序更新。

Flatpaks与Ubuntu PPA相似的地方在于,它们使用单个的代码仓库用于应用程序安装和更新。我先得承认,我其实不喜欢Flatpaks的这个特性,因为努力找到单个的代码仓库很费时。然而优点在于,由于与发行版无关,它确实为安装/更新提供了一个更好的系统。

考虑的另一个方面是,安装Flatpaks框架需要安装所需的组件,才能使Flatpak成为可安装的可用软件。如果是Ubuntu之类的发行版,你得为Flatpak框架添加Ubuntu PPA。简而言之,先要安装PPA仓库,才能安装框架,之后才可安装Flatpak仓库。虽然这么做不难,但有点多余。

运行Flatpak安装的应用程序的好处是,你可以在自己选择的任何发行版上运行***的软件。此外,为了减少寻找单个Flatpak仓库带来的麻烦,Flathub的应用程序部分简化了软件查找。

Flathub提供了在一个地方查找软件的功能,即使过去Flatpaks不在一个单独的地方。这实际上是个好主意,这样一来,使用Flatpaks就***吸引力。可能最重要的是,Flathub的软件类别含有可供选择的大量软件。

与AppImages一样,Flatpaks是针对Linux桌面设计的。我们在介绍下文时,这是一个重要的考虑因素。

链接:https://flatpak.org/

Snap Packages是压缩文件系统

Snap软件包是Canonical提出的一个打包概念,针对Linux和物联网而设计。你进入到Snapcraft网站后,产生的***印象是,Snaps把开发人员放在最终用户的前面。我倒不是说这是缺点,但是Snaps网站完全证实了我的说法。首页上的两个按钮分别是“构建你的***个snap”和“开始上手Github”。

上面提到的两个按钮链接都假设你是开发人员,这与Flatpak的首页大不相同。Flatpak首页致力于将Flatpak软件安装到最终用户的PC上。如果你查看顶部的导航栏并点击商店,Snaps只提供最终用户解决方案。一旦你点击商店链接,会看到可以安装到目标PC和服务器上的可用Snaps。

Snaps还与AppImage相似的地方在于,你是挂载软件映像而不是安装软件。Snaps的另一个好处是,可以恢复到软件的早期版本。此外,由于Snaps共享一个代码仓库,更新起来很容易。

一些人认为Snaps***的缺点是,它提供了Canonical控制的集中式打包格式。当然,Snaps适用于多个发行版,但是可用Snaps的控制仍集中在一个地方。另外值得一提的是,知名的开源和闭源软件在Snap的仓库中受欢迎。

Snaps***一个重要的特点是,它们不仅限于前面提到的Linux桌面,还旨在为物联网提供打包解决方案。这是Snaps与Flatpak和AppImage的***区别。Snaps主要侧重于物联网,Linux是额外的好处。

链接:https://snapcraft.io/

哪种打包类型最适合Linux?

在比较了上述每种打包类型的差异和优点后,我们想知道哪一种***。就简单性而言,我认为AppImage在这方面胜出。但是如果你希望能够使用其中一种打包格式来更新软件,那么Flatpak或Snaps更明智。

一种方法可能是每一个都尝试一下,看看哪种打包类型拥有你所寻找的用户体验和软件品种。

原文标题:Linux Solutions: Snappy, Flatpak, and AppImage,作者:Matt Hartley

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2019-11-27 13:50:35

bauh软件包应用

2023-03-08 12:39:47

架构

2010-04-13 11:46:02

2010-05-12 14:18:58

Linux引导

2009-12-23 21:06:47

统一通信多媒体联络中心平台华为

2018-03-13 08:51:31

开源区块链加密货币

2012-05-30 09:22:29

2011-04-28 11:43:23

惠普应用部署和测试云计算解决方案

2011-02-23 17:13:19

FileZilla

2009-07-17 09:17:41

IT运维SiteView游龙科技

2019-06-24 11:26:27

存储

2012-05-30 13:25:48

2015-07-27 16:56:24

LinuxQQ

2015-03-18 15:48:44

2015-09-07 09:52:08

云部署云产品云解决方案

2012-03-13 14:46:43

思科small cells

2011-09-27 09:42:01

Linux系统

2009-12-16 09:40:37

STBLinux软件系统解决方案

2018-12-03 12:13:21

Mellanox解决方案

2018-12-03 11:59:42

Inventec解决方案
点赞
收藏

51CTO技术栈公众号