Hacker News new | ask | show | jobs
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.

1 comments

Fair enough. It is worth talking about how the Chimera Linux package manager works though.

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.

That's good to know, thanks.

> Replacing /etc/apk/world to any previous state will “roll back” the system to that point.

That's not quite what rollback means, though.

Say that a new version of a display driver crashes my display server. With NixOS I could reboot into a previous configuration and have a working system in no time. If I have to keep track of /etc/apk/world changes myself, and boot into recovery mode or chroot to fix this manually, it takes time, effort and frustration I'd rather not have to deal with.

Stateless /var is a good idea, but I'm not sure it would address this problem.

In any case, I'll definitely keep an eye on Chimera. We need more distros that are not derivatives, and try to do something different. Wishing the team the best of luck, and hoping the project succeeds!