41

Of course for most packages the answer is trivial: if it's some tool or library, deb is the only option, while for some proprietary software snap is the only option.

It seems Ubuntu is heavily pushing and promoting Snap packages, citing advantages in packaging, isolation, security, updates, etc. yet all applications that ship with Ubuntu 18.04 are installed as deb packages.

One example is Firefox, which is a package that should be kept up-to-date for security reasons, and that in the past had conflicts with distribution package maintainers about security and branding (Iceweasel). Yet Canonical chose to ship Firefox as a deb package.

For packages that have both a snap and a deb, this raises the question: Which one should you install? And if the answer is snap, should I actively migrate installed deb's?

37

Generally speaking, I would say you should stay with DEB for most applications that rely on system libraries. This has the advantage that if you update this one library e.g. for security reasons, all applications using this library will benefit, even if the maintainer of the original application is unaware of the vulnerability.

SNAPS are good in cases where you are interested in updating particular applications without updating your entire system. E.g. you are on an LTS release, but want to have the newest version of a particular application. Compared to PPAs where the applications have to be compiled against the "old" system wide libraries, in a snap the applications bring their own libraries. This is easier for maintainers and may keep you from landing in dependency hell if you happen to otherwise use a lot of PPAs.

  • "interested in updating particular applications without updating your entire system." But isn't that what PPAs are for (especially those at launchpad.net)? – RonJohn Apr 29 '18 at 17:04
  • 4
    @RonJohn yes, but if you use ppa's the applications have to be compiled against the "old" system wide libraries. In a snap the applications bring their own libraries. This is easier for maintainers and may keep you from landing in dependency hell if you happen to otherwise use a lot of ppa's. – Bruni Apr 29 '18 at 17:08
  • It would be cool if you edit your explanation of PPAs into your answer. – dcorking Apr 30 '18 at 10:54
  • 1
    @dcorking I edited the answer – Bruni Apr 30 '18 at 11:01
17

One of the main disadvantages of snaps is the much more space needed since every software has its own dependencies in it while deb packages use shared dependencies across the system, with a much smaller impact.

The utility of snaps comes in when you want to keep your system isolated (e.g. from proprietary binaries) or the package itself relies on different dependencies from the one you have installed (more recent ones for example).

  • True about the extra space, but in today's world, a modern computer has more than enough space to dedicate to its operating system, libraries and apps. Only if you're dealing with old computers or with "small" ones (think Raspberry Pi and IOT devices) will space be a limiting factor. – Paddy Landau May 1 '18 at 12:01
  • 4
    @PaddyLandau I cannot disagree more. I think that's an awful opinion to have, and just promotes wastefulness – Steve Lorimer May 3 '18 at 20:14
  • @SteveLorimer To me, it is hardly "wastefulness" to make use of massively unused space on a mostly-empty hard drive. To you, it is. We'll have to beg to differ. The readers can decide for themselves which approach to take. – Paddy Landau May 8 '18 at 13:11
  • 5
    @PaddyLandau i can't be more in disagree. I regularly use a small ssd for the system storage and a large hdd for datas. I can't see the point of wasting money on duplicated files – Daniele Gamba May 8 '18 at 15:41
  • 7
    @PaddyLandau in today's world we have mobile devices with small storage, we have internet-of-things devices with even smaller storage, we have SSDs with the OS on them for fast boot times, etc. Lumping everything into a category and saying it's ok to be wasteful is a poor opinion in my mind. Anyway, as you say, we'll have to beg to differ – Steve Lorimer May 8 '18 at 16:37
5

This is a highly opinionated answer.

I personally always use the deb or any other inclusive packaging. I do not use snaps because I feel they are like walled gardens, unlike the open ecosystem that Linux stands for.

I have mistakenly installed snaps a few times due to unclear/ambiguous description/metadata in the software center. I found they degraded my laptop experience. Those were removed promptly.

If an app has only a snap package I would rather not use the app itself.

I am apprehensive that one day snappers might say you don't even need the OS.

  • Yeah! Come to think of it, it's like promoting a buggy race (pun intended). It all seems to stem from the desire to speed up deployment. What's the hurry, dear devs? The universe ain't about to collapse! – Sri May 5 '18 at 11:27
  • My above comment was in response to someone's comment, which seems to have been deleted. I even did a +1 on it! – Sri May 5 '18 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.