How do you guys get software that is not in your distribution’s repositories?

  • BF2040@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    3 months ago

    I understand appimages. I use them exclusively. Can someone explain what flatpak and SNAP are and how they work? I have autism so please be as clear and concise as possible?

    • Darorad@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      3 months ago

      The easiest way to think of it is flatpaks are AppImages with a repository and snaps are flatpaks but bad.

      That has benefits and detriments. Appimages contain everything they need to run, flatpak’s mostly do, but can also use runtimes that are shared between flatpaks.

      All flatpaks are sandboxed, which tends to make them more secure. AppImages can be sandboxed, but many aren’t.

      Flatpaks tend to integrate with the host system better, you can (kinda) theme them, their updates are handled via the flatpak repo, and they register apps with the system.

      AppImages are infinitely more portable. Everything’s in one file, so you can pretty much just copy that to any system and you have the app.

      • BF2040@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        That was a fantastic explination, but you forgot to explain SNAP. Oh snap, you forgot SNAP. Intrusive though won. So what is SNAP, how does it work, and why is it bad?

        • Darorad@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          3 months ago

          Yeah, sorry couldn’t resist.

          snaps are very similar to flatpaks and, honestly, is technically better in a lot of ways.

          Snap can be used for basically an entire system, while flatpak is limited to graphical apps. (Ubuntu core is built basically entirely off snaps.)

          Snap is controlled by canonical, and the backend for the snap repo is entirely closed source. I’ve heard snaps are also easier for developers to work with, but I haven’t experienced that side of them.

          Snaps automatically update by default where flatpaks don’t.

          Snaps also get treated as loopback devices when they’re installed, which bloats a lot of utilities. (And they keep a few old versions around which makes it even worse). For example, you could run lsblk and if you’re using snaps like 90% of it will be snaps you’ve installed instead of actual devices.

          Flatpaks are also noticeably faster to start up, which for desktop apps matters, but wouldn’t really matter for a server that’s aiming for a lot of uptime.

          The loopback device issue is the main reason I don’t use snaps. I also like flatpak being completely open, but realistically that doesn’t matter for much. There used to be an open snap store, but that shut down because nobody used it.

          • BF2040@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            3 months ago

            I tried to install Ubuntu and it kept uninstalling Command Center every reboot. Not a fan of SNAPs. Or Canonical. But thanks for the explination.

            • Darorad@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              3 months ago

              Yeah, imo the problems solved by using snaps for core system stuff are better solved with immutable distros, and I see very little reason to use snaps for anything else.