• hperrin@lemmy.ca
    link
    fedilink
    English
    arrow-up
    10
    ·
    14 days ago

    Run an update on a traditional system, and pull the power plug out when it’s half way through. If it recovers when you reboot it, you got pretty lucky.

    Now do the same with an immutable system like Bazzite. It will be running the pre-update image when you reboot it. No harm done. It’s essentially impossible for an update (or even a failed update) to brick the system. You can always roll back to the last working image.

    • ranzispa@mander.xyz
      link
      fedilink
      arrow-up
      2
      ·
      14 days ago

      I see, that is a really nice feature! No idea why this is not something already safely handled my normal package managers.

      • hperrin@lemmy.ca
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        14 days ago

        It’s cause of the way an immutable system works. In an immutable system, the entire system is an image. Two are stored on disk. One is active, and the other is usually the previous image. When you update, it overwrites the old image. The current image stays untouched. It’s only once the new image is completely written to disk that it’s marked as the current image.

        Package managers are working on the currently running system. They write over the only set of system files, and they can only do that one file at a time, so you can rely on the file system’s journal to make sure each file is correctly written, but there’s nothing preventing the system from being only half updated. If a package relies on a package that hasn’t been installed yet, and the update fails before it gets installed, that package is broken.

        In a system like Ubuntu or Fedora, that’s mostly ok, because packages are always built for the kernel and library versions available throughout the lifecycle of the release. So a half updated system is probably fine and will continue the update when rebooted. But for rolling releases like Arch, or for a release upgrade like Ubuntu 25.10 to Ubuntu 26.04, a failed update might mean a broken system.