I read it is better than flatpak/appimage/snap.

"Adapting Snap on deepin: Since Snap has many compatibility issues except for Ubuntu, we gave up.

  • Converting some of our homegrown apps to AppImage: AppImage has good portability, and these apps can easily be used on other distributions. However, it doesn’t have centralized repository storage and package management, and doesn’t provide the same level of sandboxing as Snap and Flatpak, so its security can’t be guaranteed, and it’s not suitable to be used as the default package management method for the operating system.
  • In 2017, deepin followed up the Flatpak format and completed the construction of 100+ packages, but did not continue to adapt due to the large size of the application, excessive disk
    occupation, slow bug fixing and other reasons. "

Did someone consider it as better alternative for these package formats or is this just “15 standard” for package formats because deepin wanted to make something.

Are there any distros which use it apart from deepin and which is packaged in this format, because I want to drop flatpak because it takes too much space on my system.

  • moonpiedumplings@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    3 days ago

    Maybe. But they, and many others overestimate the amount of size flatpaks take up.

    Flatpaks use a “runtime”, a shared set of libraries and programs flatpak apps use. With one flatpak app, there is just one runtime. But with 2, 3, 10 flatpak apps, there are still only going to be 1 (to 3) runtimes on the system. This is not the same for something like appimage.

    In the blog, they compare the size of deepin calculator across formats. But this is not a fair comparison. A more fair comparison would involve comparing the app size without the runtime, or comparing many apps installed.

    In addition to this, if you are on btrfs, further deduplication and compression is done. This (and symlinks) won’t show up in many disk and space usage analysis tools. To get a more accurate measure, use compsize instead of traditional tools. It will show you how much transparent compression (when btrfs compresses files but you can stilll access them normally), symlimks and the like are saving space.

    Anyway, I am interested in more cross distro package managers though. Flatpak, docker, and nix cover a lot of things but have their annoying edge cases and paper cuts, especially in comparison to snap in some ways for some apps.

    Edit: linglong appears to reuse system libraries, which would probably lead to significanr space savings at the cost of portability across distros

    • mecen@lemmy.caOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      3 days ago

      1 runtime is ≈1gb

      24.08 1gb

      2xQt 250 mb

      2xGNOME 250 mb

      25.08 1 gb

      2xQt 250 mb

      2xGNOME 250

      It gets big fast.

      If you have one app with outdated runtime it is additional 1 gb for just runtime. If you rely mostly on system packages most packages you install from flatpak will have additional weight of 1 gb runtime. So you can get app which weights 4mb with runtime which weight 250 more than app itself.

      And other flatpak repos use other runtimes for example fedora.

      Appimages weight much less but lack sandboxing.

      I hadn’t tried nix but it also lacks sandboxing.

      • moonpiedumplings@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        Were these numbers generated using compsize or a similar tool that asseses deduplication, symlinks, and compression properly?

        I get much different numbers than I use one or the other.

        gdu:

        gdu ~ Use arrow keys to navigate, press ? for help
         --- /var/lib/flatpak ---
            2.6 GiB ████████  ▏/runtime
          471.7 MiB █▍        ▏/app
          114.4 MiB ▎         ▏/repo
            9.1 MiB           ▏/appstream
          164.0 KiB           ▏/exports
                0 B           ▏.changed
        

        compsize:

        [moonpie@nefertem flatpak]$ sudo compsize -x /var/lib/flatpak
        Processed 73225 files, 31115 regular extents (70649 refs), 35977 inline.
        Type       Perc     Disk Usage   Uncompressed Referenced
        TOTAL       64%      1.9G         2.9G         6.4G
        none       100%      1.3G         1.3G         2.6G
        zstd        35%      596M         1.6G         3.8G
        

        Only 2 gb’s are actually being used, even though some tools might be reporting 6.4 gb.

        And this is with these runtimes installed:

        Name                                               Application ID                                     Version                               Branch                  Installation
        Freedesktop Platform                               org.freedesktop.Platform                           freedesktop-sdk-23.08.34              23.08                   system
        Mesa                                               org.freedesktop.Platform.GL.default                25.0.7                                23.08                   system
        Mesa (Extra)                                       org.freedesktop.Platform.GL.default                25.0.7                                23.08-extra             system
        Mesa                                               org.freedesktop.Platform.GL.default                26.0.5                                25.08                   system
        Mesa (Extra)                                       org.freedesktop.Platform.GL.default                26.0.5                                25.08-extra             system
        Codecs Extra Extension                             org.freedesktop.Platform.codecs-extra                                                    25.08-extra             system
        GNOME Application Platform version 49              org.gnome.Platform                                                                       49                      system
        Breeze GTK theme                                   org.gtk.Gtk3theme.Breeze                           6.6.5                                 3.22                    system
        

        So you can get app which weights 4mb with runtime which weight 250 more than app itself.

        Except for the fact that the runtime is reused across apps, meaning that another app which uses up that runtime won’t be taking up any extra space.

        Appimages weight much less but lack sandboxing.

        You can sandbox them with something like firejail or bubblewrap.

        I hadn’t tried nix but it also lacks sandboxing.

        Similar, you can sandbox with bubblewrap. But you gotta write nix code to do it because ofc:

        https://github.com/fgaz/nix-bubblewrap , https://github.com/nixpak/nixpak , https://sr.ht/~alexdavid/jail.nix/

        I’ve tried to use them before though, definitely not as easy as flatpak’s flatseal sandboxing in comparison. Also, nix apps on non nix distros aren’t GPU accelerated.