this post was submitted on 03 Oct 2023
693 points (93.6% liked)

linuxmemes

21198 readers
144 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 29 points 1 year ago (3 children)

    From the context of this thread, I have no idea what a snap is

    and I'm conflicted on whether I should inquire

    [–] [email protected] 27 points 1 year ago* (last edited 1 year ago) (2 children)

    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.

    [–] [email protected] 8 points 1 year ago (2 children)

    What's the problem with static linking if all this is considered worth the pain?

    [–] [email protected] 5 points 1 year ago

    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.

    [–] [email protected] 0 points 1 year ago

    It's also a mechanism to sandbox applications, which static linking can't do.

    [–] [email protected] 18 points 1 year ago* (last edited 1 year ago)

    Snap is a universal packaging format (like flatpak) developed by Canonical (the company behind Ubuntu).

    [–] [email protected] 13 points 1 year ago* (last edited 1 year ago)

    Look up snap and flatpak, they're both based on a distro agnostic image/packaging model that allows developers to package for multiple distros rather than building native packaging for every single one. Both systems also solve the problem of two softwares requiring separate versions of the same dependency which is a fiddly problem at best for native packages.

    Personally I'm a fan of flatpak, snap is similar but wholly driven by Canonical and their business interests.

    Both have features that provide a solidly good reason to use them, there isn't a clear "better" system yet. I prefer Flatpak personally but snap still handles some cases (daemon software run by the system or as root) better than flatpak.