Say a friend is looking for a new system, and said person is not particularly savvy with technology, what system would you point them toward?

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 6 months ago (1 child)

The updater downloads an updated copy of your root system and saves it next to the one you're running.
When you reboot the next time, the bootloader boots from that new system image.
Userspace applications are installed as flatpaks and sit in a writeable directory.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 6 months ago (1 child)

    And "the updater" is what? A program running as [not root]? How does it have write access if nothing does?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 6 months ago* (1 child)

    It's the package manager. And it doesn't have write access to your installed root either.
    It doesn't change anything on your installed file system at all, it installs a new system next to it.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 6 months ago (1 child)

    So it installs a whole new filesystem? Interesting. That feels like it sets limitations on how well you can take advantage of the full space of your hard drive.

    And this action can only be performed by the package manager running under some magical God user that sits above root? Or some other mechanism?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 6 months ago (1 child)

    It utilizes the copy-on-write functionality of the BTRFS file system.
    So it doesn't need double the disk space, it only actually writes the differences between your installed system and the new one.
    And it runs normally with sudo, not some special god user.
    You could do it manually, too.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 6 months ago (2 children)

    it runs normally with sudo

    So root still has write access to the system then, gotcha. Then it's not really immutable per se, the package manager just has a different way of writing to the filesystem that simulates immutability, I guess?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 6 months ago*

    So root still has write access to the system then

    No, not while the system is running. The base-layer of the OS is fully read-only.

    An update doesn't write to the existing system, it creates a new one that will be switched to on next reboot. So the current system is not actually changed, hence the term immutability. This has two benefits:

    • atomic updates: either the upgrade is successful and you switch over to the new system, or it isn't and you stay on the untouched current system. There's no way to end up in a broken OS because an upgrade went sideways.
    • rollback: the old version stays untouched on disk, so even if the upgrade was successful but something still turns out to be broken after you boot into it, you can just switch back to the old, known-working system
  • source
  • parent