Made this on a whim, while commenting on that other recent Arch related post… the tamagochi one.

It’s been years since I actually used Arch. I hear much has changed (~ like it has an easy installer now?). Does it still itch to faceplant from time to time, needing rescue or abandon? Does Arch still faceplant itself?

How long have you managed to keep an arch going? How many times needing rescued back to being bootable in that duration?

[And would have posted this from that account, but that lemmy.wtf instance is tempramental, currently 504ing again. Glad I recently made this alt account so I can still post this and carry on with life.]

  • hirihit640@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    18 hours ago

    The “Frankenstein state” is why nowadays I avoid traditional distros, Arch included. Traditional distros use something that programmers call the “imperative model”. Basically, it means that you define tasks as a sequence of steps. But these steps have to account for infinitely many scenarios.

    Every new version of a package adds some files, deletes some files, and runs some commands. Imagine you left your PC off for a month and now you need to upgrade a package from version 1 to version 10. The system has to figure out which files from version 1 can be kept, which files need to be installed from version 2, which files from version 3, etc, and then how to combine the commands from each version. Maybe it messes up and forgets to clean up a file or two. This might not be an issue now but over time these inconsistencies accumulate and the system diverges so far from mainstream that it breaks.

    The modern atomic distros like Bazzite, use a model called the “declarative model”. Instead of defining sequences of steps, you define the end goal. The system ensures that the final state matches the goal. Every update, is equivalent to re-installing the system from scratch (with clever optimizations so you don’t actually need to re-download the whole system). Everything is consistent with the mainstream, and stays consistent, all the time. You can just turn on automatic updates and forget about it. No need to read news or release notes or PKGBUILD files. It is extremely robust and reliable.

    This declarative model is what major cloud infrastructure has been moving towards in the past 20 years. Docker, Terraform, Gitops, IaC, etc. This is why the modern distros like Bazzite like to call themselves “cloud native” distros. These distros follow the same update model as major cloud infra.