I’ve been reading and hearing a lot of dislike for snaps. I’ve installed Ubuntu and anything I install from their software store uses snaps. Any GUI method to avoid snaps? For now, I have manually used apt install command line.
Why are snaps disliked so much? What are the pros and cons?
Here’s a personal example. Telegraf from influxdb is on snap, but something about that snap version doesn’t read metrics from docker, at least it didn’t for me. I had to add the influx repo and install telegraf that way.
That one bad experience turned me off from snaps.
I think people are accustomed to apt install and it’s used by most people
Thanks, guys. I prefer apt and what I can’t find there, I usually will find and install using git. Feels unnecessarily complex for what it is. But that’s just me.
I think snaps are good for IoT or appliances, but seem to have permission limitations for general desktop/server use.
I installed plex from the Software Centre and it turned out to be a snap, and wasn’t able to read external drives. I had to rather install the deb version and then it worked fine.
@morgs glad to hear I wasn’t the only one with issues from snap. If you’re using grafana with telegraf, you should get telegraf from influxdb, see my experience ^.
Well the first thing I did after installing Ubuntu 20.04 LTS was to completely remove snap. Not proud of that approach, I don’t have anything against snap packages per say, I just like using apt still.
With systemd I was all in from the start, but something about Canonical having control of snap makes me more hesitant. In fact, when they had control of Unity DE, I left Ubuntu until they returned to letting Gnome or KDE handle the DE.
I don’t feel like I’m missing much by not using snap, yet. Which is the way I felt about the Unity desktop.
I think instead of upgrading my main workstation to Ubuntu 22.04 I’m going to move to Debian 11. I’ve been away from Debian desktop for years now.
It seems more and more that only the original Independent distros like Arch, Debian, Red Hat, Slackware, Gentoo, Void, etc seem for the most part stay clear of Snap being installed by default.
They are slow to start which is annoying. I have never been a fan of them and when possible I use Flatpaks over them. If you know how to do it, just uninstall them. I have done so on many distros. Ubuntu seems to be the one pushing them for the most part.
Snaps are also notoriously slower. For example so many firefox posts online complaining about startup speed, switching tabs, and even closing the application. I’m still on 20.04 LTS but through discussion with everyone in the forums, will be moving to Debian testing by way of Kali in a few weeks.
Edit - march 2025
A few years later and much like Gnome, I’ve also warmed up to snaps. Shame on me! Snaps and Flatpaks are heaven sent sometimes.
The same here! I honestly can find more native deb packages in software releases then flatpak snaps etc etc .. because yes, Ubuntu nowdays is a really a refer point for the software houses.
One thing I’ll add. Snap’s confinement model has potential, but it often breaks real-world usability (external drive access, theme support, etc). Plus, mounting squashfs each time adds overhead. For desktops, I lean Flatpak; for servers, apt or building from source gives more control.
Also worth noting: Canonical tying core system apps (like Firefox) to Snap without an opt-out rubbed many folks the wrong way. It’s less about the tech and more about trust and flexibility for many.
I wanted the 1Password plugin in Firefox and Chromium to talk to 1Password so that I could use system authentication rather than type in my rather lengthy 1Password master password every 10 min. Turns out this did not work under Ubuntu 24 LTS as both were snap installs, which are sandboxed. Had to uninstall and then install via apt using some extra repositories. I still run Thunderbird as snap, though.
For me personally the only individual packaging option I don’t mind, recognizing it has some overhead as a tradeoff for providing instant apps that work is AppImage. I’ve used it with certain Web Browsers (Librewolf and Ungoogled Chromium) and I’ve used it once or twice for other apps. I usually prefer direct packages, but in a couple of cases I was able to get the software I wanted, and I was able to evaluate it.
I discovered that I could disassemble the AppImage, find the image, the shared libraries or whatever else, and put these into their appropriate directories, and they behaved like any other application. I could also mark the AppImage executable and run it from wherever I placed the image; that flexibility was appealing to me (it’s also unnecessary to disassemble them, but as a geek, I wanted to try that, and it worked too).
As much as I can understand the safety of running an application in this manner, I too feel more comfortable with direct packages. Put the executable and the libraries on the computer and run. @hydn gave me one tip when looking for applications, do some research on the author. Is this his first application, first post or has he not updated the app for a long time? What are others saying about it? Most importantly, keep backups of your data. If an application crashes your system, wipe, reinstall and you will be up and running in an hour. The beauty of Linux.
I have to admit that until 5 seconds ago I had no idea what a snap was… based on this – “A snap is a bundle of an app and its dependencies that works without modification across Linux distributions.” – this seems like a great thing, and very similar to macOS .app bundles. As a Mac user (and a NeXT user before that), I personally like this method of app distribution.
On macOS, the bundles are also MABs – bundles containing multi-architecture binaries – so the same bundle can run on x86_64 and on Apple Silicon Macs.
I personally think this is a great technology, and remember when we had 4-architecutre MABs on NeXTSTEP/OPENSTEP.
In the end, I think it makes all the difference in the world which distribution you are using and the degree of expertise and the types of programs each person prefers to use.
Personally, I started out with Slackware in the nineties as my first distribution, so I knew how to build software and how to work with .tar, .tgz and similar packages. Later, I worked with two or three .RPM distributions before I started with Debian around 2001, but from then to now I’ve had well over two decades of experience with .deb packages.
When Flatpak and snap packages became available I read and listened with interest, tried out a few of each, but they really didn’t resonate with my personal style.
I did find a few select AppImage packages that work for me, so I use them, but sparingly.
Still, since I’ve always said that choices are good, though they’re not all for me, I DO advocate choice, so if the snap, flatpak, or any other format works for someone, who am I to challenge it, particularly when I’m such a big advocate of choices, INCLUDING commercial choices, if that’s what works for someone; me? I don’t often want or need them, yet I’m not against their existence; they still provide jobs and technology to a lot of people, and that is more than OK to me.