为什么Ubuntu要转向使用Snaps?

为什么Ubuntu如此坚决地转向Snaps呢?在我看来,它们比Apt软件包更不成熟。
  • 它们占用硬盘空间更多。在我的情况下,是200GB的SSD。
  • 它们对计量数据连接非常消耗(这在硅谷以外的大部分文明世界仍然是现实)。
这里有一个例子。如果我下载6个Snaps,可能会消耗高达6GB的数据下载量,并且存储空间也差不多。我使用的是50GB的互联网套餐。并不是因为我太吝啬不愿意选择无限流量的套餐,而是因为那是唯一可用的选择。
如果我用Apt做同样的事情,可能只需下载高达500MB的数据,并最终存储大约1GB的数据。
所以可以说,如果我升级到Ubuntu20.04并将所有应用程序安装为Snaps,我将使用完整个数据配额。
这是为了开发者方便而付出的巨大代价吗?

你可能会发现这篇帖子有用:https://askubuntu.com/questions/1035915/how-to-remove-snap-store-from-ubuntu - Takkat
你正在征求意见。无论如何:1:使用4TB硬盘不是问题 2:拥有无限访问权限也不是问题。 - Rinzwind
1这个回答解决了你的问题吗?为什么我要安装一个snap而不是通过apt来安装呢? - karel
2“Ubuntu决定转向snaps”是一个经典的谬误(意思是根本不是真的)。确实有一些开源开发者决定从deb转向snap。然而,像您这样的志愿者可以介入并继续进行deb打包。您不是Ubuntu的“客户”,而是Ubuntu项目的“参与者”,简单的答案就是“更多的参与”。 - user535733
1我觉得这是一个相对公平的问题。在20.04版本中,默认安装了Snap。除此之外,至少有一个程序(Chromium)会安装Snap版本,即使用户使用apt进行安装。它会在安装完成后通知用户,但这只是事后才告知。尽管用户通过apt安装,但它实际上安装的是Snap,并且只在安装时才通知用户,因为它是一个空包,用于安装Snap版本。可能还有其他我不知道的软件包也是如此。我认为这个问题是合理的,虽然可以用不同的措辞来表达。(对于我不知道的其他软件包可能也是如此。) - KGIII
1@KGIII 所有基于React Native和Chromium的软件包,例如Whatsdesk和其他一些使用相同方式打包的应用程序。现在每个应用都运行自己的Chromium安装。其他一些应用则没有为apt打包。LXD现在也以Snap的形式打包。这是推荐的安装方式。我所说的替代是指Ubuntu实际上也用Snap商店取代了Apt商店。这意味着普通用户将默认加载Snaps。 - Codes216
1拍照和拍摄速度慢。 - Ejaz
1个回答

2020回答:

在您的计量数据情况下,使用Snaps似乎是不明智的。

使用Snaps是您的选择。没有人强迫您安装Snaps。在您的情况下,禁用Snaps非常容易(sudo apt remove snapd)。

"Ubuntu正在转向使用Snaps"是一个经典的谬误。(这意味着它根本不是真的)。

  • Deb软件包已经由Debian志愿者打包了20多年。在Debian世界中没有任何变化:像您这样的志愿者可以继续将任何许可兼容的开源软件打包成deb。
  • 一些开源开发者确实决定将他们的努力从deb转移到snaps。这代表了那些上游项目缺乏志愿者兴趣,而不是一项邪恶的计划或议程。像您这样的志愿者可以继续将软件打包成deb。

2022编辑:

虽然从技术上讲仍然正确,但两年后的2020回答已经变得误导性。

现在已经安装了几个桌面组件作为snaps(更多正在进行中),而那些deb包不再在Ubuntu软件源中提供。今天用deb包替换snaps需要用户离开Ubuntu去PPAs或上游,进行一些搜索,并承担一些风险。
这仍然不是恶意行为,仍然代表着一个健康的deb打包社区所需的志愿者不足。

谢谢,这一下回答了我的问题。我并不想引发争论。对于我的使用情况来说,Snaps并不是很实用。而且我很高兴听到apt不会消失。@karel https://askubuntu.com/questions/948861/why-would-i-want-to-install-a-snap-if-i-can-install-via-apt-instead确实反映了我所问的同类问题。从最终用户的角度来看,Snaps似乎只对开发人员在依赖管理方面更加方便,但代价是更多的磁盘、CPU和内存使用。对于某些使用情况,它们可能是有意义的。感谢所有参与回答这个问题的人。 - Codes216