this post was submitted on 03 Oct 2023
696 points (93.6% liked)
linuxmemes
24292 readers
498 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
3. Post Linux-related content
sudo
in Windows.4. No recent reposts
5. π¬π§ Language/ΡΠ·ΡΠΊ/Sprache
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Say you have a web browser, and to play videos it needs some codecs and a player, and to display pages it needs fonts, and to ... on and on.
Before Snaps, when you installed the browser it would install the programs it needed at the same time, because the developer designed it to do so.
With Snaps, the program, and everything it needs, and everything they need, and they need, on down the chain all gets zipped together.
The good is that dependency management is easy, everything is in one place. The bad is that they're slow to launch because of how everything is stored, and you now end up with many copies of the dependencies, and their dependencies, on your hard drive instead of 1.
The above is just representative, but those who prefer optimized systems do not like snaps. Those who like things tidy with easy dependencies are wrong. I mean, they like snaps.
What's the problem with static linking if all this is considered worth the pain?
Nothing in particular other than needing to update your builds when any single dependency has an important fix and still needing to build and maintain packaging for every single distro you support. For small applications shipping a static binary should be fine, but when you're talking about something like Chrome or Firefox that's a whole lot of overhead.
It's also a mechanism to sandbox applications, which static linking can't do.
Please correct me if I'm off base (I don't use snaps), but this is only true for in-memory mounted snaps, not for first-run or expired. Meaning you sacrifice RAM for speedy repeat starts.
I don't know how does Snap handles its loops (which I believe mounting is or was the slow part), but Linux always caches as much as possible in the unused memory.