this post was submitted on 23 Apr 2024
66 points (90.2% liked)

Linux

48338 readers
385 users here now

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

Related Communities

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

founded 5 years ago
MODERATORS
 

I've gathered that a lot of people in the nix space seem to dislike snaps but otherwise like Flatpaks, what seems to be the difference here?

Are Snaps just a lot slower than flatpaks or something? They're both a bit bloaty as far as I know but makes Canonicals attempt worse?

Personally I think for home users or niche there should be a snap less variant of this distribution with all the bells and whistles.

Sure it might be pointless, but you could argue that for dozens of other distros that take Debian, Fedora or Arch stuff and make it as their own variant, I.e MX Linux or Manjaro.

What are your thoughts?

you are viewing a single comment's thread
view the rest of the comments
[–] SnotFlickerman@lemmy.blahaj.zone 2 points 7 months ago* (last edited 7 months ago) (3 children)

So like... I understand the why behind flatpaks and snaps, but I'm an end-user, and more often than not they just make things more difficult, in my opinion.

They're really great for server setups for sort of keeping each individual application from being able to deeply influence other applications or the root filesystem.

But this means if I installed the Spotify snap (at least when I last tried a few years ago) I had to jump through a bunch of hoops to get it to be able to access my media files where all my music was stored.

So like I said, great for out-of-the-box-server setups where the everything is a little separated from each other (kind of like Docker, from what I understand, but at the app-level? I could be wrong here.) because it helps default security settings and interactions from getting confusing quickly.

However, for your casual end-user, it can quickly become a confusing nightmare if you actually do need your applications more easily interacting with one another because you're just trying to write an email.

Anyway, that's my personal opinion: The reasons they exist server-side are pretty solid, but the reasons they exist on desktops for the end-user are less compelling and often result in user frustration.

[–] BananaTrifleViolin@lemmy.world 5 points 7 months ago (1 children)

I've found the opposite as an end user with Flatpaks. It makes it easy to install an app on multiple devices with different Linux flavours and it'll just work.

Even if you're on a single device, if the app isn't in your repo or the latest version is not available in the repo, then flatpak can be very convenient. Certainly easier than compiling from source.

It is secure in the sense that it runs in a sandboxed environment with its own libraries. The downside of that though is bloat as you will have duplicates of libraries you already have on your system downloaded for flatpak. That bloat diminishes to an extent the more apps you use as the apps will share and reuse the Flatpak downloaded libraries, but your first app could be 2gb just because of the libraries and dependencies.

That bloat also extends to memory - you might be running two copies of multiple libraries at a time - one for the native system and another for the Flatpak app.

So on the one side it's convenient and allows distributions across all flavours of Linux, and it sandboxes apps which is potentially more secure but the downside is bloat, and resource use.

Ubuntu have gone too far with Snap, forcing it instead of providing native apps, and it's proprietary. Flatpak is more open and an option for users rather than forced on them.

[–] SnotFlickerman@lemmy.blahaj.zone 3 points 7 months ago

Thanks for the really good breakdown. I was familiar with the idea that flatpaks are more open and snaps are more proprietary, but I had less understanding of the details of how they're sandboxed. Thanks again, I'm sure it will help others understand it better, too.

[–] Shareni@programming.dev 4 points 7 months ago* (last edited 7 months ago) (2 children)

They're really great for server setups

Please don't go anywhere near servers with either of those, that's what docker and alternatives are for.

the reasons they exist on desktops for the end-user are less compelling and often result in user frustration.

Try running a stable distro without them. If you want a program not to be years out of date, and don't want to compile everything manually, the only options are to use an alternative package manager (flatpak/snap/nix/etc.), distrobox, or appimage + some pm for updates.

However, for your casual end-user, it can quickly become a confusing nightmare

They're a lifesaver for casual users, especially when they're integrated into a gui (software centre and discovery for example). None of the other options are nearly as user friendly.

Permission issues are really rare and distro specific from my experience. Also there are tools like flatseal to make fixing them easier.

[–] Bitrot@lemmy.sdf.org 5 points 7 months ago* (last edited 7 months ago) (1 children)

I hate snaps and how they pushed them on desktop users, but they’ve always been intended for servers, it’s one of the reasons they can ship things like unified kernel images. Ultimately they allow for a modular immutable system, potentially much more flexible than some others like Silverblue or Fedora Atomic stuff.

What they can do is pretty neat, but their “transitional” deb packages for normal users were ridiculous and should never have happened.

[–] Shareni@programming.dev 1 points 7 months ago

TBH I haven't used snaps but based on info from this thread:

  • can't pin specific package version or force reproducibility in any way
  • can't stop updates
  • can't add private repos without modifying snapd, only manually install downloaded snaps
  • can't inspect the package definition or modify it

Because of those reasons I wouldn't use it even on a private server, let alone in production.

Ultimately they allow for a modular immutable system, potentially much more flexible than some others like Silverblue or Fedora Atomic stuff.

So does nix, but it also enables declarative package management, adding your own package sources, modifying existing package definitions, creating your own repos, and generating docker images. It also works perfectly fine for userland packages.

[–] recarsion@discuss.tchncs.de 2 points 7 months ago* (last edited 7 months ago)

Try running a stable distro without them

Arch mentioned btw

[–] possiblylinux127@lemmy.zip 1 points 7 months ago

We could just kill snaps on the desktop in favor of flatpak. Oh wait