• bdonvr@thelemmy.club
      link
      fedilink
      arrow-up
      25
      ·
      14 hours ago

      The system files aren’t writable, instead you download a new system image when you want to update. No dependency hell or weird issues because these system images are all tested. Your system also keeps one or two old ones around and if by some chance something does go wrong you just select the old one at boot.

      Downside is you’re more limited on installing software. You can force install things the traditional way but that kinda defeats the point. Instead you have to use things like FlatPak or AppImages which covers most GUI apps you could want. For command line apps you will have to use something like DistroBox.

      It’s a trade off but for casual desktop users it is super stable and pretty simple. Updates come out daily (depending on distro) and they just get all their software from the software center app with a nice GUI.

      • Botzo@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        14 hours ago

        You can do gui apps too! I used distrobox to run WebEx on an Ubuntu image for an interview. Just had to get to the actual binary to launch and it worked seamlessly.

        • Jess@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          8 hours ago

          I have to ask, do you use X11 or Wayland? I’m struggling to get Webex working for calls (video or otherwise) under Wayland.

          • Botzo@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            3 hours ago

            IIRC that was X11. It has admittedly been a minute. And by a minute, I mean a year.

      • horrorslice
        link
        fedilink
        English
        arrow-up
        3
        ·
        13 hours ago

        That’s super neat. I’ll get around to checking it out at some point.

    • Cyborganism@lemmy.ca
      link
      fedilink
      arrow-up
      8
      ·
      14 hours ago

      (correct me if I’m wrong, I’m also new at this)

      There are two partitions. One with the current system, one with the previous system. Updates are applied in a whole batch at once, once in a while.

      Current system is cloned into the old one and an update is applied to the clone.

      Once the update is complete, system reboots in the clone, and what was the current system becomes the previous one.

      If something goes bad, you can reboot into the previous system and fix the clone.

      • chirping@infosec.pub
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        that is one way to do it, and it’s a very common one - it’s robust and simple. So I can’t correct you, but thought I would add to it. In NixOS, they’ve improved it by making sure all your apps are symlinked, and when updating, these symlinks are updated. That way you can start using your newly updated system straight away, without a reboot. When rebooting, you are prompted to which generation you want to boot into, (defaulting to “latest” after a few seconds of no input) making rollbacks a breeze.

        • ProjectPatatoe@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 hours ago

          I believe this is how android has been for as long as i have used it. At least A6 or A7. Could be earlier but I haven’t used those enough

        • Cyborganism@lemmy.ca
          link
          fedilink
          arrow-up
          2
          ·
          11 hours ago

          Yes, it uses an immutable atomic distro. I don’t know about Android phones, but I wouldn’t be surprised.

    • Samsy@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      14 hours ago

      The atomic distro would do a backup and if update goes wrong, it automatically boots back into the previous one.