Snap 真的有专有服务器吗?

red*_*ity 12 proprietary snap

Snap 服务器是否有专有元素?是否可以独立于 Canonical 运行基于 Snap 的分发?

由于多种原因,我非常不喜欢 Snap(我在 Linux 上最喜欢的一件事是我可以使用 来安装/卸载东西apt-getsnap甚至没有礼貌地提供直接帮助snap upgrade)。

但我听到的最令人担忧的是 Snap 拥有专有元素,使其完全受 Canonical 控制。

例如,请参阅https://www.techrepublic.com/article/why-canonical-views-the-snap-ecosystem-as-a-compelling-distribution-agnostic-solution/

Martin Wimpress,当时 Canonical 的 Snapcraft 工程经理:

Snap 商店是专有的

https://www.happyassassin.net/posts/2016/06/16/on-snappy-and-flatpak-business-as-usual-in-the-canonical-propaganda-department/

服务器端(等式中的“应用程序商店”部分)是闭源的,并且 Canonical 一直拒绝告诉任何人如何运行自己的“应用程序商店”(...)它完全由 Canonical 控制

(还描述了 Canonical 如何在 Snap 问题上撒谎)

https://en.wikipedia.org/wiki/Snap_(package_manager)中的信息框列出了开源许可证。

到底是怎么回事?他们是否将 Snap 商店开源?或者维基百科文章是否不完整/被 Canonical 员工损坏?

我很担心,特别是考虑到 Ubuntu 开始使得 Ubuntu 上的 Snap 基本上无法避免。另一方面,我更愿意有充分的理由来切换 Linux 发行版,而不仅仅是基于过时的博客文章。

mur*_*uru 12

Snap 的实际包管理工具 - snapdfamily - 是开源的。这就是 Snap 包管理系统开源的原因,Canonical 并没有在这一点上撒谎。

确实,snapd 被硬编码为使用 Canonical 的服务器来获取快照以及与其关联的元数据。据我所知,后端服务器的来源不可用。其他各个部分(例如,snapcraft.io 网站、Snap 商店应用程序本身等)都是开源的。我的意思是,您可以从 IIS 服务器提供 deb 文件,但这不会使 apt 包管理系统闭源,不是吗?

你能让 snapd 与另一个后端一起工作吗?从技术上讲,您可以阅读 snapd 源代码,找出协议(这应该不难 - 我认为代码相当可读),实现您自己的后端,并使用补丁构建一个 snapd 来交换后端 URL。然而,到目前为止似乎还没有人这样做,而且 Canonical 也没有发布参考实现。

  • “我的意思是,您可以从 IIS 服务器提供 deb 文件,但这不会使 apt 包管理系统闭源,不是吗?” 如果它是提供 deb 文件的唯一现有方式 - 那么是的,它会的。 (8认同)
  • 因此,“如果您想分发快照,您的选择是 1) 通过 Canonical 商店发布它,完全在 Canonical 的控制之下,2) 将其作为文件上传并告诉人们使用 CLI 来安装它,或者 3) 尝试通过阅读源代码找出如何重新配置​​ snap 客户端以使用不同的服务器,然后从头开始编写自己的服务器端。” 来自 https://www.happyassassin.net/posts/2016/06/16/on-snappy-and-flatpak-business-as-usual-in-the-canonical-propaganda-department/ 仍然是最新的摘要吗? (8认同)
  • 另外,除了“snapd 是硬编码的”之外 - 使其可配置的建议是 WONTFIXed https://bugs.launchpad.net/snappy/+bug/1593151 (8认同)
  • 好吧,我对 apt 非常满意,我对 Flatpack 也可能非常满意。我认为没有充分的理由花几个月(或几年)的时间来修复我不想要、不需要并且我也没有被迫使用的系统。我最多会更改操作系统,而不是强迫我执行此操作。尽管专有的 Snap Store 可能足以让我避免使用它。 (3认同)

小智 7

Snap Store 由 Canonical 运行和控制,不是开源的。Snap 的其余部分是开源的,即守护程序和核心软件。这有多大威胁取决于你的视角,并且一直是很多讨论的主题。例如

作为一名 Linux 新手,我刚刚完成了对 snap 问题的研究,发现 (LM) 程序管理器没有列出任何 snap 包。我发现,采用严格的路线方法可能会切断对 Snap Store 的依赖,但会带来另一个问题 - 在我的情况下,丢失或收到使用 Linux Mint 包管理器安装的过时包:

  • (LM) PM 安装了 10.x 版本的节点,而不是当前的16.3.1 LTS 版本
  • Notepad++ 的工作快照包nodepad-plus-plus(Windows 下本地可用)根本没有列出。可以安装 Linux 版本 (notepadqq) - 我也安装了 - 但不能替代使用原始版本。

这就是实用主义和预期寿命发挥作用的地方:我个人启用了 snap 来安装notepad-plus-plus,我拥有数十年的经验并认为这是“必备”,但在安装 snap 之前会进行广泛的搜索,因为我可以。FWIW 我不确定通过以 root 身份运行存档管理器 GUI从二进制文件安装节点是否是一个好主意,但它完成了工作。

长话短说

是的,Snap 商店由 Canonical 控制。这是否是迫使用户放弃 Ubuntu 的充分理由取决于个人观点和信念,并且在很大程度上取决于您选择和使用 snap 包的方式和原因。