有没有办法在不重新启动后恢复到以前的(或至少是“当前”)配置nixos-rebuild test
?
根据nixos-rebuild
手册:
test
Build and activate the new configuration, but do not
add it to the GRUB boot menu. Thus, if you reboot
the system (or if it crashes), you will
automatically revert to the default configuration
(i.e. the configuration resulting from the last call
to nixos-rebuild switch or nixos-rebuild boot).
显然,重新启动应该让我回到正常工作的系统,但似乎没有必要。
该--rollback
选项看起来很有希望:
--rollback
Instead of building a new configuration as specified
by /etc/nixos/configuration.nix, roll back to the
previous configuration. (The previous configuration
is defined as the one before the “current”
generation of the Nix profile /nix/var/nix/profiles/
system.)
除了我想激活“当前”一代,而不是老一代。
例如。第 18 代是“当前”的一代,稍微过时但可以接受。第 17 代更老。我使用nixos-rebuild test --upgrade
了哪个破坏了 Chrome,所以我想在不重新启动的情况下恢复到 18。(直到我可以解决升级问题。)
更新:我试过nixos-rebuild test --rollback
了,但文档是准确的:它恢复到 17 而不是 18。
来源:https ://github.com/NixOS/nixpkgs/issues/24374
通过阅读源代码,我发现这个解决方案似乎很有效,但感觉真的很hacky:
有没有更清洁的方法?