
Is The Hate For Snap Packages Warranted? DistroTube
video description
Date: 2022-03-30
Related videos
Comments and reviews: 10
Tony
I don't use snaps period. I'd ditch Linux if necessary (which it isn't). Some thoughts and reasons for this:
- My main issue with snaps and possibly with flatpaks is that they are being pushed as a replacement for existing package formats rather than a more convenient means of packaging unbundled software. If the existing packages in the repos were still going to be packaged as native packages then ok. But the rot has started to set in, Chromium and now Firefox. Choice is being removed, and the wrong choice at that.
- Snaps are specific to Canonical, the server isn't open source. Flatpaks are open and you can set up your own repo. This is important for systems that don't have direct connectivity to the Internet and require locally hosted repos for updates. Also there is a lot of power in one company potentially. Remember Linux's main use is in the server realm, it's desktop utilization is minimal and in the server realm you're more likely to have systems not directly connected to the Internet for security reasons. But the point is at least with flatpaks you can replicate repos if you so wish.
- Snaps vomit all over your system, yup loopback devices, directories in fixed top level locations etc.
- Security. Since each package is isolated there's no incentive to update dependent libraries as this is not forced on you by the distro maintainers, you can package any old rubbish. With native packages like deb and rpm, the distro maintainers will regularly ship security updates and they get fixed in one place for the entire system. If your software breaks then you have to fix it to keep up to date and hopefully more secure.
- Snaps could ship any old rubbish. So can debs and rpms but at least they are trying to address this with secure build from source initiatives. Ok the same could be done for snap but is it?
- They tend to be slow, don't follow local themes, don't generally integrate well.
- The only snap I used, when I installed it on another system I got a different version that broke. I couldn't downgrade that to the previous version and in the end I just removed the mess and did without.
- Wasted space due to masses of duplication of libraries in each snap package. We have shared libraries for a reason. And yes space on disk and update times matter. I have better things to do with my disk space and Internet connection. File duplication technology is said to address this issue, but it's yet to be fully implemented.
- Forced updates. Yes you should regularly update but the precise time you do this should be up to you and not forced upon you.
- If you need to have software that is difficult to install due to dependencies (like bleeding edge stuff on an LTS distro or something with many bespoke and crazy dependencies) then fair enough flatpaks or appimages may well be a better approach. But personally why not just use a docker container? Why do we need yet another container technology?
- Native packages are just better. The answer to part of the problem is to choose a standard package format like say deb or rpm etc. The second is to cut down on the silly distro fragmentation. That's what really needs to be done. A lot of distros are really base distros with a few extra packages added on top or instead of some others.
And no I'm not a hater for the sake of it. This is just a bad idea. When systemd came along, I thought oh no and stayed well clear until it matured. Now I'd yes on the whole it's a much needed improvement in my experience. But snaps nope. Flatpaks I have less of an issue with and they don't seem to be driving for a replacement on native packages, which is good to see.
Oh one last point is good luck trying to use appimages or snaps inside a Linux container. You don't have access to loopback devices inside Linux containers unless you make it completely unprotected. At least with appimages you can unpack them and use them like regular software.
reply
I don't use snaps period. I'd ditch Linux if necessary (which it isn't). Some thoughts and reasons for this:
- My main issue with snaps and possibly with flatpaks is that they are being pushed as a replacement for existing package formats rather than a more convenient means of packaging unbundled software. If the existing packages in the repos were still going to be packaged as native packages then ok. But the rot has started to set in, Chromium and now Firefox. Choice is being removed, and the wrong choice at that.
- Snaps are specific to Canonical, the server isn't open source. Flatpaks are open and you can set up your own repo. This is important for systems that don't have direct connectivity to the Internet and require locally hosted repos for updates. Also there is a lot of power in one company potentially. Remember Linux's main use is in the server realm, it's desktop utilization is minimal and in the server realm you're more likely to have systems not directly connected to the Internet for security reasons. But the point is at least with flatpaks you can replicate repos if you so wish.
- Snaps vomit all over your system, yup loopback devices, directories in fixed top level locations etc.
- Security. Since each package is isolated there's no incentive to update dependent libraries as this is not forced on you by the distro maintainers, you can package any old rubbish. With native packages like deb and rpm, the distro maintainers will regularly ship security updates and they get fixed in one place for the entire system. If your software breaks then you have to fix it to keep up to date and hopefully more secure.
- Snaps could ship any old rubbish. So can debs and rpms but at least they are trying to address this with secure build from source initiatives. Ok the same could be done for snap but is it?
- They tend to be slow, don't follow local themes, don't generally integrate well.
- The only snap I used, when I installed it on another system I got a different version that broke. I couldn't downgrade that to the previous version and in the end I just removed the mess and did without.
- Wasted space due to masses of duplication of libraries in each snap package. We have shared libraries for a reason. And yes space on disk and update times matter. I have better things to do with my disk space and Internet connection. File duplication technology is said to address this issue, but it's yet to be fully implemented.
- Forced updates. Yes you should regularly update but the precise time you do this should be up to you and not forced upon you.
- If you need to have software that is difficult to install due to dependencies (like bleeding edge stuff on an LTS distro or something with many bespoke and crazy dependencies) then fair enough flatpaks or appimages may well be a better approach. But personally why not just use a docker container? Why do we need yet another container technology?
- Native packages are just better. The answer to part of the problem is to choose a standard package format like say deb or rpm etc. The second is to cut down on the silly distro fragmentation. That's what really needs to be done. A lot of distros are really base distros with a few extra packages added on top or instead of some others.
And no I'm not a hater for the sake of it. This is just a bad idea. When systemd came along, I thought oh no and stayed well clear until it matured. Now I'd yes on the whole it's a much needed improvement in my experience. But snaps nope. Flatpaks I have less of an issue with and they don't seem to be driving for a replacement on native packages, which is good to see.
Oh one last point is good luck trying to use appimages or snaps inside a Linux container. You don't have access to loopback devices inside Linux containers unless you make it completely unprotected. At least with appimages you can unpack them and use them like regular software.
reply
Peter
Being newer to Linux, I've used Snaps and Flatpacks not realising there's an Official Repo version. Sometimes I install them buy mistake because it's got a pretty picture LOL.
However , I was noticing my home directory was getting scattered with garbage. More investigation revealed some programs like to scatter their crap there. Uninstalling and re-installing in a better location fixed most - not Snaps though. They're determined to keep their crap in plain view. I even tried a few of the recommended solutions to hide it but didn't seem to work for me. In the end I just uninstalled them and searched for an alternative.
Part of the reason I don't want my home directory to have crap in there is I've got enough of my own LOL. But I still need to sync the Home directory to a server and another laptop (with windows), so I don't want anything to do with a Linux system in there (if I can help it) as it's a pointless directory in Windows. Vice versa with Windows only stuff. The only thing I can't really get away is with the desktop folder, so I leave the windows desktop stuff in the default windows location and create a windows and linux folder within the Desktop folder.
These days, I try to avoid Snaps if possible in favour of a Flatpak or Official repo version.
reply
Being newer to Linux, I've used Snaps and Flatpacks not realising there's an Official Repo version. Sometimes I install them buy mistake because it's got a pretty picture LOL.
However , I was noticing my home directory was getting scattered with garbage. More investigation revealed some programs like to scatter their crap there. Uninstalling and re-installing in a better location fixed most - not Snaps though. They're determined to keep their crap in plain view. I even tried a few of the recommended solutions to hide it but didn't seem to work for me. In the end I just uninstalled them and searched for an alternative.
Part of the reason I don't want my home directory to have crap in there is I've got enough of my own LOL. But I still need to sync the Home directory to a server and another laptop (with windows), so I don't want anything to do with a Linux system in there (if I can help it) as it's a pointless directory in Windows. Vice versa with Windows only stuff. The only thing I can't really get away is with the desktop folder, so I leave the windows desktop stuff in the default windows location and create a windows and linux folder within the Desktop folder.
These days, I try to avoid Snaps if possible in favour of a Flatpak or Official repo version.
reply
crazymonkeyVII
DT Are you done gaslighting now? Sure vanilla lsblk (and mount) commands become messy, but that's the least of our problems! Re-opening a snap package to show that it's not slow? That's downright disingenuous! Snaps are mainly slow on first open after boot (because all that mess including a lot of bloat needs to be mounted). Which is a big deal for people that restart their machines often (for example old-laptop users). The problem is much worse on Ubuntu because they use snaps for the base system now. That's why Ubuntu loads like a pig on hardware where Mint and Arch fly! Do a simple -systemd-analyze blame- on your Ubuntu machine and you'll see! That's apart from the bloat that comes from having all these redundant libraries installed, and the fact that proper package maintenance is being discouraged now by distro's pushing snap and flatpak. Snaps are unnecessarily resource intensive, big, slow AND the snap store is proprietary. If we liked that we could just stay on Windhoze! Snap is the absolute CANCER of Linux.
reply
DT Are you done gaslighting now? Sure vanilla lsblk (and mount) commands become messy, but that's the least of our problems! Re-opening a snap package to show that it's not slow? That's downright disingenuous! Snaps are mainly slow on first open after boot (because all that mess including a lot of bloat needs to be mounted). Which is a big deal for people that restart their machines often (for example old-laptop users). The problem is much worse on Ubuntu because they use snaps for the base system now. That's why Ubuntu loads like a pig on hardware where Mint and Arch fly! Do a simple -systemd-analyze blame- on your Ubuntu machine and you'll see! That's apart from the bloat that comes from having all these redundant libraries installed, and the fact that proper package maintenance is being discouraged now by distro's pushing snap and flatpak. Snaps are unnecessarily resource intensive, big, slow AND the snap store is proprietary. If we liked that we could just stay on Windhoze! Snap is the absolute CANCER of Linux.
reply
-:/
One of the pains in the neck for a beginner is the resulting confusion from Snaps, AppImage and FlatPaks. For a beginner it's another cause for confusion and (apparantly) competing solutions for performing the same role.
The Linux beginner experience NEVER improves when things get more confusing; they get demotivated, get distracted with easier alternatives, ultimately many quit. And for anyone who helps a family member maintain their computer (not to be confused with someone skilled enough to do everything in the terminal!) this stuff shipping with new releases has been another cause for confusion because to a confused beginner asking what the advantage is for them, there is no advantage. That again demotivates them. Microsoft and Apple must love seeing this shit.
There needs to be a very, very good reason to make the new user experience more confusing and this is something that technically skilled developers of distros that have a substantial fraction of new Linux users in their userbase could do a lot to improve on.
reply
One of the pains in the neck for a beginner is the resulting confusion from Snaps, AppImage and FlatPaks. For a beginner it's another cause for confusion and (apparantly) competing solutions for performing the same role.
The Linux beginner experience NEVER improves when things get more confusing; they get demotivated, get distracted with easier alternatives, ultimately many quit. And for anyone who helps a family member maintain their computer (not to be confused with someone skilled enough to do everything in the terminal!) this stuff shipping with new releases has been another cause for confusion because to a confused beginner asking what the advantage is for them, there is no advantage. That again demotivates them. Microsoft and Apple must love seeing this shit.
There needs to be a very, very good reason to make the new user experience more confusing and this is something that technically skilled developers of distros that have a substantial fraction of new Linux users in their userbase could do a lot to improve on.
reply
Bunstonious
I agree with most of those criticisms of the hate, minus the one about speed. I actually think it was kind of condescending to say that -oh well most of them probably haven't used snaps-, I have used snaps and I found them slower than the alternatives so I try to avoid them where possible, doesn't mean that I won't use them but just that i'd prefer native if possible. That being said, the only time I have really used snaps have been Ubuntu (and since Canonical make the system, that should be the best implementation) so maybe that's why it was slow, regardless that's what drove me away from Ubuntu. I very much agree with the open source issue, I wish it wasn't closed, but such is life.
reply
I agree with most of those criticisms of the hate, minus the one about speed. I actually think it was kind of condescending to say that -oh well most of them probably haven't used snaps-, I have used snaps and I found them slower than the alternatives so I try to avoid them where possible, doesn't mean that I won't use them but just that i'd prefer native if possible. That being said, the only time I have really used snaps have been Ubuntu (and since Canonical make the system, that should be the best implementation) so maybe that's why it was slow, regardless that's what drove me away from Ubuntu. I very much agree with the open source issue, I wish it wasn't closed, but such is life.
reply
FeedScrn
Good video... And I agree DT. It's not a big deal in the scope of things. There's a lot of things in Linux that I'm finding are more important that need fixing at the moment.
- I once installed a snap package - a couple of years ago, and snap mkdir'ed like 4-5 new directories in MY ROOT Directory.... I was like... What?? This has since been fixed though. Not a problem any longer.
- What needs fixing? xRDP for some reason has no audio built in. From what I'm reading, they made a bolt-on / add-on for xRDP... but right now, audio is not part of the native pkg. Audio should have just worked, like the mouse and video does.
reply
Good video... And I agree DT. It's not a big deal in the scope of things. There's a lot of things in Linux that I'm finding are more important that need fixing at the moment.
- I once installed a snap package - a couple of years ago, and snap mkdir'ed like 4-5 new directories in MY ROOT Directory.... I was like... What?? This has since been fixed though. Not a problem any longer.
- What needs fixing? xRDP for some reason has no audio built in. From what I'm reading, they made a bolt-on / add-on for xRDP... but right now, audio is not part of the native pkg. Audio should have just worked, like the mouse and video does.
reply
Scott
It's a security hazard. In Ubuntu, for instance, the Obsidian snap can't access any NTFS drives than the drive it's already on; setting permissions in the software store, or using snap connect obsidian:removal-drives does nothing but indicates the right info; this is the correct way to solve the problem in Windows, for instance. It's clear this is a problem with many snap programs, not just Obsidian. There's been no effort to fix this. The solution is, of course -I don't know, you should just give xxx root permissions, bug closed.- No.
reply
It's a security hazard. In Ubuntu, for instance, the Obsidian snap can't access any NTFS drives than the drive it's already on; setting permissions in the software store, or using snap connect obsidian:removal-drives does nothing but indicates the right info; this is the correct way to solve the problem in Windows, for instance. It's clear this is a problem with many snap programs, not just Obsidian. There's been no effort to fix this. The solution is, of course -I don't know, you should just give xxx root permissions, bug closed.- No.
reply
Riseabove
Hate me all you want! I hate Snaps. I run the lsblk command a lot more than you think. But that doesn't bother me since I can exclude. My issue with Snaps is how slow they open. Makes a fast computer run like it's 1987. Linux is supposed to be fast but -IF- Snaps become the future of Linux I will definitely go back to Windows full time just over that alone. Yes, Snaps are trash and I have tried it. So again, hate me all you want, I don't care. Not all of us have a Threadripper as a computer.
reply
Hate me all you want! I hate Snaps. I run the lsblk command a lot more than you think. But that doesn't bother me since I can exclude. My issue with Snaps is how slow they open. Makes a fast computer run like it's 1987. Linux is supposed to be fast but -IF- Snaps become the future of Linux I will definitely go back to Windows full time just over that alone. Yes, Snaps are trash and I have tried it. So again, hate me all you want, I don't care. Not all of us have a Threadripper as a computer.
reply
UpolPi
Snap is a lifesaver for software that needs some weird environment. You can create a Snap in minutes with very little prior experience. Snap is the best packaging to introduce someone to self-hosting, since it's preconfigured, auto-updating and can be installed in a single command. Though it can be very slow on older hardware, too isolated for something like Firefox, very terrible at theming, and forced onto the user by default. Snaps are great for developers, yet controversial for users.
reply
Snap is a lifesaver for software that needs some weird environment. You can create a Snap in minutes with very little prior experience. Snap is the best packaging to introduce someone to self-hosting, since it's preconfigured, auto-updating and can be installed in a single command. Though it can be very slow on older hardware, too isolated for something like Firefox, very terrible at theming, and forced onto the user by default. Snaps are great for developers, yet controversial for users.
reply
Gordon
You are right. I only used snap on ubuntu machines and the fact that it forces you to install snap packege instead of native is a bummer for what i have to use. Becauae most of my workflow requires my binares to be on /usr/bin and i have to create symbolic links for that if snap used. Nowadays i use mint which doesn't have snap and am very happy.
reply
You are right. I only used snap on ubuntu machines and the fact that it forces you to install snap packege instead of native is a bummer for what i have to use. Becauae most of my workflow requires my binares to be on /usr/bin and i have to create symbolic links for that if snap used. Nowadays i use mint which doesn't have snap and am very happy.
reply
Add a review, comment















