How do you think about Snap?

I'm very beginner of Linux server admin. Few days ago I set up snap version of nextcloud server app on my own Ubuntu VPS server, and I found that Snap system might be focused to build original file system hierarchy in /snap directory, and I felt a little weird about that.

For example, Linux file system hierarchy is defined to set server app config into /etc/app/conf.d or so.
But snap version app tend to set it into /snap/app/current/app/config or so.
It sounds so complicated for me.

So I want to know about how Snap is thought by others. I'm happy if you might tell me something here.

Gourd,
Gourd avatar

It's annoying fragmentation when even for a stable distributable package there's flatpak as a standard, and I've never seen why Ubuntu needs their own with a proprietary store.

Like I generally tend to favor native packages, but I can at least appreciate Flatpaks having advantages and times even I want to use them. (Largely when stuff is a pain to compile on Arch for library reasons.) Snap is a non-universal universal package format.

(Also going to shout out AppImages, which are an entire package as a single ELF file you can run on basically any distro. I'm not sure how good they are for important work, but I just think they're neat and have come in handy for running stuff on old CentOS in the past.)

thehatfox,
thehatfox avatar

It's annoying fragmentation when even for a stable distributable package there's flatpak as a standard, and I've never seen why Ubuntu needs their own with a proprietary store.

It's the Canonical way, just as with Mir, Upstart, Unity, and a bunch of other NIH Canonical projects.

I miss the old Ubuntu sometimes, the Ubuntu that wanted to be an up to date Debian with sensible defaults, easy installation, and commercial support. It seems that wasn't profitable or visionary enough for somebody though, and we've ended up here instead.

Colombo,

It's the Canonical way, just as with Mir, Upstart, Unity, and a bunch of other NIH Canonical projects.

A commonly repeated lie.

Mir, Upstart, and Unity all precede or are parallel to the other project. While Wayland technically existed when Mir was created, Wayland wasn't very active at that time. Upstart was replacing init, systemd was created later and draw inspiration from Upstart. Unity was replacing Gnome 2, Gnome 3 was released a year after Unity and was a mess. Finally, Snap and Flatpack are more or less parallel, both solving a different issue, with Snap being a more system-level solution such as for drivers, IoT, while up until recently, Flatpack couldn't handle command-line apps at all, concentrating solely on GUI apps installed through GUI appstore.

DeltaWhy,
DeltaWhy avatar

Not a fan, mainly because it’s proprietary. Canonical hosts the only repository and you can’t change it. The file system stuff is secondary.

I do think Flatpak is alright, and I use a few Flatpak apps, but since I use Arch, I generally prefer to install things from the AUR.

Jarmer,
Jarmer avatar

I simply don’t understand why snaps exist in 2023 with the existence of flatpaks.

moon_matter,
moon_matter avatar

As the makers of the most popular distro and the creators of Snaps, the format will continue to exist until Canonical decides it shouldn't. The Linux community doesn't have a lot of say in the matter. Fragmentation and duplication of effort is also nothing new to FOSS and it has both pros and cons.

stdevel,

The problem I have with Snap is that it's a rather mediocre over-engineered technology (e.g. decompressing images had poor performance for a long time; see the Firefox snap drama) that is pushed very hard by Canonical. It has a closed-source market and nobody knows what Canonical does on their side for performing anti-malware scans (that haven't been very reliable in the past). That's not how open-source works. We want to have a decentral approach like Flatpak repositories have.
Flatpak is my default, but sometimes I also use AppImages.

tuxiy,

Why bother when you have flatpak?

linuxfiend,
linuxfiend avatar

Because you're Canonical?

hemko,

Think of your datacenter as hooters restaurant. Snap is the creeps there, you want them nowhere near your servers.

this_is_router,
@this_is_router@feddit.de avatar

IMHO: It's bullshit, wastes resources, ubuntus server implementation is proprietary and it fragments the package management of a distro. Snap is the worst, flatpak and appimage are tolerable since they are at least open source but i personally try to avoid these "solutions" like the plague.

apt for the win. tbh i trust the debian package maintainer way more then i trust an obscure developer that can't release his software without all dependencies baked in.

phi1997,

Eh, when Debian doesn't have the latest version of dependencies, Flatpak is necessary. Flatpak will long-term likely be great for running abandoned legacy software too.

christophski,

People always complain about "dependency hell" with apt, but I've always found it to be the perfect solution

this_is_router,
@this_is_router@feddit.de avatar

Me too, you just need to avoid installing packages from repos that are not for your distribution. And live with the package versions until the next release is ready

asteroidrainfall,
asteroidrainfall avatar

I only use it for my instance. does make it easy to upgrade or rollback and configure. That said I wouldn’t use it for anything else and would probably use the image next time.

Bero,
Bero avatar

For server software I prefer docker/podman,
For desktop apps I prefer native and then flatpaks

mr-strange,

Hate it.

kronicmage,

Just use Nix

Meshuggah333,
Meshuggah333 avatar

They're slow, I vastly prefer Flatpaks.

macallik,

They delved into this a bit in the latest Homelab episode around 35 minutes in or so.

airclay, (edited )
airclay avatar

As others have complained, canonical and a lot of extra overhead (like mount an entire FS for every snap running). I tried it and got rid of it quickly. I do use flatpacks but really only on my gnome desktop (arch) due to the ease of the gui software center being right there. (EDIT: This is how containers work, I get that, it's just a lot for system utilities or small apps)

Are you using nextcloud locally or facing public? I run nextcloud on a homeserver but for anything public facing I run in a docker container on it's own bridged network served up by Caddy proxy container. It's no where near "hardened" or full proof but it's something better than just facing a snap at the world tbh.

popshabang,
popshabang avatar

I really like the way Silverblue handles it--with flatpak being the standard for GUI applications and toolboxes being the standard for CLI applications

piquant00,
piquant00 avatar

I've used snaps and flatpaks. Snaps take a lot of disk space, but that doesn't bother me much. I'm running EndeavourOS more often than I boot into Xubuntu lately, and I haven't installed snap on Endeavour yet, but I might.

Use what you like.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux
  • ngwrru68w68
  • DreamBathrooms
  • khanakhh
  • magazineikmin
  • InstantRegret
  • ethstaker
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • osvaldo12
  • everett
  • kavyap
  • Durango
  • megavids
  • cubers
  • tester
  • GTA5RPClips
  • modclub
  • mdbf
  • cisconetworking
  • tacticalgear
  • Leos
  • normalnudes
  • anitta
  • provamag3
  • JUstTest
  • lostlight
  • All magazines