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?
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?
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.
And “the updater” is what? A program running as [not root]? How does it have write access if nothing does?
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.
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?
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.
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?
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:
I get the feeling you’re deliberately trying not to understand.
Maybe read up on how it works yourself, since I don’t seem to get through to you.
The hell? I’m trying to confirm whether I understood correctly or not. You are definitely mistaken.
Never mind, I’ll find someone more polite.