Why is snaps hated

3 years ago by Gargari to c/linux

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

voodooattack 114 points 3 years ago

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.

path: 0 1270622, hotness: undefined, score: 114, children: 16
IsoKiero 15 points 3 years ago

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.

path: 0 1270622 1274190, hotness: undefined, score: 15, children: 10
mundane 12 points 3 years ago

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.

path: 0 1270622 1274190 1289293, hotness: undefined, score: 12, children: 1
phx 6 points 3 years ago

Mint also packages stuff that Ubuntu has rolled into snaps

path: 0 1270622 1274190 1289293 1291183, hotness: undefined, score: 6, children: 0
MrPhibb 9 points 3 years ago

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.

path: 0 1270622 1274190 1275298, hotness: undefined, score: 9, children: 1
FakeJake 10 points 3 years ago

Or even just Linux Mint (non-debian edition). I've moved to that as it's a familiar Ubuntu base but without snaps.

path: 0 1270622 1274190 1275298 1275688, hotness: undefined, score: 10, children: 0
SillyBanana 6 points 3 years ago

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.

path: 0 1270622 1274190 1289665, hotness: undefined, score: 6, children: 3
phoenix591 7 points 3 years ago

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.

path: 0 1270622 1274190 1289665 1302872, hotness: undefined, score: 7, children: 0
Carcel 1 point 3 years ago
path: 0 1270622 1274190 1289665 1290135, hotness: undefined, score: 1, children: 0
oktoberpaard 1 point 3 years ago

The next release of Fedora will ship DNF5 as the default package manager, which is supposed to be much faster.

path: 0 1270622 1274190 1289665 1300728, hotness: undefined, score: 1, children: 0
PlasmaK 3 points 3 years ago

If you want up-to-date packages then just switch to testing

path: 0 1270622 1274190 1333941, hotness: undefined, score: 3, children: 0
animist 1 point 3 years ago

rpms were a pain for me when i transitioned as well but I've learned to love them

path: 0 1270622 1274190 1276008, hotness: undefined, score: 1, children: 0
Squidious 9 points 3 years ago

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.

path: 0 1270622 1301836, hotness: undefined, score: 9, children: 1
InFerNo 3 points 3 years ago

As a power use this drives me nuts, but I know plenty of end users who are better off with those things turned on.

path: 0 1270622 1301836 1317452, hotness: undefined, score: 3, children: 0
minorsecond 4 points 3 years ago

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.

path: 0 1270622 1322262, hotness: undefined, score: 4, children: 2
voodooattack 1 point 3 years ago

Nah. It was snapd itself. It did this for every other snap on my system too.

path: 0 1270622 1322262 1346331, hotness: undefined, score: 1, children: 1
minorsecond 1 point 3 years ago

Ah, gotcha. That's really weird.

path: 0 1270622 1322262 1346331 1346491, hotness: undefined, score: 1, children: 0
tiny 63 points 3 years ago

There are philosophical and technical reasons to not like snaps

Technical

  • Slow startup time
  • Makes lsblk look really ugly
  • For awhile users didn't have a lot of control over when things updated
  • Not designed to work with third party repos by default
  • Requires apparmor so it doesn't work well on selinux distros.

Philosophical

  • Backend is proprietary and controller by a single company
  • Has made the same amount of effort as flatpak to work on distros that aren't Ubuntu
  • Some people just don't like Ubuntu
path: 0 1270078, hotness: undefined, score: 63, children: 4
Rozauhtuno 41 points 3 years ago
  • Canonical is pushing it too aggressively, removing the freedom of choice.
path: 0 1270078 1270658, hotness: undefined, score: 41, children: 0
coldhotman 15 points 3 years ago
path: 0 1270078 1270349, hotness: undefined, score: 15, children: 0
anagram3k 11 points 3 years ago

Also:

  • Creates a snap directory on your home. I hate programs that pollute my home.
  • Requires a service (snapd) to function.
path: 0 1270078 1304947, hotness: undefined, score: 11, children: 1
AfricanExpansionist 9 points 3 years ago

Not only does it create that directory but it creates new folders for each updated version of various apps... Very weird and confusing

path: 0 1270078 1304947 1324516, hotness: undefined, score: 9, children: 0
enoent 59 points 3 years ago

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

path: 0 1270956, hotness: undefined, score: 59, children: 6
VerbTheNoun95 15 points 3 years ago

Didn’t know that about the docker snap but that is insane. It would be straight up unusable at work for me.

path: 0 1270956 1282380, hotness: undefined, score: 15, children: 0
executivechimp 6 points 3 years ago

Install Node with snap? Cypress silently closes. (This took some time to get to the bottom of)

path: 0 1270956 1292090, hotness: undefined, score: 6, children: 0
Fubarberry 6 points 3 years ago

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.

path: 0 1270956 1283514, hotness: undefined, score: 6, children: 1
Infiltrated_ad8271 10 points 3 years ago

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.

path: 0 1270956 1283514 1288814, hotness: undefined, score: 10, children: 0
4am 5 points 3 years ago

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.

path: 0 1270956 1282865, hotness: undefined, score: 5, children: 1
inso 2 points 3 years ago

Wtf I've installed microk8s dozens of times it just works ?!

path: 0 1270956 1282865 1288868, hotness: undefined, score: 2, children: 0
tabular 49 points 3 years ago path: 0 1268151, hotness: undefined, score: 49, children: 0
rutrum 44 points 3 years ago

Examining my disk partitions with df is ruined now. Every snap gets its own virtual disk.

path: 0 1276052, hotness: undefined, score: 44, children: 5
1337admin 9 points 3 years ago

Ha I was just listening to the Linux Unplugged podcast and the guy was just complaining about this same thing

path: 0 1276052 1280567, hotness: undefined, score: 9, children: 0
cmeerw 9 points 3 years ago

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 changing df could be relatively easy).

Note: I am not saying that I like snaps...

path: 0 1276052 1290524, hotness: undefined, score: 9, children: 0
Jagger2097 7 points 3 years ago

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.

path: 0 1276052 1284080, hotness: undefined, score: 7, children: 0
BlessedDog 5 points 3 years ago

This is the reason I got rid of snaps

path: 0 1276052 1286723, hotness: undefined, score: 5, children: 0
pazukaza 2 points 3 years ago

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.

path: 0 1276052 1290442, hotness: undefined, score: 2, children: 0
MonkeyLord 40 points 3 years ago

I don't know enough to dislike snaps, I'm just spiteful enough to dislike cannonical trying to force me to use them

path: 0 1318191, hotness: undefined, score: 40, children: 1
indite 8 points 3 years ago

You're so real for this

path: 0 1318191 1324836, hotness: undefined, score: 8, children: 0
fakeman_pretendname 38 points 3 years ago

Perhaps it's been fixed since, but a this type of thing was the main issue with snaps to me:

"Why can't the program see the printer? Ubuntu can see the printer"

"Why can't I save to this USB pen? It can't even see it"

"These two programs are meant to work together, but they can't see each other"

"I can't open my project from my external drive"

"It won't let me import the photos from my camera. It can't see the camera"

Would have been less of an issue if they had an android-style permissions pop-up with each incident, but snaps just left you silently failing.

path: 0 1294416, hotness: undefined, score: 38, children: 5
violetraven 8 points 3 years ago

This was the most frustrating for me as well. While I appreciate Snap trying to be a universal installer of sorts, it breaks too often to be useful.

path: 0 1294416 1319349, hotness: undefined, score: 8, children: 0
joshhsoj1902 6 points 3 years ago

This was my experience too. Ubuntu asks if I want to install the docker snap, I say sure. I then try to use docker and it's completely unable to do what I need. I then need to figure out how to uninstall the snap and then install docker normally.

I tried a few snaps, but everytime they were a pain in the ass and I regretted it. Now I avoid them at all costs

path: 0 1294416 1334245, hotness: undefined, score: 6, children: 1
LiamSora 3 points 3 years ago

Same with Docker. Installed it because Ubuntu recommended it then spent a month trying to figure out why all my docker containers would randomly shutdown and restart themselves. I knew snap auto-installed updates, but had no idea it would do it even if the program was currently running and in use.

path: 0 1294416 1334245 1354145, hotness: undefined, score: 3, children: 0
CaptainHowdy 3 points 3 years ago

this is exactly my experience

path: 0 1294416 1318340, hotness: undefined, score: 3, children: 0
RickyRigatoni 1 point 3 years ago

There is absolutely such a thing as too much sandboxing, and flatpak is already pushing the limit.

path: 0 1294416 1337128, hotness: undefined, score: 1, children: 0
JoYo 37 points 3 years ago

Because I can't dismiss the Firefox update notification, no matter how many times I update it.

I've had to reboot every time.

Which, way to go you've reimplemented windows xp era updates.

path: 0 1270185, hotness: undefined, score: 37, children: 4
phx 1 point 3 years ago

Stop the app and run "snap refresh" and it should update anything that's queued

path: 0 1270185 1291258, hotness: undefined, score: 1, children: 3
JoYo 1 point 3 years ago

yes, I did kill the process and update the image though snap.

this did nothing to remove the update notification that cannot be dismissed without rebooting.

path: 0 1270185 1291258 1311337, hotness: undefined, score: 1, children: 2
phx 1 point 3 years ago

Oh, weird. The notification itself disappeared for me when I click it (KDE)

path: 0 1270185 1291258 1311337 1311388, hotness: undefined, score: 1, children: 1
JoYo 1 point 3 years ago

maybe they fixed it, I switched to Debian over a year ago.

path: 0 1270185 1291258 1311337 1311388 1311583, hotness: undefined, score: 1, children: 0
igorlogius 31 points 3 years ago
path: 0 1269154, hotness: undefined, score: 31, children: 4
mosiacmango 10 points 3 years ago

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.

path: 0 1269154 1288571, hotness: undefined, score: 10, children: 3
igorlogius 6 points 3 years ago
path: 0 1269154 1288571 1292281, hotness: undefined, score: 6, children: 1
RickyRigatoni 2 points 3 years ago

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.

path: 0 1269154 1288571 1292281 1338003, hotness: undefined, score: 2, children: 0
LiveLM 5 points 3 years ago

Disrespecting preferences, having to fight the OS.... hm, where have I heard that before? 🤔

path: 0 1269154 1288571 1325437, hotness: undefined, score: 5, children: 0
mrmanager 30 points 3 years ago

I remember when the snap version of calculator took like 12 seconds to launch and Canonical were like "yeah but what's the big deal?".

It basically turns your super fast Linux into feeling like a 10 year old windows machine.

I hear they have improved performance now though but there are many other reasons why snap suck.

path: 0 1270216, hotness: undefined, score: 30, children: 1
vampatori 14 points 3 years ago

I hear they have improved performance now though

It's still not great. Better, but still slow enough to make you question whether you've actually launched the app or not.

path: 0 1270216 1274173, hotness: undefined, score: 14, children: 0
Synthead 28 points 3 years ago

Along with the other comments, imagine if people started to say, "I like Linux but it's too slow and bloated, so I upgraded to Windows 11."

path: 0 1284843, hotness: undefined, score: 28, children: 1
InverseParallax 1 point 3 years ago
path: 0 1284843 1334884, hotness: undefined, score: 1, children: 0
GenderNeutralBro 25 points 3 years ago

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?!"

path: 0 1270420, hotness: undefined, score: 25, children: 1
fhein 10 points 3 years ago

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 :)

path: 0 1270420 1271093, hotness: undefined, score: 10, children: 0
j4k3 24 points 3 years ago

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.

path: 0 1268375, hotness: undefined, score: 24, children: 0
animist 24 points 3 years ago

because the snap folder in your home directory by default starts with a lowercase letter while all the other folders start with uppercase (hidden folders don't count)

all other reasons are secondary

path: 0 1270268, hotness: undefined, score: 24, children: 2
SillyBanana 5 points 3 years ago

This is such a stupid minor thing, but it's what made me switch from Ubuntu to Fedora, haha.

path: 0 1270268 1289746, hotness: undefined, score: 5, children: 0
UlrikHD 1 point 3 years ago

Downloads and Documents starting with a capital letter is my biggest pet peeve with Ubuntu. It makes it a lot more annoying to navigate through them than if it was all lower case.

path: 0 1270268 1307153, hotness: undefined, score: 1, children: 0
static09 16 points 3 years ago

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

path: 0 1268814, hotness: undefined, score: 16, children: 0
mvee 16 points 3 years ago

Bloat and coersion from canonical when using Ubuntu.

Also I hate typing mount on my home machine and sifting through a sea of mountpoints.

path: 0 1325325, hotness: undefined, score: 16, children: 5
leprasmurf 4 points 3 years ago

Same. I end up either grep -v -e tmps and loop mounts or mount -t for each type of physical mount. I suppose lsblk and findmnt might have better options and views.

path: 0 1325325 1339748, hotness: undefined, score: 4, children: 3
waspentalive 3 points 3 years ago

Lsblk suffers too.

path: 0 1325325 1339748 1358923, hotness: undefined, score: 3, children: 2
leprasmurf 1 point 3 years ago

oh? When I run lsblk all of the docker overlay mounts are omitted. It does show loop devices, but otherwise it was the list of physical devices.

Looking at the man page it looks like df lets you exclude types too: df -h -x tmpfs -x overlay.

path: 0 1325325 1339748 1358923 1374690, hotness: undefined, score: 1, children: 1
waspentalive 1 point 3 years ago

When I run lsblk with no flags/parameters I get 18 lines of loop devices. Sure I could issue the command again and pipe thru grep to remove all the lines that have "snap" since I forgot to do it this time. I propose "snap" because couldn't I have non snap-related loop devices?

path: 0 1325325 1339748 1358923 1374690 1384811, hotness: undefined, score: 1, children: 0
InverseParallax 2 points 3 years ago

That's so annoying, Ubuntu should put up a patch for baseutils to hide some mounts by default.

path: 0 1325325 1334868, hotness: undefined, score: 2, children: 0
Raphael 16 points 3 years ago

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.

path: 0 1281736, hotness: undefined, score: 16, children: 0
Remmy 16 points 3 years ago

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.

path: 0 1269013, hotness: undefined, score: 16, children: 0
Junkdata 14 points 3 years ago

Had a low end laptop, i believe it was lubuntu that i installed because i knew ubuntu was too bloated for that laptop. However I was not aware that it used snap and running firefox kick started the fans on that old laptop. Resouce hog seen and searching for firefox direct binary from apt seemed like a chore so i replaced with mint. Snaps automatically i did not want to deal with for old computers. Was happy with mints removal of snaps and it is very user friendly.

path: 0 1305447, hotness: undefined, score: 14, children: 0
coldhotman 12 points 3 years ago
path: 0 1270277, hotness: undefined, score: 12, children: 0
CalcProgrammer1 11 points 3 years ago

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.

path: 0 1270921, hotness: undefined, score: 11, children: 0
mashbooq 7 points 3 years ago

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

path: 0 1269334, hotness: undefined, score: 7, children: 0
iso 3 points 3 years ago

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.

path: 0 1281770, hotness: undefined, score: 3, children: 0
mpiepgrass 2 points 3 years ago
path: 0 1273135, hotness: undefined, score: 2, children: 0
panilithium 1 point 3 years ago

Some of the things that have already been mentioned are true also for me, especially around permissions and assumptions about my system's setup. However what really did it for me was when Firefox stopped recognizing my keyboard after a snap refresh. It's just as if no input device was there for FF anymore. I found reports of the issue, but no solution. In the end I installed from a DEB repository and went through the shenanigans to prevent snap from reinstalling it.

path: 0 1336729, hotness: undefined, score: 1, children: 0
joel_feila 1 point 3 years ago

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

path: 0 1468816, hotness: undefined, score: 1, children: 0
Janis -4 points 3 years ago

its a scam.

there was this jerk working as an intern at red hat. lennart. he made the decision to break the linux dogma: do one thing and do it good. systemd was born. red hat drools. an important step towarda ending open-ness. later snaps. later closing red hat stream. profit.

if you use systemd or snaps you could just fast forward and use apple.

path: 0 1335770, hotness: undefined, score: -4, children: 0
linux
linux

@lemmy.ml

login for more options
68121
9464
5479

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

go to feed...