I’m talking about things like “python3-blabla” and “libsomething”. How bad would it be if nobody used these library-packages and everyone just added all kinds of libraries as part of an application’s package?

    • Sethayy@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      But you do get the simplicity, and following the real ‘free’ part of Foss you get the choice to do the fancy nerd magic if you want.

      But for most of us flatpaks are readily updated and easily installed, idfc about no gtk magicians spells.

      I think its a major step towards general linux acceptance

        • Sethayy@sh.itjust.works
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          1 year ago

          As a mid-power user I almost exclusively use them just because I want my software up to date. for example using discover I can update all my godot installs on all my devices to the latest features I’m seeing everyone rave about. (this is mainly for the maintainers but it trickles down)

          Looking back into when I first was dipping my toes in linux though things like missing libraries and other scary looking apt errors essentially meant I didn’t go further from there and accepted not installing the package. I could see this frustrating lots of users early and causing them to return to windows as I did for a bit.

          edit to add on: I still consider it very important to have the option to install it through a deb let’s say, but more alike how one can compile from source with a thousand flags if they choose - just as long as its a choice

            • carly™@lemm.ee
              link
              fedilink
              English
              arrow-up
              0
              ·
              1 year ago

              In my experience Arch is pretty unstable, though. I’ve never had an Arch installation that didnt break by the end of the month. Flatpaks allow me to use a stable base like Debian while having certain programs more up to date.

    • inZayda@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      i mean aren’t they more like distro independent package managers its not like its going to install a different library for every program unless they require specific versions, which ig could be true, but then youd have both installed anyways so ¯_(ツ)_/¯

      • I think it’s more accurate to say they will install different libraries for every package unless there’s a matching library already installed. I don’t think this is just semantics because, as you say, the former is what traditional distro managers do, whereas the latter is what Snap does. The Snap-based system will end up taking more space, with more different versions of the same library installed, than a traditional system over time. For that, you trade (arguably) fewer dependency-related issues, and more ability to concurrently run software with conflicting library versions. Regardless of the benefits, per the question OP posed, a Snap (or Flatpack) based distro will end up taking up more space.

        I haven’t run Gentoo in decade(s, almost), but IIRC you could configure it to build mostly statically-linked packages, which would pretty much net you OP’s hypothetical system. That would be even larger than a Snap-based system.

  • CondorWonder@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    I’m not sure how consistent it is but the static binaries I have for btrfs-progs are about 2x larger than their dynamic counterparts. If you statically compile it only the functions actually used are included in the binary, so it really depends on how much of the library is used.

    • BareMetalSkirt@lemmy.kya.moe
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Not at all, each package has a regular dependency tree like on any other distro. The difference is that each package can see a different subset of dependencies so you can have multiple versions of a library. What would be a version conflict on most distros here just means you have two different libsomething side by side. The /nix/store on my desktop is roughly the same size as my Gentoo /usr.

  • jasondj@ttrpg.network
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    How far you wanna go with this?

    Your shell itself is actually a docker container that just runs bash and mounts the root filesystem, and everything in /bin is just an alias to a dedicated minimal container?

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 year ago

    The norm for most Rust packages is to statically compile everything. That’s why every Rust application needs a rebuild and update every time a vulnerability is found in a package like RustTLS (which many projects don’t do). This allows a Rust program to run basically anywhere a modern enough version of the C library is installed, without any worries about dependencies, at the cost of disk space.

    You end up with binaries tens or hundreds of megabytes that are kilobytes in size for most C code. GUI and networked applications are especially fat, because they’re often full of frameworks and other projects.

    I would estimate the size difference as “10x the size of your /usr/bin, but without 99% of /usr/lib”. My /usr/bin is about 2.3GB in size, my /usr/lib is about 17GB. I wouldn’t be surprised if it would increase the footprint by a few gigabytes. In theory file system level de-duplication may help, but only if the offsets happen to line up.

    In theory you could test this on a distro like Gentoo: if you edit the build scripts right, you can get the entire OS to be compiled with static compilation.

  • amigan@lemmy.dynatron.me
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    Well, back in the days of static everything, some OSes had every system command be a hard link to the same binary (just switching on argv[0], like busybox) so they could still share library pages. This was a big deal when your workstation only had 8MB of core. But to answer your question, I’m sure we will find out in the next few years with all of the garbage containerization and packaging systems popping up.