I see people hate snap packaging and removing it if their OS support it. Is it because it’s NOT fully open-source or just due to how the technology works?
Update: fixed typos
This threads got lots of good answers, but I haven’t seen it mentioned that snaps sometimes mean reduced functionality.
Use the docker snap? Sorry, it can only access your home directory so no -v /some/path:/somewhere for you
Use firefox or chromium and keepassxc? Sorry, your browser plugin won’t be able to talk to your password manager
And the updates… dear god. In whose mind was it a good idea to show a “firefox is updating, exit now to avoid issues” TWO WEEKS im advance. Closing the app does precisely fuck all unless you manually snap refresh it
Containerised applications are a fine idea, but snap is a horrible implementation of it
I tried to get microk8s up and running by installing it from a snap since I figured it would be a nice and easy way to get up and running quickly.
I’ve spent so much time trying to get it working that I haven’t even started to learn k8s yet since I can’t get the damn thing to run.
I think I’m switching to Debian for my servers.
Wtf I’ve installed microk8s dozens of times it just works ?!
Didn’t know that about the docker snap but that is insane. It would be straight up unusable at work for me.
Install Node with snap? Cypress silently closes. (This took some time to get to the bottom of)
To be fair, those are both issues with flatpak too. You can change the file system permissions with a command or flatseal, but I don’t know of a fix for the password extension issue.
In general the integration of flatpak is quite good (even more if we compare it with snap), but there are still some gaps. In this case there are some solutions like this one.
Snaps have centralized control. Canonical has to approve a snap package. Flatpak is like most of Linux. Anyone can make a Flatpak. Also, in my experience, Snaps had a lot of issues early on that were not present in Flatpaks. Now, Flatpak dominates and Snaps kinda feel like a irrelevant runner in a race long after the officials closed competition packed it up and went home.
Linux Mint’s criticism of snap. Mint is based on Ubuntu.
At best it works more or less the same as an ordinary package. It only gets worse from there.
Several times I’ve been stuck on a broken version of Discord because on the server side they force an update to the new client, and the new client has not been packaged as a Snap yet.
Getting native hosts to work in Firefox is possible, but a giant pain in the butt.
Basically anything that needs filesystem access is unreasonably troublesome. I gave up on getting Snaps to work with my external drives.
There is simply no scenario where I think “wow, I sure am glad this was packaged as a Snap!” There have been many scenarios where I thought “god dammit why is this a Snap?!”
Several times I’ve been stuck on a broken version of Discord because on the server side they force an update to the new client, and the new client has not been packaged as a Snap yet.
To be fair this is more of an issue with Discord than snap… Would be understandable if it was an urgent security fix but they do it every time, and then it breaks for everybody who is using anything else than the deb or tar.gz they provide.
Workaround for Fedora: Edit
/usr/lib64/discord/resources/build_info.json
and increase the version number to whatever Discord tells you is the new version. And hope that the update wasn’t a fix for some remote code execution vulnerability :)
Here’s my answer to this same question from an old thread on Reddit:
My Ubuntu system always reserved a whopping 20% of my 32GB ram for no reason and I never bothered to know why. Later I uninstalled snapd because of boot time issues and guess what happened? Only 1.5 GB used after a fresh boot.
I had like 4 different JetBrains IDEs installed via snap with each totalling around 2GB of disk space. While removing snapd I discovered it kept back 2-3 previous versions of every package on your disk.
Uninstalling this bloat was the best thing I did to my ubuntu system. It was suddenly light as a feather and way more responsive like I just did a fresh system install.
Some time later I was installing something from apt and Ubuntu tried to install it from snap, thus sneakily installing snapd in the process. Looking for a solution, I felt like I was looking up how to disable Windows updates or some other shit.
I had a moment of clarity and wondered why the fuck did I have to put up with this kinda bullshit on Linux. I wiped that drive clean and switched to Fedora.
I wiped that drive clean and switched to Fedora.
I might need to switch over as well, but I really don’t like rpm (or whatever that’s called on fedora, zypper or something? or was that suse?). I’ve been a Debian user since woody was a new thing and then at some point I gradually moved to ubuntu due to better desktop experience and more up to date packages (back then Debian stable really wasn’t anywhere close of bleeding edge) and PPA support was great for my needs. Now I have ubuntu installations which have gone trough upgrades for years and installations I have doesn’t seem to work like I want them to. Some of the issues will most likely stay (as RMS said, nvidia rapes babies or something like that) but in general I don’t like my browser, signal client and whatnot to notify me that I need to shut them down NOW since they’ll upgrade at some point in next 3-6 months. Simple apt dist-upgrade isn’t enough anymore and the systems require more and more TLC than I’m willing to give to them. Snapd is at least related to the issues I have 8 times out of 10.
Ubuntu just doesn’t have the feel it used to and it’s getting annoying enough that the simpler way would be just to reinstall everything and switch to something else, even if it takes some time and effort to migrate 5+ year old installations to new system.
Fedora uses DNF, with rpms under the hood, not sure how that works, haha. Honestly I have no problems with it. I’m no power user, but it does everything I need. The only downside being kinda slow repo fetches.
deleted by creator
The next release of Fedora will ship DNF5 as the default package manager, which is supposed to be much faster.
dnf is to apt as rpm is to dpkg.
The first pair are the nice user friendly front ends that pull things in and install from the repos.
The latter are the guts that directly handle the raw packages and are used by the frontends.
Maybe LM:DE (Linux Mint: Debian Edition)? Obscure software can be a pain to install for the usual reason, but otherwise I’m finding this to be a great distro. Second choice is Solus, but that’s even worse when it comes to software.
Or even just Linux Mint (non-debian edition). I’ve moved to that as it’s a familiar Ubuntu base but without snaps.
If you want up-to-date packages then just switch to testing
If you don’t want something completely different, PopOS is a great, snap free, distribution based on Ubuntu. It’s what Ubuntu should have been.
Mint also packages stuff that Ubuntu has rolled into snaps
rpms were a pain for me when i transitioned as well but I’ve learned to love them
I actually think jetbrains are the ones keeping old versions. On my windows machine, when I get an ide update, the old one is saved so I can revert back to it.
One of my biggest gripes about Windows was updates, virus scans and compatibility scans running autonomously while I am trying to get stuff done, sucking up network, drive access and CPU. I didn’t need Ubuntu doing the same thing to me - I want to kick off updates manually when I am taking a break for lunch or at the end of the day before shutdown.
As a power use this drives me nuts, but I know plenty of end users who are better off with those things turned on.
Short answer: Canonical is strong arming Ubuntu flavors into removing support for alternatives to snap (that run better and do the same thing). These types of decisions are generally worse for the overall Linux community.
Right now, a part of the Linux and Open Source communities are distancing themselves from corporate-sponsored projects given issues we’ve recently seen with RedHat’s CentOS and Canonical’s decisions with Snap and LXD
Canonical has a history of ignoring established practices and established software projects in the FOSS community and instead rolling their own in-house competitor behind CLA licensing agreements that make it hard for community developers to contribute. It feels like an embrace-extend-extinguish situation to me. They did it with Unity (replacing GNOME 3), Mir (replacing Wayland), and now Snap (replacing Flatpak). There are also technical reasons why many Linux users don’t want these userspace/sandboxed packages (Flatpak and AppImage included) taking over the position formerly occupied by native distribution packages (.deb, .rpm, pacman, apk, etc) because of issues with unnecessary copies of dependencies and poor integration with the rest of the system. These concerns apply to Snap as well, and Ubuntu has been pushing to replace .deb packages with snaps.
tldr;
canonical …
- keepes the snap store closed source and all snap packages and distribution under their control
- “silently” replaces packages (like firefox) with their snap versions
- will completly remove support for alternatives (like flatpak)
They don’t respect your setting on OS version updates either.
I was running 22.04 with the firefox ppa, but the minute i shifted from 22.04 lts to 22.10, they reinstalled the firefox snap and a bunch of new ones as well. Ive purged them all again, but it looks like every update will bw this same fight. I ahoulsnt have to write an ansible playbook to fight my OS vendor.
Debain 12 with flatpac to fill the gaps is looking better and better by the day.
They don’t respect your setting on OS version updates
I was running 22.04 with the firefox ppa, but the minute i shifted from 22.04 lts to 22.10, they reinstalled the firefox snap and a bunch of new ones as well.
Seems like canonical wants to be the only software distributor for their OS. Wouldn’t suprise me if they completely disabled the option to install other repos and DEB packages soon.
Debain 12 with flatpac to fill the gaps is looking better and better by the day.
agreed
Wasn’t there an article posted here that the next ubuntu update won’t have deb support at first and it’ll come later? 100% chance they decide to be an immutable snap-based distro in the near future.
Disrespecting preferences, having to fight the OS… hm, where have I heard that before? 🤔
Snap is not fully open source. It’s slower than flatpak, it’s centralized to Canonical’s servers.Flatpaks so not update by default where snaps do, so if a feature breaking update is released and you haven’t disabled automatic updates, you’re screwed with snap. Flatpak does not need admin privileges where snaps do.
On a less philosophical note, I find it immensely annoying how Snap creates mounts for its apps bc of how it clutters up disk management tools
Because people still believe in one standard to rule them all.
Examining my disk partitions with df is ruined now. Every snap gets its own virtual disk.
It seems incredibly shortsighted to go this way. Sure 1 or 2 is fine, but when the whole os is snaps it’s abusing the system.
I wonder if that could easily be fixed by just filtering the output of
df
to not show virtual disks (df
already has an-l
option to only show local disks, so would expect that changingdf
could be relatively easy).Note: I am not saying that I like snaps…
Just create an alias that filters loop devices. I mean, if this is your only problem with snap, you can fix it in a second. But I’m betting you have other problems with it.
This is the reason I got rid of snaps
Ha I was just listening to the Linux Unplugged podcast and the guy was just complaining about this same thing
Not generic as Docker containers, not native as package managers. If I’m trusting an app to install it, then I don’t want to care about security rules.
Hmmm, can we just sticky a “snaps are bad” thread? I like to see activity but this same question keeps getting asked.
Also sticky Red Hat’s “response”, it should deter most of the neolibs.
Mostly it has to do with how Canonical owns the snap store. if they made it so anyone could build a snap repo then a lot fewer peopl would have problems