Atomic means that updates are done in a snapshotted manner somehow. It usually means that if an update fails, your system is not in a half working state, but instead will be reverted to the last working state, and that updates are all or nothing.
I create a btrfs snapshot before updates on my Arch Linux system. This is atomic, but not immutable.*
There is also “image based” which distros like ublue (immutable, atomic) are, but Nixos (also immutable and atomic) are not.
*only really before big updates tbh, but I know people do configure snapshits before all updates.
Atomic in software refers to an operation that cant be interrupted because it happens in one step. This one of the big selling points of atomic or immutable distros. Your system will not be left in a broken state by cancelling an update because updates do not take multiple steps, unlike traditional distros.
Fedora has pushed for the change by rebranding their immutable distros as Fedora Atomic Desktops, and these are likely the most popular immutable distros. Bazzite’s homepage also describes the distro as atomic, but never mentions the term immutable.
Not all. Red Hat started this by naming their immutable distributions with “atomic” (but then not consistently…). Some people agreed, but not everyone.
How is atomic less confusing? Immutable means that something doesn’t change, atomic means that it’s the size of an atom or has nuclear energy
EDIT: I’ve learned that some people are overly pedantic about the meaning and practical use of the word “immutable”, so much so that they decided to create a bigger confusion by giving another word a completely different and exclusive meaning
Atomic in software refers to an operation that cannot be interrupted, like the updates in these distros. Immutable is a more confusing term, as it leads users to believe that cannot control parts of the system, when in reality these distros still have tools to do so.
Immutable does not mean “not changing”, but rather that you don’t have the rights to change. If you take the immutable option away, then its changing again, like when you update your system. People who have a problem with the term say, “see its not immutable, the term is a lie!”. Which I kind of agree, but somewhat conflicted.
Atomic is an attempt to create a new “meaning” with a word, that cannot be misunderstood. Its trying to avoid the situation of “Free” in example. But I don’t like the term Atomic either, because it just suggest to me that everything is split into many little parts and is not self explanatory like Immutable. I’m conflicted here too.
Settings live in user space. Software exist in containers like AppImage, Flatpak or Distrobox. If something need deep system integration, they can be layered on top of the system in the user layer. Immutable does NOT mean less control. Just exerting control over the system in a different, usually more systematic, automatic and deterministic way.
I thought we all agreed that “immutable” is a confusing term and that we should call it “atomic”
I disagree, because they are not the same thing.
Immutable means read only root.
Atomic means that updates are done in a snapshotted manner somehow. It usually means that if an update fails, your system is not in a half working state, but instead will be reverted to the last working state, and that updates are all or nothing.
I create a btrfs snapshot before updates on my Arch Linux system. This is atomic, but not immutable.*
There is also “image based” which distros like ublue (immutable, atomic) are, but Nixos (also immutable and atomic) are not.
*only really before big updates tbh, but I know people do configure snapshits before all updates.
What does atomic mean in this sense? That seems more confusing than immutable.
It means a change either applied completely and successfully, or not at all (think “atomic transactions” in databases).
Atomic in software refers to an operation that cant be interrupted because it happens in one step. This one of the big selling points of atomic or immutable distros. Your system will not be left in a broken state by cancelling an update because updates do not take multiple steps, unlike traditional distros.
How could you install anything or change any setting if it was truly immutable?
Immutable OS makes sense in certain scenarios, but not in home computing.
Who said that?
Fedora has pushed for the change by rebranding their immutable distros as Fedora Atomic Desktops, and these are likely the most popular immutable distros. Bazzite’s homepage also describes the distro as atomic, but never mentions the term immutable.
Red Hat
Not all. Red Hat started this by naming their immutable distributions with “atomic” (but then not consistently…). Some people agreed, but not everyone.
No? Why?
How is atomic less confusing? Immutable means that something doesn’t change, atomic means that it’s the size of an atom or has nuclear energy
EDIT: I’ve learned that some people are overly pedantic about the meaning and practical use of the word “immutable”, so much so that they decided to create a bigger confusion by giving another word a completely different and exclusive meaning
Atomic in software refers to an operation that cannot be interrupted, like the updates in these distros. Immutable is a more confusing term, as it leads users to believe that cannot control parts of the system, when in reality these distros still have tools to do so.
Immutable does not mean “not changing”, but rather that you don’t have the rights to change. If you take the immutable option away, then its changing again, like when you update your system. People who have a problem with the term say, “see its not immutable, the term is a lie!”. Which I kind of agree, but somewhat conflicted.
Atomic is an attempt to create a new “meaning” with a word, that cannot be misunderstood. Its trying to avoid the situation of “Free” in example. But I don’t like the term Atomic either, because it just suggest to me that everything is split into many little parts and is not self explanatory like Immutable. I’m conflicted here too.
I’m always conflicted.
How could you install anything or change any setting if it “doesn’t change” ?
Settings live in user space. Software exist in containers like AppImage, Flatpak or Distrobox. If something need deep system integration, they can be layered on top of the system in the user layer. Immutable does NOT mean less control. Just exerting control over the system in a different, usually more systematic, automatic and deterministic way.
Ah yes, the immutable OS, except for all of the various mutable parts.
We should totally not call it anything less confusing.