如果同时提供了deb和snap两种软件包,则首选哪种方法?


38

当然,对于大多数软件包而言,答案是微不足道的:如果是某些工具或库,则deb是唯一的选择,而对于某些专有软件,snap是唯一的选择。

似乎Ubuntu出于包装,隔离,安全性,更新等方面的优势而大力推动和推广Snap软件包。然而,Ubuntu 18.04附带的所有应用程序都以deb软件包的形式安装。

一个示例是Firefox,出于安全方面的考虑,该软件包应保持最新,并且过去与发行软件包的维护者在安全性和品牌方面存在冲突(Iceweasel)。但Canonical选择将Firefox作为Deb软件包提供。

对于同时具有快照和deb的软件包,这引发了一个问题:您应该安装哪一个?如果答案很简单,我应该积极迁移已安装的deb吗?

Answers:


34

一般来说,对于大多数依赖系统库的应用程序,我应该保留使用DEB。这样做的好处是,如果出于安全原因而更新了这个库,即使原始应用程序的维护者没有意识到该漏洞,使用该库的所有应用程序也会受益。

如果您有兴趣更新特定的应用程序而不更新整个系统,则SNAPS很有用。例如,您正在使用LTS发行版,但希望拥有特定应用程序的最新版本。与必须在“旧”系统范围的库中编译应用程序的PPA相比,应用程序只需拥有自己的库即可。这对于维护人员来说比较容易,并且如果您碰巧使用了很多PPA,可能会使您无法进入依赖地狱。


“有兴趣在不更新整个系统的情况下更新特定的应用程序。 ”但是,这不是PPA的目的(尤其是在launchpad.net上的PPA)吗?
罗恩·约翰(RonJohn)

4
@RonJohn是的,但是如果使用ppa,则必须针对“旧”系统范围的库编译应用程序。这些应用程序很快就会拥有自己的库。这对于维护人员来说比较容易,并且如果您碰巧使用了很多ppa,可能会使您无法进入依赖地狱。
布鲁尼

如果将您对PPA的解释编辑为答案,那将很酷。
dcorking '18

1
@dcorking我编辑了答案
Bruni

17

快照的主要缺点之一是所需空间更大,因为每个软件都具有自己的依赖性,而deb程序包在整个系统中使用共享的依赖性,其影响要小得多。

当您想保持系统隔离(例如,与专有二进制文件隔离)或软件包本身依赖于与已安装软件包(例如,较新版本)的依赖关系时,会使用snaps实用程序。


真正需要额外的空间,但在当今世界上,现代计算机拥有的空间足以用于其操作系统,库和应用程序。仅当您使用旧计算机或“小型”计算机(例如Raspberry Pi和IOT设备)时,空间才是限制因素。
帕迪·兰道

4
@PaddyLandau我不能不同意。我认为这是一个可怕的意见有,只是促进浪费
史蒂夫·洛里默

@SteveLorimer对我来说,利用几乎是空的硬盘驱动器上的大量未使用空间几乎不是“浪费”。对你来说是。我们不得不乞求不同。读者可以自己决定采用哪种方法。
帕迪·兰道

5
@PaddyLandau我不能再不同意。我经常使用小的ssd来存储系统数据,使用大的hdd来存储数据。我看不到在重复文件上浪费金钱的意义
Daniele Gamba,

7
@PaddyLandau在当今世界中,我们的移动设备存储空间较小,物联网设备的存储空间较小,我们的SSD装有操作系统以加快启动时间,等等。将所有内容归为一类并表示可以在我看来,浪费是一种糟糕的看法。无论如何,正如您所说,我们必须乞求
与众不同

4

这是一个很自以为是的答案。

我个人总是使用deb或任何其他包含包装的包装。我不使用快照,因为我感觉它们就像是围墙花园,与Linux所代表的开放生态系统不同。

由于软件中心中的描述/元数据不清楚/模棱两可,我误将快照安装了几次。我发现它们降低了我的笔记本电脑体验。这些被迅速删除。

如果一个应用程序只有一个快照包,我宁愿不使用该应用程序本身。

我担心有一天快照可能会说您甚至不需要该操作系统。


是的 想一想,就像在推动越野车比赛(双关语)。一切似乎都源于加速部署的愿望。亲爱的开发人员,有什么急事?宇宙不会崩溃!
斯里

我的上述评论是对某人的评论的回应,该评论似乎已被删除。我什至对它进行了+1!
斯里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.