动机

根据Flatpak和Snap的声明,背后的主要动机是使同一版本的应用程序能够运行在多个 Linux 发行版。

“从一开始它的主要目标是允许相同的应用程序运行在各种 Linux 发行版和操作系统上。”—— Flatpak
“通用 Linux 包格式,使简单的二进制包能够完美的、安全的运行在任何 Linux 桌面、服务器、云和设备上。”——Snap

说得更具体一点,站在 Snap 和 Flatpak (以下称之为 S&F)背后的人认为,Linux 平台存在碎片化的问题。这个问题导致了开发者们需要做许多不必要的工作来使他的软件能够运行在各种不同的发行版上,这影响了整个平台的前进。

所以,作为 Linux 发行版(Ubuntu 和 Red Hat)的领导者,他们希望消除这个障碍,推动平台发展。但是,是否是更多的个人收益刺激了 S&F 的开发?

个人收益?

虽然没有任何官方声明,但是试想一下,如果能够创造这种可能会被大多数发行版(即便不是全部)所采用的打包方式,那么这个项目的领导者将可能成为一个能够决定 Linux 大船航向的重要人物。

优势

这种独立包的好处多多,并且取决于不同的因素。这些因素基本上可以归为两类:

用户角度

+ 从 Liunx 用户的观点来看:Snap 和 Flatpak 带来了将任何软件包(软件或应用)安装在用户使用的任何发行版上的可能性。

例如你在使用一个不是很流行的发行版,由于开发工作的缺乏,它的软件仓库只有很稀少的包。现在,通过 S&F 你就可以显著的增加包的数量,这是一个多么美好的事情。

+ 同样,对于使用流行的发行版的用户,即使该发行版的软件仓库上有很多的包,他也可以在不改变它现有的功能库的同时安装一个新的包。

比方说, 一个 Debian 的用户想要安装一个 “测试分支” 的包,但是他又不想将他的整个系统变成测试版(来让该包运行在更新的功能库上)。现在,他就可以简单的想安装哪个版本就安装哪个版本,而不需要考虑库的问题对于持后者观点的人,可能基本上都是使用源文件编译他们的包的人,然而,除非你使用类似 Gentoo 这样基于源代码的发行版,否则大多数用户将从头编译视为是一个恶心到吐的事情。

+ 高级用户,或者称之为 “拥有安全意识的用户” 可能会觉得更容易接受这种类型的包,只要它们来自可靠来源,这种包倾向于提供另一层隔离,因为它们通常是与系统包想隔离的。

* 不论是 Snap 还是 Flatpak 都在不断努力增强它们的安全性,通常他们都使用 “沙盒化” 来隔离,以防止它们可能携带病毒感染整个系统,就像微软 Windows 系统中的 .exe 程序一样。(关于微软和 S&F 后面还会谈到)

开发者角度

与普通用户相比,对于开发者来说,开发 S&F 包的优点可能更加清楚。这一点已经在上一节有所提示。尽管如此,这些优点有:

+ S&F 通过统一开发的过程,将多发行版的开发变得简单了起来。对于需要将他的应用运行在多个发行版的开发者来说,这大大的减少了他们的工作量。

++ 因此,开发者能够更容易的使他的应用运行在更多的发行版上。

+ S&F 允许开发者私自发布他的包,不需要依靠发行版维护者在每一个/每一次发行版中发布他的包。

++ 通过上述方法,开发者可以不依赖发行版而直接获取到用户安装和卸载其软件的统计数据。

++ 同样是通过上述方法,开发者可以更好的直接与用户互动,而不需要通过中间媒介,比如发行版这种中间媒介。

缺点

 膨胀。就是这么简单。Flatpak 和 Snap 并不是凭空变出来它的依赖关系。相反,它是通过将依赖关系预构建在其中来代替使用系统中的依赖关系。

就像谚语说的:“山不来就我,我就去就山”。

 之前提到安全意识强的用户会喜欢 S&F 提供的额外的一层隔离,只要该应用来自一个受信任的来源。但是从另外一个角度看,对这方面了解较少的用户,可能会从一个不靠谱的地方弄来一个包含恶意软件的包从而导致危害。

上面提到的观点可以说是有很有意义的,虽说今天的流行方法,像 PPA、overlay 等也可能是来自不受信任的来源。但是,S&F 包更加增加这个风险,因为恶意软件开发者只需要开发一个版本就可以感染各种发行版。相反,如果没有 S&F,恶意软件的开发者就需要创建不同的版本以适应不同的发行版。

原来微软一直是正确的吗?

考虑到上面提到的,很显然,在大多数情况下,使用 S&F 包的优点超过缺点。至少对于二进制发行版的用户,或者重点不是轻量级的发行版的用户来说是这样的。

这促使我问出这个问题,可能微软一直是正确的吗?如果是的,那么当 S&F 变成 Linux 的标准后,你还会一如既往的使用 Linux 或者类 Unix 系统吗?很显然,时间会是这个问题的最好答案。

不过,我认为,即使不完全正确,但是微软有些地方也是值得赞扬的,并且以我的观点来看,所有这些方式在 Linux 上都立马能用也确实是一个亮点。

本文转自Linux就该这么学博客园博客,原文链接:http://www.cnblogs.com/linuxprobe/p/5933764.html,如需转载请自行联系原作者

Snap和Flatpak 通吃所有发行版的打包方式。相关推荐

  1. LWN:OpenSUSE MicroOS Desktop - 基于Flatpak 的不可更改发行版!

    关注了就能看到更多这么棒的文章哦- OpenSUSE MicroOS Desktop: a Flatpak-based immutable distribution March 29, 2023 Th ...

  2. Linux发行版上安装Netbeans IDE的各种方法

    在本文中,您将学习在Ubuntu和其他Linux发行版上安装Netbeans IDE的各种方法. NetBeans是一个开源的集成开发环境,具有良好的跨平台支持.该工具已被Java和C/C ++开发社 ...

  3. linux软件可以在所有发行版运行吗,Linux通用的跨发行版的3大软件包管理器

    前言 本文主要介绍Linux系统上通用的跨发行版的3大软件包管理器. Linux系统上的软件包管理可能非常令人困惑,尤其是对于新手,因为不同的Linux发行版使用不同的包管理系统.在大多数情况下,最令 ...

  4. 计算机基础及常见的Linux发行版介绍、Linux哲学思想

    计算机基础及常见的Liunx发行版介绍.Linux哲学思想 计算机的组成 CPU(控制器和运算器) 运算器 控制器 寄存器 存储器 简介 内存 外存 硬盘 机械硬盘 硬盘结构 基本参数 接口类型 固态 ...

  5. linux flatpak 简介 同一个应用在不同linux发行版运行

    以前,我们介绍 Ubuntu 推出的 Snaps.Snaps 是由 Canonical 公司为 Ubuntu 开发的,并随后移植到其他的 Linux 发行版,如 Arch.Gentoo.Fedora ...

  6. 软通动力子公司携“SwanLinkOS商业PC发行版”亮相OpenHarmony开发者大会

    4月19日,开放原子开源基金会OpenHarmony开发者大会于北京召开.本次大会以"开源正当时,共赢新未来"为主题,共设5大分论坛,超50个重磅议题,围绕OpenHarmony ...

  7. 2016 linux发行版排行_灵越7590 安装 linux (manjaro-gnome)

    RT 之前做了一次灵越7590 黑苹果炒作业的文章,希望能够分享给更多不想折腾的人. kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.zhihu.com 然而实际上还是有各种坑, ...

  8. appimage文件怎么安装_bauh:在一个界面中管理 Snap、Flatpak 和 AppImage | Linux 中国...

    幸运的是,我偶然发现了一个支持这几种通用包格式的应用程序.-- John Paul Snap.Flatpak 和 AppImage 等通用软件包的最大问题之一就是管理它们.大多数内置的软件包管理器都不 ...

  9. 如何在 Debian、Ubuntu 以及其它 Linux 发行版上安装 ONLYOFFICE 桌面编辑器 v7.2 版本

    如何在 Debian.Ubuntu 以及其它 Linux 发行版上安装 ONLYOFFICE 桌面编辑器 v7.2 版本 ONLYOFFICE Docs 在线编辑器[1]的本地桌面电脑客户端软件版本不 ...

最新文章

  1. 马斯克来了!瞄准1万亿美元电信市场,星链「村村通」在美获突破
  2. WebService简单开发 apache-cxf-3.1.6环境配置
  3. python 解压zip文件_Python 解压缩文件详解
  4. mysql 数据库还原 不齐_请教mysql数据库还原问题。
  5. 软件公司管理基本原则
  6. ACE总监侯圣文全面解析特训方法
  7. python nums函数获取结果记录集有多少行记录_Python数据分析——Pandas数据结构和操作...
  8. 为什么 PUSH 推送要经常背锅?
  9. 华为交换机关闭接口命令_华为路由交换机基础命令,看看你会哪些?
  10. 逆向分析CrackMe系列——CrackMe001
  11. 数据结构韩顺平版(2)
  12. 利用计算机金融诈骗,金融诈骗能追回钱款吗
  13. 大四学年软件公司实习感悟
  14. 强化学习王者荣耀Ai的搭建
  15. 电脑版Android版Mac版iPad版,从苹果iPad上运行Android版QQ谈移动应用跨平台
  16. 计算机中SRAM的作用,SRAM特点及工作原理
  17. java pinyin4j_java实现中文汉字转拼音 Pinyin4j的基本用法
  18. Bootstrap3博客网站模板
  19. Linux下的磁盘克隆,10 个免费的磁盘克隆软件
  20. github电脑壁纸_自动换壁纸程序分享

热门文章

  1. AI时代竟有智能化鸿沟,具备哪些条件才能跨过?
  2. 25万亿规模!中国智慧城市建设刚需在哪?
  3. Facebook最新研究:配合AR眼镜使用的腕带,可将神经信号转化为动作
  4. 全世界最前沿的125个科学问题
  5. 一文剖析2020年最火十大物联网应用|IoT Analytics 年度重磅报告出炉!
  6. “算法战:DARPA下一代人工智能计划初见成效” 背景分析与初步研判
  7. 边缘计算将吞掉云计算!
  8. 2018全球最佳品牌Top25:时代巨变的一个缩影
  9. 普华永道:人工智能将重塑职位格局并与物联网合并
  10. 新技术:如何用VR训练机器人?