Snaps. Why? Please Stop

2023-11-2318:23112113forums.linuxmint.com

Chat about Linux in general Forum rules Do not post support questions here. Before you post read the forum rules. Topics in this forum are automatically closed 6 months after creation. mattlach Level…

Chat about Linux in general

Forum rules
Do not post support questions here. Before you post read the forum rules. Topics in this forum are automatically closed 6 months after creation.
mattlach
Level 4
Level 4
Posts: 311
Joined: Mon May 30, 2011 8:34 pm

Post by mattlach »

Can someone please comment on why we now have snaps (or flatpak or Appimage) in Linux? Traditional package managers are perfect (especially Apt) They manage all of your installed software and keep it up to date. Sure, Snaps make it easy to install 3rd party software, but I just find this problematic, causing fragmentation, and just all around a bad idea.

I'd love to hear some of your thoughts on this. Maybe I'm wrong? Educate me.

Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.

Corsair 1000D, Threadripper 3960x, Asus ROG Zenith II, 64GB, 2TB Samsung 980 Pro, Geforce RTX 4090, 42" LG C3, 2x Dell U2412M, Schiit Bifrost Multibit DAC
Server: 2x E5-2650v2 (16C/32T), SuperMicro X9DRI-F, 256GB RAM, 120TB ZFS

redlined

Post by redlined »

if you use Linux Mint you do not have snaps (unless you installed support for such, it in the parent ubuntu but not Mint) flatpaks offer a separate install space that includes all dependencies (initial flatpaks are huge installs, this tapers down once this separate install space houses the flatpak used dependencies). It offers a modicum of security, bascially building a sandbox environment that while it can be compromised in and of itself, it won't bleed into the same package name installed in system as normal (with attending routes, links, permissions, etc)

So maybe a bit of security :?: added in but primarily a better avenue to get up-to-date packages that have no backports for LM repos available packages, but have a feature desired or needed by user. Usually considered "Safe(r)" than adding ppa or external unknown/unchecked deb's, etc normally checked by OS managers that do get vouchsafed into LM used repos. (we are not a rolling distro so often you may find a very out-dated version of app and flatpak is the way to upgrade and stay in the OS supported zone.

appimages are just cool... but I'm a Linux newb and my windows days were full of finding f/oss, in particular "portable apps", which in effect appimage is. although I don't particularly care for them now (I just compile myself if I need it bad enough) they are useful in being easy to move about and launch from anywhere since they too come packaged with dependencies and really don't install anything to system (also meaning easier to sandbox/isolate?... idk... but I do have a couple I rely on regularly.

To me apt/apt-get and the synaptic package manager are beautiful pieces of work (terminal and gui, respectively). I do consider Software Manager to be a bit cheezy (more like a web browser to install approved packages from) and felt flatpak were nothing but a waste of space- removing the support from system. but on recent installs I've reconsidered and left it in place for use if I find something I want flatpak'd and not good to compile/build on my own, for my self.

anyways, if you run Mint and have not added snap support manually, then today security vulnerability with PoC exploit is of no concern. Hope this helps, and Happy hunting!

ajgringo619

Post by ajgringo619 »

mattlach wrote: Wed Feb 13, 2019 6:32 pm Can someone please comment on why we now have snaps (or flatpak or Appimage) in Linux?

Because many LTS distros do not have the "latest-and-greatest" that some users want/need.

Traditional package managers are perfect (especially Apt) They manage all of your installed software and keep it up to date.

Agreed.

Sure, Snaps make it easy to install 3rd party software, but I just find this problematic, causing fragmentation, and just all around a bad idea.

There's no fragmentation with Snaps/Flatpak/Appimage - their installs are completely separate from the main OS. It's much safer than installing PPAs, which will upgrade libraries that might break other installed software.

I'd love to hear some of your thoughts on this. Maybe I'm wrong? Educate me.

Each has its place. If you run multiple distros for whatever reason, the alternative package managers will allow you to install the exact same version of a program; good luck trying that with the normal software repos.
redlined

Post by redlined »

wow, yes, +1(x1000) ajgringo619 response.

(well said, and thank you for making that simple to understand- for sure! :mrgreen:

ajgringo619

Post by ajgringo619 »

You're most welcome; thanks for the kind words.

mattlach
Level 4
Level 4
Posts: 311
Joined: Mon May 30, 2011 8:34 pm

Post by mattlach »

redlined wrote: Wed Feb 13, 2019 8:21 pm if you use Linux Mint you do not have snaps (unless you installed support for such, it in the parent ubuntu but not Mint)

I know, this is why this is in the "Chat About Linux" section, not the "Chat about Linux Mint" section.

My concern is that these universal installers are going to become so popular that those of us who don't want to use them are more or less going to be forced to :( This always happens. Whatever is more convenient, whether or not it is better always wins mass adoption, and those of us who care, lose out.

Corsair 1000D, Threadripper 3960x, Asus ROG Zenith II, 64GB, 2TB Samsung 980 Pro, Geforce RTX 4090, 42" LG C3, 2x Dell U2412M, Schiit Bifrost Multibit DAC
Server: 2x E5-2650v2 (16C/32T), SuperMicro X9DRI-F, 256GB RAM, 120TB ZFS

ajgringo619

Post by ajgringo619 »

I don't see that happening. There will always be a market for stable-over-latest software, especially for businesses.

User avatar
Pepi
Level 6
Level 6
Posts: 1267
Joined: Wed Nov 18, 2009 7:47 pm

Post by Pepi »

I was in my System Monitor last night and under the file system tab I see this ...

It appears it was done when I added GIMP 2.10 but I'm not sure and I'm not sure if this is even good :oops:

Attachments
snap.jpg
Hoser Rob
Level 20
Level 20
Posts: 10840
Joined: Sat Dec 15, 2012 8:57 am

Post by Hoser Rob »

Lots of misunderstanding here. The point of Snaps etc is NOT to provide newer versions per se, there were plenty of ways to do that already. The point of them is the ridiculous amount of fragmentation in Linux. There are way too many package management systems, no stable APIs, and very little backwards or forwards compatibility. Open source projects are understaffed enough without having those things to deal with. To suggest Linux package managers are perfect is funny coming from someone I suspect has never used any other type. RHEL uses something quite different from Mint, and it's just as influential as Debian or Ubuntu these days. These things are meant to SOLVE fragmentation, they're not an example of it. Obviously a better way would be to solve the issues of little standardization or stablility but I'm not holding my breath for that.

And no one has mentioned what's probably the main real prooblem with snaps etc. besides efficiency. If they use outdated libraries they may not be secure.

cliffcoggin
Level 8
Level 8
Posts: 2300
Joined: Sat Sep 17, 2016 6:40 pm
Location: England

Post by cliffcoggin »

Hoser Rob wrote: Thu Feb 14, 2019 9:33 am
And no one has mentioned what's probably the main real prooblem with snaps etc. besides efficiency. If they use outdated libraries they may not be secure.

But does that really matter if the Snaps are "sandboxed", a concept I still don't fully grasp.

Cliff Coggin

User avatar
Portreve
Level 13
Level 13
Posts: 4882
Joined: Mon Apr 18, 2011 12:03 am
Location: Within 20,004 km of YOU!
Contact:

Post by Portreve »

The only program I have installed by whatever thing it is (App Image? flatpak? Dunno, don't care) is the latest available release of Scribus, 1.5.4, which comes from their "unstable" branch.

I really don't have an opinion on this sort of thing, one way or the other. I would prefer Scribus use repos instead, but they don't, and that's that.

Flying this flag in support of freedom 🇺🇦 Recommended keyboard layout: English (intl., with AltGR dead keys)

Podcasts: Linux Unplugged, Destination Linux

Also check out Thor Hartmannsson's Linux Tips YouTube Channel

bodhin

Post by bodhin »

hate snaps and the one time i used an os that had them i ahd a few issues and others in the know said stuff that seemed to say they were not as good as nstalling via synaptic. i am fine with synaptic.

User avatar
smurphos
Level 18
Level 18
Posts: 8501
Joined: Fri Sep 05, 2014 12:18 am
Location: Irish Brit in Portugal
Contact:

Post by smurphos »

mattlach wrote: Wed Feb 13, 2019 9:36 pm

redlined wrote: Wed Feb 13, 2019 8:21 pm if you use Linux Mint you do not have snaps (unless you installed support for such, it in the parent ubuntu but not Mint)

I know, this is why this is in the "Chat About Linux" section, not the "Chat about Linux Mint" section.

My concern is that these universal installers are going to become so popular that those of us who don't want to use them are more or less going to be forced to :( This always happens. Whatever is more convenient, whether or not it is better always wins mass adoption, and those of us who care, lose out.

Traditional Linux package management systems are a nightmare for developers. So you want your app to have wide availability. You have to have a Debian maintainer, plus an Arch maintainer, plus a RHEL maintainer. Then you have the problem of the non-rolling release distros so you end up with users concurrently using 0-5 years old versions of your app and asking politely or not so politely for support for versions you consigned to the dustbin years ago. Users get frustrated when they are told by an original developer that the version of the app in their supposedly LTS distro is effectively unsupported. If the relevant distro maintainer isn't actually part of the developers team they may make changes to your app in the distro packaged version that you are not entirely happy with and which you as the original developer under many OS licences technically have no say over. It's no wonder a lot of Linux developers can be grumpy. Flatpak (RHEL led), Snap (Canonical led), and Appimage are all ways intended to make life easier for developers in that they are cross-platform self publishing platforms and cut-out the middleman and middle-man interference, and ensure that developers can offer users easy access to the current supported version of their app no matter what the platform. Why should there be an effort to make Linux easier for developers? Basically to make sure that developers develop for Linux.

I understand that Ubuntu is now shipping with some pre-installed snaps and I believe current Fedora ships with all of the major Flatpak runtimes pre-installed so things are changing but I don't see traditional package management systems going anywhere fast.

For custom Nemo actions, useful scripts for the Cinnamon desktop, and Cinnamox themes visit my Github pages.
mattlach
Level 4
Level 4
Posts: 311
Joined: Mon May 30, 2011 8:34 pm

Post by mattlach »

smurphos wrote: Sat Feb 23, 2019 1:54 am
mattlach wrote: Wed Feb 13, 2019 9:36 pm

redlined wrote: Wed Feb 13, 2019 8:21 pm if you use Linux Mint you do not have snaps (unless you installed support for such, it in the parent ubuntu but not Mint)

I know, this is why this is in the "Chat About Linux" section, not the "Chat about Linux Mint" section.

My concern is that these universal installers are going to become so popular that those of us who don't want to use them are more or less going to be forced to :( This always happens. Whatever is more convenient, whether or not it is better always wins mass adoption, and those of us who care, lose out.

Traditional Linux package management systems are a nightmare for developers. So you want your app to have wide availability. You have to have a Debian maintainer, plus an Arch maintainer, plus a RHEL maintainer. Then you have the problem of the non-rolling release distros so you end up with users concurrently using 0-5 years old versions of your app and asking politely or not so politely for support for versions you consigned to the dustbin years ago. Users get frustrated when they are told by an original developer that the version of the app in their supposedly LTS distro is effectively unsupported. If the relevant distro maintainer isn't actually part of the developers team they may make changes to your app in the distro packaged version that you are not entirely happy with and which you as the original developer under many OS licences technically have no say over. It's no wonder a lot of Linux developers can be grumpy. Flatpak (RHEL led), Snap (Canonical led), and Appimage are all ways intended to make life easier for developers in that they are cross-platform self publishing platforms and cut-out the middleman and middle-man interference, and ensure that developers can offer users easy access to the current supported version of their app no matter what the platform. Why should there be an effort to make Linux easier for developers? Basically to make sure that developers develop for Linux.

I understand that Ubuntu is now shipping with some pre-installed snaps and I believe current Fedora ships with all of the major Flatpak runtimes pre-installed so things are changing but I don't see traditional package management systems going anywhere fast.

There is no shortage of Linux software bieng developed today. This is apparently not a sufficient detractor. The downsides of moving away from a single unified package manager are MUCH MUCH MUCH worse than the problems it solves. Not to mention the inefficiencies of duplicating static libraries for everything!

These are just a terrible idea, turning Linux into Windows.

Corsair 1000D, Threadripper 3960x, Asus ROG Zenith II, 64GB, 2TB Samsung 980 Pro, Geforce RTX 4090, 42" LG C3, 2x Dell U2412M, Schiit Bifrost Multibit DAC
Server: 2x E5-2650v2 (16C/32T), SuperMicro X9DRI-F, 256GB RAM, 120TB ZFS

mattlach
Level 4
Level 4
Posts: 311
Joined: Mon May 30, 2011 8:34 pm

Post by mattlach »

I wouldn't think that apt would be going anywhere soon, but if Snaps/Flatpak/Appimage take over, pretty soon we will have no choice but to use them. If a developer can check the box for distribution by just providing one of these, why would they even bother having a PPA? Why would the distribution bother including that software package in their official repos, if users can just get a snap?

It's a downhill slide towards mediocrity, where in the end we will all be forced to use this garbage whether we want to or not :(

Corsair 1000D, Threadripper 3960x, Asus ROG Zenith II, 64GB, 2TB Samsung 980 Pro, Geforce RTX 4090, 42" LG C3, 2x Dell U2412M, Schiit Bifrost Multibit DAC
Server: 2x E5-2650v2 (16C/32T), SuperMicro X9DRI-F, 256GB RAM, 120TB ZFS

User avatar
Mage of Maple
Level 2
Level 2
Posts: 70
Joined: Tue Jul 10, 2018 10:41 am
Location: Maryland USA
Contact:

Post by Mage of Maple »

mattlach wrote: Mon May 20, 2019 10:15 pmThere is no shortage of Linux software bieng developed today. This is apparently not a sufficient detractor.

That's a matter of opinion. There are plenty of things that I cannot find applications for that work as well as what is available in Windows.

mattlach wrote: Mon May 20, 2019 10:15 pmThe downsides of moving away from a single unified package manager are MUCH MUCH MUCH worse than the problems it solves. Not to mention the inefficiencies of duplicating static libraries for everything!

Care to elaborate on that? You opened the post asking what the point was and asking to be educated. I think the responses were pretty on-point. You are unconvinced, fine, but MUCH MUCH MUCH worse is pretty strong language.

mattlach wrote: Mon May 20, 2019 10:15 pmThese are just a terrible idea, turning Linux into Windows.

This is pure nonsense. Windows does not use virtualized applications for the most part because they don't have the issues that motivate Linux developers to go in this direction. Windows uses DLLs and the APIs for them are very stable. Write a Windows app and it will run happily on new Windows versions for a very long time. Windows XP apps still run. Linux does not have this, hence the container-izing, making it less like Windows, not more like Windows (at least in a technical sense.)
User avatar
Portreve
Level 13
Level 13
Posts: 4882
Joined: Mon Apr 18, 2011 12:03 am
Location: Within 20,004 km of YOU!
Contact:

Post by Portreve »

From the first post by the OP, which includes the title of the thread, what I see is a request for the GNU+Linux world to end the containerized application system. Comments since then suggest the OP is not seeking knowledge, but simply seeking to "stir the pot" as it were.

Frankly, I don't care one way or the other about containerized applications. I certainly do not see them as some software distribution conduit-upending threat. Besides, I know from personal experience that containerized apps don't universally work on all distributions; they definitely can and do bork from time to time.

Besides, GNU+Linux-platform software developers aren't stupid. They know the audience they are intending to appeal to are generally security aware and security conscious, and are a lot less likely to accept un-vetted software.

And, by "un-vetted", in this particular post I'm referring to not just the code, but the conduit of distribution as well.

Flying this flag in support of freedom 🇺🇦 Recommended keyboard layout: English (intl., with AltGR dead keys)

Podcasts: Linux Unplugged, Destination Linux

Also check out Thor Hartmannsson's Linux Tips YouTube Channel

hcentaur13

Post by hcentaur13 »

It is simple because linux is not a properitary system with only one distributor that calls for money for all and anything it does.

So there many diffewrent distrobutors with highly different taste. Each one and each maintainer of each pöieace of each peace of each bit of software that they maintain comes with his own of model how to maintain his own taste what kind of software he likes to gewt his own work done. Anybode does that in a way that gets the work done. There is nothing that can do anything in exactly the same way. As there so many diffierent contributors of different taste there is a wounder that someone gets the work done to bind all that different tastes together to different bundles to work perfectly together. Different peoples have different tastes - so different bundles exists.

User avatar
Flemur
Level 20
Level 20
Posts: 10097
Joined: Mon Aug 20, 2012 9:41 pm
Location: Potemkin Village

Post by Flemur »

mattlach wrote: Wed Feb 13, 2019 6:32 pm Maybe I'm wrong? Educate me.

It's a bit like complaining that the grocery store has too much variety and should only sell what you want. My complaint is about the name: snaps. How lame. How not-unique and therefore hard to look up; Search "flatpak" and you get stuff about flatpak.

Search "snap" or "snaps" and you get

Supplemental Nutrition Assistance Program (SNAP) | USDA-FNS

, then a restaurant, camera company, etc.

Please edit your original post title to include [SOLVED] if/when it is solved!
Your data and OS are backed up....right?


Read the original article

Comments

  • By dark-star 2023-11-2321:553 reply

    The thing I hate most about snaps is how they pollute the mount namespace with loop mounts. Install a few apps and 2/3rds of your `mount` output will be /dev/loopX devices. Especially annoying since I often do loop-mounts myself and picking them out from the flood of unrelated snaps is a pain.

    If they could somehow hide the mounts (in a different mount namespace maybe?) that would be cool. I mean still, I would prefer more open formats such as flatpack and appimage (since with snaps you buy into the Canonical ecosystem with no way to provide alternative appstores) ......

    • By hackeraccount 2023-11-2321:59

      I think that's why I gravitated to Flatpak instead of Snap. That and maybe the store experience - flathub.org - was better.

    • By Aerbil313 2023-11-241:081 reply

      I just jumped the ship to Nix.

      • By HumanOstrich 2023-11-247:432 reply

        You should rewrite everything in Rust too.

        • By otabdeveloper4 2023-11-2420:52

          Nix is the "worse is better" approach, it's just symlinks and environment variables and bash scripts under the hood. (Not even a single container in sight!)

        • By Aerbil313 2023-11-2412:16

          Not a bad idea if I could.

    • By jcrben 2023-11-2323:52

      You can pass a flag to the commands to hide them.

  • By kalekold 2023-11-2321:083 reply

    I use Ubuntu and i'm sick of having snaps forced on me. When I next install, i'm either completely ridding the system of snap or i use another distro. I'm fed up with it.

    The kicker is sometimes when you use apt to install a package, sometimes it installs a snap! It's madness!

    • By jstanley 2023-11-2321:171 reply

      I recommend Pop!_OS (despite the stupid name). It is basically Ubuntu without the annoying bits.

      • By mikeywazowski 2023-11-2321:223 reply

        Pop!_OS is good, but going from Ubuntu to Pop!_OS doesn't really help with the Snaps issue.

        • By fgonzag 2023-11-241:23

          Are you sure about that? AFAIK both mint and pop completely purge the base distro of snaps

        • By tehbeard 2023-11-2322:54

          Unless I purposely removed it and blanked the memory of it, Pop just deals in deb's and flatpak.

          Not that I'm entirely jazzed with flatpak.. Poor construction of the permissions can lead to shitty experience that doesn't happen with a deb.

        • By patch_cable 2023-11-2322:23

          Does it not? Pop!_OS uses Flatpak, I believe.

    • By MrDresden 2023-11-2322:411 reply

      What are the programs that you've had to install through snap?

      Or are you talking about the existence of snap on the system in general?

      Personally I have not a single snap packge installed, and am usually able to find sources for the programs I use elswhere than in the snap ecosystem.

      • By mhh__ 2023-11-2323:213 reply

        Firefox is a snap by default

        • By jeremija 2023-11-2422:02

          Oh don't let me get me started on this. I use Firefox on a work machine and I spent a number of hours troubleshooting why it couldn't access the Internet when I was connected on VPN.

          I suspected it had something to do with snapd, so I downloaded the .tar.gz release of Firefox and it worked. I kept investigating and figured it must have something to do with snap.firefox.firefox apparmor profile because the VPN client was symlinking the /etc/resolv.conf to /opt/.../resolv.conf

          However, updating the apparmor profile didn't help so I ultimately realized that snap has a hardcoded list of paths that get mounted into the app container [1] and there's no way to change this.

          There are a number of reasons to hate on snapd, but this almost made me flip the table.

          Also, as a bonus point, if you look at the apparmor profile I mentioned it has a ton of comments about chrome, so someone must've just copy pasted it and modified to work with Firefox. GrEaT SeCuRiTy!

          [1]: https://github.com/snapcore/snapd/blob/3a88dc38ca122eba97192...

        • By Nasreddin_Hodja 2023-11-245:53

          After Ubuntu moved Firefox to snap, I started using official tarballs for Firefox and Thunderbird.

        • By MrDresden 2023-11-247:38

          I just use the Firefox ESR PPA instead.

    • By reportgunner 2023-11-2411:34

      Just get debian with your favorite DE

  • By Tanoc 2023-11-2322:171 reply

    One of the experiences that formed my hatred of Snap was when trying to install Notepad++ while trying to find a worthwhile editor to migrate to. Running via WINE it was 20.6MB installed, and even WINE itself was 1.2GB, but that 1.2GB was shared by other programs. On one machine due to package conflicts preventing an appropriate Mono install and laziness in sorting my multitude of prefixes I couldn't get Notepad++ to run via WINE and had to install it via Snap. The Snap install of Notepad++ took up 1.3GB all by itself. On a 32GB drive.

    It hasn't gotten any better in the five years since for total Snap install sizes, because with the way they work they often install every single dependency siloed. Imagine if you had to install a new instance of DirectX12 for every game you had, or install a new instance of Python 3.12 every time you wanted to set up Tensorflow. Firefox when installed via apt is currently 63MB and its total size after being run and configured with things like session data and add-ons is 243MB. If I install via Snap its somewhere around 190MB in size and when actually run and configured jumps up to around 550MB for reasons I don't understand. And that's not even including the /var/ spam which actually managed to fill both the 32GB drive and a later replacement 80GB drive to the point where Linux had 0KB of free space. It happened so often I copied a shell script just to clean /var/ and edited it to run every twelve hours, like cleaning calcium buildup out of a fountain pump before it clogs.

    • By beretguy 2023-11-2417:01

      OpenTyrian game natively is something like maybe 7MB, but a Snap version is more than 1GB.

HackerNews