Snap and modern software (was: Remove /snap directory)

Liam Proven lproven at gmail.com
Thu Dec 15 21:52:16 UTC 2022


On Tue, 13 Dec 2022 at 21:32, Jeffrey Walton <noloader at gmail.com> wrote:
>
> I've never been able to figure out what Snap is supposed to do that
> Apt does not do.

Easy.

[1] A single package works on multiple distros  No native package can do that.

[2] 1 package also works across multiple versions of a distro. The
same single Firefox snap works on everything from 22.10 back to 16.04
or something.

[3] No need to add and maintain (and trust!) multiple external repos
of unknown provenance.

[4] No need to maintain and keep fresh repo-signing keys.

[5] Snaps are versioned. If something doesn't work, you can roll back
to an older version. Native packages replace one another; there is
nothing left to roll back to, and all the supporting libraries may
have been updated to, and they all have to be rolled back as well,
which might break other things.

[6] Snaps are atomic. It's 1 file. If it installs, it's in; if it
doesn't, it's not and you can just go back to the old one. Natively
packaged apps can and do scatter-shoot hundreds or even thousands of
files into dozens of folders across your filesystem, and all of those
locations have to be appropriately noted in certain config files.

It is trying to bring the database properties of ACID to package management:
https://www.databricks.com/glossary/acid-transactions

A.C.I.D. properties: Atomicity, Consistency, Isolation, and Durability

If a DEB craps out half way, you have a broken system, and you need to
mess with `apt install -f` and maybe `dpkg-reconfigure` and hope you
can fix it.

Your grandma probably can't and won't try.

For easy end-user desktops you want apps that install like on a phone:
one file, it goes in, it works, and it can be removed again leaving no
trace.

Which means you need the ACID properties.

DEB can't do that, RPM can't, Arch or Alpine or Slackware or Void or
any of 'em just can't do that.

Flatpak does some of it but it's GUI desktop apps only. You can't
package your kernel or Samba or CUPS as a Flatpak... but you can make
them into Snaps.

There's nothing else quite like it.

What makes me sad is that Ubuntu seems to be backing away from ZFS
now, which would have enabled COW snapshots and other cool stuff SUSE
has.

RH has no such tech, so it needs the massive tech bodge of OStree to
do image-based OS deployments on non-snapshot-capable FSs.

Sure, Fedora has Btrfs but no snapshot mechanism or support at all, so
it's hardly worth it.


-- 
Liam Proven ~ Profile: https://about.me/liamproven
Email: lproven at cix.co.uk ~ gMail/gTalk/FB: lproven at gmail.com
Twitter/LinkedIn: lproven ~ Skype: liamproven
UK: (+44) 7939-087884 ~ Czech [+ WhatsApp/Telegram/Signal]: (+420) 702-829-053



More information about the ubuntu-users mailing list