|
|
|
|
|
by imiric
509 days ago
|
|
I appreciate what the Chimera authors are trying to achieve, but I would never consider going back to a distro that doesn't support atomic upgrades and seamless rollbacks, ala NixOS, Guix, etc. Packaging issues and incompatibilities are inevitable and impossible to prevent. Giving users the peace of mind that their system can always be reverted to a known working state is priceless, and something all operating systems should have. Making the system configuration declarative, reproducible builds, etc., would also be a bonus, but I wouldn't consider those hard requirements. I realize snapshots are a feature of some filesystems, which partially addresses this, but I would rather have this feature at the OS level. |
|
There is a file, /etc/apk/world that lists all the packages you have explicitly installed. When you add and remove packages, all it really does is change this list. Then it runs the solver and installs the package versions and dependencies required. You could move /etc/apk/world to another system and it would result in exactly the same set of packages between the two.
Replacing /etc/apk/world to any previous state will “roll back” the system to that point.
The package manger is transactional and apk commands either entirely succeed or fail. When I was testing Chimera in a VM, I ran out of drive space during an install of dozens of packages. The system was left in the same state as it was in before I ran apk.
Cports itself is very declarative. Also, unlike most distros (including Arch) there is no separate install and update step. Other than the kernel, and maybe a couple others, nothing runs after the package install.
Finally, Chimera Linux is aiming for stateless /var and /etc.
Chimera Linux may be closer to what you want than you expect.