如果我可以通过 apt 安装,为什么要安装 snap?

LSh*_*key 50 snap

这不是以下问题的重复

因为:

  • 我的问题特别指出,我对最终用户体验感兴趣,而不是开发的易用性或效率,而这正是另一个问题所指的主要内容。如前所述,开发/部署会影响最终用户体验,但这并不是它的全部,并且所引用的问题都没有解决直接影响最终用户使用应用程序能力的问题(例如访问数据的问题)其他分区,呆滞等)
  • 也许“引人注目”这个词用起来不合适;我的目的是询问现实世界的经验后果,即发生或不发生的事情,而不是理论/架构陈述,虽然可能是准确的,但似乎没有任何现实世界的支持支持该说法的例子。我应该更直接地说,我的目的是获得考虑“优势”与最终用户所经历的现实世界不利因素之间的平衡的答案。“重复”问题主要是理论性的,根本不讨论最终用户体验。
  • “重复”问题没有提到与我在此处使用的示例有任何相似之处的任何内容,即,Snaps 对最终用户有不利影响(在这种情况下,无法访问其他分区上的数据和 snap 应用程序性能),在我能找到的任何可用文档中都没有讨论。

虽然我知道 snap 在使应用程序更广泛地可用方面具有很大的优势,但是否有任何令人信服的理由选择 snap 而不是 apt,如果该应用程序可通过 apt 包用于我的发行版/版本?

我很好奇,因为我一直在阅读有关 snap 的一些文章,并且对该方法的所有兴奋似乎都与对应用程序开发人员有利的事情有关,但我几乎没有看到这如何使最终用户的生活更轻松(除了显而易见的;他们可能能够安装在他们的发行版/版本上不可用的应用程序)。

我安装了 snapd 并安装了几个 snap,真的很沮丧和失望。snap 应用程序速度很慢,而且即使不是不可能,也很难从 snap 内访问其他分区上的文件。

虽然我已经看到很多信息说快照“更快”、“更容易”、“更安全”等,但我无法找到任何解释为什么或如何实际发生这种情况的信息。

作为 Linux 的新手,我想知道我是否只是遗漏了一些明显的东西?需要明确的是,我理解为什么该技术总体上可能有用,但我找不到任何可以解释它是否/为什么是更好的选择的任何内容,即使有问题的应用程序可以通过更传统的方法安装,以及所有依赖项会面。

小智 37

我可以分享两个版本的 LibreOffice 6.1.3.2 的一些实验结果:一个是 ubuntu 18.04 提供的快照,另一个是从官方 ppa 安装的。请记住,我在下面给出的值是近似值。

空 Calc 电子表格的启动时间

  • ppa:1.5 秒

  • 快照:13 秒

13张幻灯片(主要是png图片)到pdf的转换时间

  • ppa:9 秒

  • 快照 ~70 秒

磁盘使用量 [MB](预期/实际)

  • ppa:369 / 483

  • 快照:507 / 1269

我意识到这些值取决于我使用的系统的硬件和特定配置。但是,考虑到我使用的是相同的笔记本电脑、操作系统和 LibreOffice 版本,我相信相对比较仍然可以提供信息。

总而言之,在我的笔记本电脑上,快照图像占用的磁盘空间是磁盘空间的 2 倍以上,并且比相应的 ppa 慢了近 10 倍。与普遍观点相反,snap 应用程序的后续启动在我的系统上并不快。

我对最终用户使用 snap 的好处的个人看法仅与系统安全有关(无需安装 sudo,运行时权限有限)。因此,如果您以低风险运行个人系统,我会坚持使用 ppa。在这种情况下,增强的安全性不值得以当今快照中更糟糕的性能为代价。


kon*_*l88 13

规范说...

Snaps 适用于任何发行版或设备。Snaps 安装速度更快、创建更容易、运行更安全,并且它们会自动和事务性地更新,因此您的应用程序始终保持新鲜且永不损坏。

我也更喜欢在 ubuntu 上管理我的包,但如果你在另一个发行版中,你可能想要安装一些在发行版的包管理器中不可用但可能在 snap 中可用的东西。Canonical 想用 snap 来“替换”apt,因为他们认为 snap 更稳定,开发人员更容易创建包。

快照更安全!您安装的快照安装在硬盘驱动器的不同卷中。您可以像在 Android 6.0 及更高版本上一样管理应用程序的权限。您可以阻止使用相机或麦克风的应用程序并访问主目录中的文件。

实际上,主题兼容性存在一些问题,但 snap 更安全,并且可以让您访问大多数发行版中的软件包。

  • 谢谢,但你的回答没有解决我的问题。我非常了解 Canonical 的“官方”解释。我在问题中特别询问的内容与管理未公开的缺点(与使用快照的最终用户体验相关)有关。 (2认同)

qwr*_*qwr 9

我使用 snap 是因为它们经常比 apt 等价物更新,后者可能已经过时一年或更长时间。对于一些不经常更改功能的程序来说,这不是问题,但其他程序有快速发布计划,可以添加/删除许多功能。

以下是我个人遇到的示例案例。

  • 几年前,我想用arduino和命令行做点什么。apt 中 arduino 的当前版本是 2013 年的 1.0.5,非常过时并且缺少我需要的功能。snap 上的当前版本是 1.8.12,这是最近的版本。

  • Blender的当前版本在 apt 中是 2.79,而在 snap 中是 2.82。Blender 用户会知道2.80 版本中发生了很多变化。

  • pypy的当前版本是 2018 年左右的 5.10.0,而 snap 版本是 7.3.0。特别是 pypy3 已经进行了大量开发,pypy 团队在每个版本中都进行了许多改进。

  • gimp的当前版本在 apt 中是 2.8.22,在 snap 中是 2.10.18。用户界面改变了很多,启动时间也快了很多。

如您所见,对于像我这样的最终用户来说,在很多情况下保持最新非常重要。

  • 如果更新很重要,为什么不从源代码安装到 /usr/local 中? (2认同)
  • @kjetilbhalvorsen snap 有一个包更新机制来保持最新。有时我只是不想搞乱编译。 (2认同)
  • 这个论点并不必然成立。例如,看看 pdftk。迄今为止,终端将提出 2 个选项:snap(版本 2.02)和 apt(3.0.9)。 (2认同)