• Lettuce eat lettuce@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    3 months ago

    Flatpak is a universal application packaging standard for Linux. It allows devs to create a single application that gets bundled with all necessary dependencies including versioning.

    These apps run in their own semi-isolated “container” which makes immutable distros possible. (Distros like Fedora Silverblue that are effectively impossible to break by installing or removing critical system files.)

    This means that a Linux app doesn’t have to have a .deb version, an .rpm version, or be pre-compiled for any other distros. A user can simply go to Flathub, (the main repository for Flatpak apps), download the flatpak, and install it on their distro of choice.

    It’s quickly becoming the most popular way for users to install apps on Linux because it’s so easy and quick. But there are a few downsides like size on disk, first party verification, per-distro optimizations, and the centralization of application sources. That’s why some users aren’t fully endorsing or embracing how popular they are becoming.

    • JRaccoon@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      3 months ago

      Cool, thanks for the explanation.

      a single application that gets bundled with all necessary dependencies including versioning

      Does that mean that if I were to install Application A and Application B that both have dependency to package C version 1.2.3 I then would have package C (and all of its possible sub dependencies) twice on my disk? I don’t know how much external dependencies applications on Linux usually have but doesn’t that have the potential to waste huge amounts of disk space?

      • Lettuce eat lettuce@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        Essentially yes, if you start using lots if older applications or mixing applications that use many different dependency versions, you will start to use lots of extra disk space because the different apps have to use their own separate dependency trees and so forth.

        This doesn’t mean it will be like 2x-3x the size as traditional packages, but from what I’ve seen, it could definitely be 10-20% larger on disk. Not a huge deal for most people, but if you have limited disk space for one reason or another, it could be a problem.

        • brachypelmasmithi@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          3 months ago

          It CAN get pretty wild sometimes, though. For example, Flameshot (screenshotting utility) is only ~560KB as a system package, while its flatpak version is ~1.4GB (almost 2.5k times as big)

          • j0rge@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            3 months ago

            Flameshot is 3.6MB on disk according to flatpak info org.flameshot.Flameshot

            • brachypelmasmithi@lemm.ee
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              3 months ago

              Weird, the software manager (using LM 21.3) reports 1.1GB dl, 2.4GB installed (which is different from when i checked yesterday for some reason?). flatpak install reports around 2.1GB of dependencies and the package itself at just 1.3MB

              EDIT: nvm im stupid, the other reply explains the discrepancy