2014-08-24 18:18:18 +01:00
|
|
|
|
<section xmlns="http://docbook.org/ns/docbook"
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
|
|
|
version="5.0"
|
|
|
|
|
xml:id="sec-rollback">
|
2018-05-02 00:57:09 +01:00
|
|
|
|
<title>Rolling Back Configuration Changes</title>
|
|
|
|
|
|
|
|
|
|
<para>
|
2019-09-19 18:17:30 +01:00
|
|
|
|
After running <command>nixos-rebuild</command> to switch to a new
|
|
|
|
|
configuration, you may find that the new configuration doesn’t work very
|
|
|
|
|
well. In that case, there are several ways to return to a previous
|
|
|
|
|
configuration.
|
2018-05-02 00:57:09 +01:00
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<para>
|
2019-09-19 18:17:30 +01:00
|
|
|
|
First, the GRUB boot manager allows you to boot into any previous
|
|
|
|
|
configuration that hasn’t been garbage-collected. These configurations can
|
|
|
|
|
be found under the GRUB submenu “NixOS - All configurations”. This is
|
|
|
|
|
especially useful if the new configuration fails to boot. After the system
|
|
|
|
|
has booted, you can make the selected configuration the default for
|
|
|
|
|
subsequent boots:
|
2014-08-24 18:18:18 +01:00
|
|
|
|
<screen>
|
2020-09-22 23:38:47 +01:00
|
|
|
|
<prompt># </prompt>/run/current-system/bin/switch-to-configuration boot</screen>
|
2018-05-02 00:57:09 +01:00
|
|
|
|
</para>
|
2014-08-24 18:18:18 +01:00
|
|
|
|
|
2018-05-02 00:57:09 +01:00
|
|
|
|
<para>
|
|
|
|
|
Second, you can switch to the previous configuration in a running system:
|
2014-08-24 18:18:18 +01:00
|
|
|
|
<screen>
|
2020-09-22 23:38:47 +01:00
|
|
|
|
<prompt># </prompt>nixos-rebuild switch --rollback</screen>
|
2018-05-02 00:57:09 +01:00
|
|
|
|
This is equivalent to running:
|
2014-08-24 18:18:18 +01:00
|
|
|
|
<screen>
|
2020-09-22 23:38:47 +01:00
|
|
|
|
<prompt># </prompt>/nix/var/nix/profiles/system-<replaceable>N</replaceable>-link/bin/switch-to-configuration switch</screen>
|
2019-09-19 18:17:30 +01:00
|
|
|
|
where <replaceable>N</replaceable> is the number of the NixOS system
|
|
|
|
|
configuration. To get a list of the available configurations, do:
|
2014-08-24 18:18:18 +01:00
|
|
|
|
<screen>
|
2019-06-17 12:25:50 +01:00
|
|
|
|
<prompt>$ </prompt>ls -l /nix/var/nix/profiles/system-*-link
|
2014-08-24 18:18:18 +01:00
|
|
|
|
<replaceable>...</replaceable>
|
|
|
|
|
lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055
|
|
|
|
|
</screen>
|
2018-05-02 00:57:09 +01:00
|
|
|
|
</para>
|
2016-06-01 15:23:32 +01:00
|
|
|
|
</section>
|