Snap,Flatpak和Appimage。 Linux通用软件包格式

程式格式

在技​​术界,有一个古老的笑话,每当有人尝试创建一种将所有其他优点中最好的一种来避免分散的格式时,他们只会在列表中添加一个新的格式。 其中一些工作是努力创建一种可以在所有Linux发行版上运行而无需修改的程序包格式。 到本世纪为止,我们已经三岁了。

Snap,Flatpak和Appimage。 与传统格式的差异

本机软件包格式和独立软件包格式之间的主要区别在于,前者与操作系统上安装的其他程序共享依赖项。 换句话说,如果程序Y需要依赖项1,并且该依赖项也由需要它的程序X安装,则该依赖项将不会再次安装。

以不同格式打包的程序包括它们运行所需的所有依赖项。 换句话说,依赖项1会在每次需要它的程序安装时安装。

第二个区别是传统的软件包格式必须根据每个发行版本的规范来构建。。 这就是为什么尽管Ubuntu是从Debian派生的发行版,但差异非常重要,以至于第一个存储库无法在第二个存储库中使用。

第三个区别是 对传统程序包的依赖项的任何修改都可能影响需要它的所有其他程序的运行。 另一方面,以独立格式修改程序不会影响系统的其余部分。

根据每个发行版的特殊性,可以从软件包管理器以独立格式安装应用程序,并由负责它们的管理器自动进行更新。

在Ubuntu中,软件中心允许您以传统格式(例如Snap)安装这两个程序,从而优先选择后者。 尽管有一个允许GNOME软件中心(从中派生Ubuntu)的插件,但是它不适用于此发行版。

对于Ubuntu Studio,可以启用使用Snap软件包的选项,而KDE Neon和Manjaro可以同时使用这两种格式。

捕捉

自2014年开发以来,它是最新的独立格式。  它不仅打算用于台式机Linux发行版,而且还用于物联网,移动设备和服务器。 至尽管可以创建单独的应用商店,但Canonical目前仅运营一家商店, Snapcraft。

尽管Snapcraft拥有各种最受欢迎​​的开源应用程序, 它的优势是由私有软件开发人员和云服务提供商开发的程序。

Flatpak

尽管Flatpak于2015年正式启动,但这是另一个通用格式项目xdg-app的延续。 这个项目的诞生是为了 能够在不需要root特权或对系统构成安全威胁的安全虚拟沙箱中运行应用程序。

Flatpak专注于桌面发行版,也使用了应用程序商店的概念 Flathub 最著名的。

Flathub的强项是 它通常具有主要开源应用程序的最新版本。

AppImage

AppImage是2004年首次发布的最古老的独立软件包格式。

这是遵循“一个应用程序一个文件”范式的第一种格式。 这意味着每次我们下载Appimage文件时,我们都在下载该应用程序及其所有功能。 如果要使用该应用程序,只需授予其执行权限,然后双击标识该应用程序的图标即可。

Appimage不使用App Store系统,但是, 那里 网页 我们可以在其中找到所有可用标题的列表。 

要更新Appimage,我们可以使用 这个工具。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.  

    我想念没有提到安装应用程序时快照的极慢增长,因为每个应用程序都需要一个虚拟单元。

  2.   缎子

    我想念没有提到安装应用程序时快照的极慢增长,因为每个应用程序都需要一个虚拟单元。

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      谢谢你的评论。 我会记住这一点。

  3.   克劳迪奥·乔佛尔(Claudio Jofre)

    我个人认为独立软件包的问题无非是对更深层次冲突的反映,这与不同发行版对LSB和FSH标准的遵守程度有关。
    打包背后的基础之一是实现标准库,同时保留软件和配置文件的位置和位置。 从而避免了库冲突。 在其他操作系统中常见的问题是,不幸的是,由于不符合标准,最终导致难以维护和更新软件,更不用说将软件从一个发行版迁移到另一个发行版了。 手工编译的错误做法是从howto上执行了很多次,却没有分析其实现中是否符合标准,最终使系统管理员感到头疼。 特别是当某人必须接管另一位以前的管理员安装的生产服务器时。
    独立包装以一种或另一种方式最终贡献了这一理念,不仅促进了独立性,还促进了对特定格式或公司的依赖。 很多时候,使平台迁移成为几乎不可能完成的任务。 在短期而不是长期思考。 具有15年以上经验的任何严肃的管理员都可以看到这种情况。 我说这个数字是有目的的,因为在那个时期它将发生足够的分发,以意识到早晚要出于某种原因迫使项目或服务从平台迁移。 在项目实施期间很少进入评估过程的情况。 最容易迁移的地方就是最符合上述标准的平台。 作为这些独立的程序包,是离这些标准最远的程序包。

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      有趣的贡献,我从未想过

  4.   拉斐尔Linux用户

    AppImage文件更新工具实际上是无用的。 在我尝试过的7个AppImage文件(Inkscape,Olive,KSnip,MuseScore,OpenShot等)中,它仅尝试使用一个,以“不存在验证签名”结尾,因此也不更新。 换句话说,它没有任何用处,您可以删除引用。 另外,它已经几个月没有更新了。

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      感谢您的评论