[Nix-dev] Rolling back system generations

Marc Weber marco-oweber at gmx.de
Mon Feb 23 13:47:50 CET 2009


On Mon, Feb 23, 2009 at 10:47:48AM +0100, Lluís Batlle wrote:
> Hello,
> 
> What should I do, if I want to roll back to an older system
> generation? afaik, it's not only about changing the profiles/system
> link to point to another generation, but there are also files in /etc
> that should be rebuilt.
> 
> Maybe the best way is *booting* the older generation, and then roll
> back the profile (maybe using nix-env)? I understand that the boot
> process updates all files in /etc as needed for the chosen generation.
No, it doesn't update all. You can also have some manual files there.
Eg the ftp daemon configuration file (or /etc/passwd) have to be
configured manually or by tools. They won't be "rolled back"
However you're right that most files in /etc/ are controlled by nix.
Just use ls -l a bit to find the symlinks..

So using
/nix/var/nix/profiles/system-106-link/bin/switch-to-configuration boot
or such will rollback those nix controlled files in etc.

> but there are also files in /etc that should be rebuilt.
Do I understand you correctly that you'd like to switch back but keep
some more recent /etc configuration files?
I'm afraid there is no easy way to do this.

Eg in your ~/.nix-profile you can pick an older store path and install
that again instead of a newer one. I don't know about any similar way to
install an older "apache" service configuration file in a similar way.

Sincerly
Marc Weber



More information about the nix-dev mailing list