Hello,

Chris Marusich <cmmarus...@gmail.com> skribis:

> l...@gnu.org (Ludovic Courtès) writes:

[...]

>> It’s not possible to obtain past grub.cfg files, but that’s not a
>> problem: we can always regenerate a new grub.cfg.
>
> I'm curious: is there a reason why /boot is not itself just another
> symlink?  It might be nice if instead of overwriting the grub.cfg file,
> we could just flip a symlink when rolling back.

/boot contains GRUB, and there’s nothing that runs before GRUB that
would allow us to choose among several GRUBs.

So we assume the latest GRUB always “works”, and we generate a grub.cfg
with a menu list all the older generations, which is rather convenient
from the UI viewpoint, I think.

>> I think having basic delete-generations, switch-generations, and
>> roll-back sub-commands would be definitely welcome.
>>
>> As a first step, switch-generations/roll-back commands could simply
>> update the symlinks and regenerate grub.cfg.
>>
>> Milestone #2 would be running the previous system’s activation script,
>> which installs /run/current-system and adjust the set of users and
>> groups.
>>
>> Milestone #3 would be live service downgrade, as you describe.
>>
>> Thoughts?
>
> I think breaking it down like that makes a lot of sense.  I'll give
> milestone #1 a shot: make switch-generations/roll-back commands that
> just update the symlinks and regenerate grub.cfg.

Awesome.  Thanks for starting this discussion!

Ludo’.

Reply via email to