diff options
author | Bobby Rong <rjl931189261@126.com> | 2021-07-04 00:10:18 +0800 |
---|---|---|
committer | Bobby Rong <rjl931189261@126.com> | 2021-07-04 00:10:18 +0800 |
commit | f6911a020e7e7be42d9d4f71baf5eb856efd0757 (patch) | |
tree | 33e335447b64950c804c634e0e2dbe201244729f /nixos/doc/manual | |
parent | b85403368f4a27416961a443bf39fd41871c55c9 (diff) | |
download | nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.tar nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.tar.gz nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.tar.bz2 nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.tar.lz nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.tar.xz nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.tar.zst nixpkgs-f6911a020e7e7be42d9d4f71baf5eb856efd0757.zip |
nixos: nixos/doc/manual/installation/upgrading.xml to CommonMark
Diffstat (limited to 'nixos/doc/manual')
-rw-r--r-- | nixos/doc/manual/from_md/installation/upgrading.chapter.xml | 152 | ||||
-rw-r--r-- | nixos/doc/manual/installation/installation.xml | 2 | ||||
-rw-r--r-- | nixos/doc/manual/installation/upgrading.chapter.md | 118 | ||||
-rw-r--r-- | nixos/doc/manual/installation/upgrading.xml | 139 |
4 files changed, 271 insertions, 140 deletions
diff --git a/nixos/doc/manual/from_md/installation/upgrading.chapter.xml b/nixos/doc/manual/from_md/installation/upgrading.chapter.xml new file mode 100644 index 00000000000..c0c5a2190fb --- /dev/null +++ b/nixos/doc/manual/from_md/installation/upgrading.chapter.xml @@ -0,0 +1,152 @@ +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-upgrading"> + <title>Upgrading NixOS</title> + <para> + The best way to keep your NixOS installation up to date is to use + one of the NixOS <emphasis>channels</emphasis>. A channel is a Nix + mechanism for distributing Nix expressions and associated binaries. + The NixOS channels are updated automatically from NixOS’s Git + repository after certain tests have passed and all packages have + been built. These channels are: + </para> + <itemizedlist> + <listitem> + <para> + <emphasis>Stable channels</emphasis>, such as + <link xlink:href="https://nixos.org/channels/nixos-21.05"><literal>nixos-21.05</literal></link>. + These only get conservative bug fixes and package upgrades. For + instance, a channel update may cause the Linux kernel on your + system to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), + but not from 4.19.x to 4.20.x (a major change that has the + potential to break things). Stable channels are generally + maintained until the next stable branch is created. + </para> + </listitem> + <listitem> + <para> + The <emphasis>unstable channel</emphasis>, + <link xlink:href="https://nixos.org/channels/nixos-unstable"><literal>nixos-unstable</literal></link>. + This corresponds to NixOS’s main development branch, and may + thus see radical changes between channel updates. It’s not + recommended for production systems. + </para> + </listitem> + <listitem> + <para> + <emphasis>Small channels</emphasis>, such as + <link xlink:href="https://nixos.org/channels/nixos-21.05-small"><literal>nixos-21.05-small</literal></link> + or + <link xlink:href="https://nixos.org/channels/nixos-unstable-small"><literal>nixos-unstable-small</literal></link>. + These are identical to the stable and unstable channels + described above, except that they contain fewer binary packages. + This means they get updated faster than the regular channels + (for instance, when a critical security patch is committed to + NixOS’s source tree), but may require more packages to be built + from source than usual. They’re mostly intended for server + environments and as such contain few GUI applications. + </para> + </listitem> + </itemizedlist> + <para> + To see what channels are available, go to + <link xlink:href="https://nixos.org/channels">https://nixos.org/channels</link>. + (Note that the URIs of the various channels redirect to a directory + that contains the channel’s latest version and includes ISO images + and VirtualBox appliances.) Please note that during the release + process, channels that are not yet released will be present here as + well. See the Getting NixOS page + <link xlink:href="https://nixos.org/nixos/download.html">https://nixos.org/nixos/download.html</link> + to find the newest supported stable release. + </para> + <para> + When you first install NixOS, you’re automatically subscribed to the + NixOS channel that corresponds to your installation source. For + instance, if you installed from a 21.05 ISO, you will be subscribed + to the <literal>nixos-21.05</literal> channel. To see which NixOS + channel you’re subscribed to, run the following as root: + </para> + <programlisting> +# nix-channel --list | grep nixos +nixos https://nixos.org/channels/nixos-unstable +</programlisting> + <para> + To switch to a different NixOS channel, do + </para> + <programlisting> +# nix-channel --add https://nixos.org/channels/channel-name nixos +</programlisting> + <para> + (Be sure to include the <literal>nixos</literal> parameter at the + end.) For instance, to use the NixOS 21.05 stable channel: + </para> + <programlisting> +# nix-channel --add https://nixos.org/channels/nixos-21.05 nixos +</programlisting> + <para> + If you have a server, you may want to use the <quote>small</quote> + channel instead: + </para> + <programlisting> +# nix-channel --add https://nixos.org/channels/nixos-21.05-small nixos +</programlisting> + <para> + And if you want to live on the bleeding edge: + </para> + <programlisting> +# nix-channel --add https://nixos.org/channels/nixos-unstable nixos +</programlisting> + <para> + You can then upgrade NixOS to the latest version in your chosen + channel by running + </para> + <programlisting> +# nixos-rebuild switch --upgrade +</programlisting> + <para> + which is equivalent to the more verbose + <literal>nix-channel --update nixos; nixos-rebuild switch</literal>. + </para> + <note> + <para> + Channels are set per user. This means that running + <literal>nix-channel --add</literal> as a non root user (or + without sudo) will not affect configuration in + <literal>/etc/nixos/configuration.nix</literal> + </para> + </note> + <warning> + <para> + It is generally safe to switch back and forth between channels. + The only exception is that a newer NixOS may also have a newer Nix + version, which may involve an upgrade of Nix’s database schema. + This cannot be undone easily, so in that case you will not be able + to go back to your original channel. + </para> + </warning> + <section xml:id="sec-upgrading-automatic"> + <title>Automatic Upgrades</title> + <para> + You can keep a NixOS system up-to-date automatically by adding the + following to <literal>configuration.nix</literal>: + </para> + <programlisting language="bash"> +system.autoUpgrade.enable = true; +system.autoUpgrade.allowReboot = true; +</programlisting> + <para> + This enables a periodically executed systemd service named + <literal>nixos-upgrade.service</literal>. If the + <literal>allowReboot</literal> option is <literal>false</literal>, + it runs <literal>nixos-rebuild switch --upgrade</literal> to + upgrade NixOS to the latest version in the current channel. (To + see when the service runs, see + <literal>systemctl list-timers</literal>.) If + <literal>allowReboot</literal> is <literal>true</literal>, then + the system will automatically reboot if the new generation + contains a different kernel, initrd or kernel modules. You can + also specify a channel explicitly, e.g. + </para> + <programlisting language="bash"> +system.autoUpgrade.channel = https://nixos.org/channels/nixos-21.05; +</programlisting> + </section> +</chapter> diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml index 65564e8b1e3..cc18a9c6e9f 100644 --- a/nixos/doc/manual/installation/installation.xml +++ b/nixos/doc/manual/installation/installation.xml @@ -13,5 +13,5 @@ <xi:include href="../from_md/installation/obtaining.chapter.xml" /> <xi:include href="installing.xml" /> <xi:include href="../from_md/installation/changing-config.chapter.xml" /> - <xi:include href="upgrading.xml" /> + <xi:include href="../from_md/installation/upgrading.chapter.xml" /> </part> diff --git a/nixos/doc/manual/installation/upgrading.chapter.md b/nixos/doc/manual/installation/upgrading.chapter.md new file mode 100644 index 00000000000..b7903b9d3cb --- /dev/null +++ b/nixos/doc/manual/installation/upgrading.chapter.md @@ -0,0 +1,118 @@ +# Upgrading NixOS {#sec-upgrading} + +The best way to keep your NixOS installation up to date is to use one of +the NixOS *channels*. A channel is a Nix mechanism for distributing Nix +expressions and associated binaries. The NixOS channels are updated +automatically from NixOS's Git repository after certain tests have +passed and all packages have been built. These channels are: + +- *Stable channels*, such as [`nixos-21.05`](https://nixos.org/channels/nixos-21.05). + These only get conservative bug fixes and package upgrades. For + instance, a channel update may cause the Linux kernel on your system + to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), but not + from 4.19.x to 4.20.x (a major change that has the potential to break things). + Stable channels are generally maintained until the next stable + branch is created. + +- The *unstable channel*, [`nixos-unstable`](https://nixos.org/channels/nixos-unstable). + This corresponds to NixOS's main development branch, and may thus see + radical changes between channel updates. It's not recommended for + production systems. + +- *Small channels*, such as [`nixos-21.05-small`](https://nixos.org/channels/nixos-21.05-small) + or [`nixos-unstable-small`](https://nixos.org/channels/nixos-unstable-small). + These are identical to the stable and unstable channels described above, + except that they contain fewer binary packages. This means they get updated + faster than the regular channels (for instance, when a critical security patch + is committed to NixOS's source tree), but may require more packages to be + built from source than usual. They're mostly intended for server environments + and as such contain few GUI applications. + +To see what channels are available, go to <https://nixos.org/channels>. +(Note that the URIs of the various channels redirect to a directory that +contains the channel's latest version and includes ISO images and +VirtualBox appliances.) Please note that during the release process, +channels that are not yet released will be present here as well. See the +Getting NixOS page <https://nixos.org/nixos/download.html> to find the +newest supported stable release. + +When you first install NixOS, you're automatically subscribed to the +NixOS channel that corresponds to your installation source. For +instance, if you installed from a 21.05 ISO, you will be subscribed to +the `nixos-21.05` channel. To see which NixOS channel you're subscribed +to, run the following as root: + +```ShellSession +# nix-channel --list | grep nixos +nixos https://nixos.org/channels/nixos-unstable +``` + +To switch to a different NixOS channel, do + +```ShellSession +# nix-channel --add https://nixos.org/channels/channel-name nixos +``` + +(Be sure to include the `nixos` parameter at the end.) For instance, to +use the NixOS 21.05 stable channel: + +```ShellSession +# nix-channel --add https://nixos.org/channels/nixos-21.05 nixos +``` + +If you have a server, you may want to use the "small" channel instead: + +```ShellSession +# nix-channel --add https://nixos.org/channels/nixos-21.05-small nixos +``` + +And if you want to live on the bleeding edge: + +```ShellSession +# nix-channel --add https://nixos.org/channels/nixos-unstable nixos +``` + +You can then upgrade NixOS to the latest version in your chosen channel +by running + +```ShellSession +# nixos-rebuild switch --upgrade +``` + +which is equivalent to the more verbose `nix-channel --update nixos; nixos-rebuild switch`. + +::: {.note} +Channels are set per user. This means that running `nix-channel --add` +as a non root user (or without sudo) will not affect +configuration in `/etc/nixos/configuration.nix` +::: + +::: {.warning} +It is generally safe to switch back and forth between channels. The only +exception is that a newer NixOS may also have a newer Nix version, which +may involve an upgrade of Nix's database schema. This cannot be undone +easily, so in that case you will not be able to go back to your original +channel. +::: + +## Automatic Upgrades {#sec-upgrading-automatic} + +You can keep a NixOS system up-to-date automatically by adding the +following to `configuration.nix`: + +```nix +system.autoUpgrade.enable = true; +system.autoUpgrade.allowReboot = true; +``` + +This enables a periodically executed systemd service named +`nixos-upgrade.service`. If the `allowReboot` option is `false`, it runs +`nixos-rebuild switch --upgrade` to upgrade NixOS to the latest version +in the current channel. (To see when the service runs, see `systemctl list-timers`.) +If `allowReboot` is `true`, then the system will automatically reboot if +the new generation contains a different kernel, initrd or kernel +modules. You can also specify a channel explicitly, e.g. + +```nix +system.autoUpgrade.channel = https://nixos.org/channels/nixos-21.05; +``` diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml deleted file mode 100644 index 960d4fa9a43..00000000000 --- a/nixos/doc/manual/installation/upgrading.xml +++ /dev/null @@ -1,139 +0,0 @@ -<chapter xmlns="http://docbook.org/ns/docbook" - xmlns:xlink="http://www.w3.org/1999/xlink" - version="5.0" - xml:id="sec-upgrading"> - <title>Upgrading NixOS</title> - <para> - The best way to keep your NixOS installation up to date is to use one of the - NixOS <emphasis>channels</emphasis>. A channel is a Nix mechanism for - distributing Nix expressions and associated binaries. The NixOS channels are - updated automatically from NixOS’s Git repository after certain tests have - passed and all packages have been built. These channels are: - <itemizedlist> - <listitem> - <para> - <emphasis>Stable channels</emphasis>, such as - <literal - xlink:href="https://nixos.org/channels/nixos-21.05">nixos-21.05</literal>. - These only get conservative bug fixes and package upgrades. For instance, - a channel update may cause the Linux kernel on your system to be upgraded - from 4.19.34 to 4.19.38 (a minor bug fix), but not from - 4.19.<replaceable>x</replaceable> to 4.20.<replaceable>x</replaceable> (a - major change that has the potential to break things). Stable channels are - generally maintained until the next stable branch is created. - </para> - <para></para> - </listitem> - <listitem> - <para> - The <emphasis>unstable channel</emphasis>, - <literal - xlink:href="https://nixos.org/channels/nixos-unstable">nixos-unstable</literal>. - This corresponds to NixOS’s main development branch, and may thus see - radical changes between channel updates. It’s not recommended for - production systems. - </para> - </listitem> - <listitem> - <para> - <emphasis>Small channels</emphasis>, such as - <literal - xlink:href="https://nixos.org/channels/nixos-21.05-small">nixos-21.05-small</literal> - or - <literal - xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>. - These are identical to the stable and unstable channels described above, - except that they contain fewer binary packages. This means they get - updated faster than the regular channels (for instance, when a critical - security patch is committed to NixOS’s source tree), but may require - more packages to be built from source than usual. They’re mostly - intended for server environments and as such contain few GUI applications. - </para> - </listitem> - </itemizedlist> - To see what channels are available, go to - <link xlink:href="https://nixos.org/channels"/>. (Note that the URIs of the - various channels redirect to a directory that contains the channel’s latest - version and includes ISO images and VirtualBox appliances.) Please note that - during the release process, channels that are not yet released will be - present here as well. See the Getting NixOS page - <link xlink:href="https://nixos.org/nixos/download.html"/> to find the newest - supported stable release. - </para> - <para> - When you first install NixOS, you’re automatically subscribed to the NixOS - channel that corresponds to your installation source. For instance, if you - installed from a 21.05 ISO, you will be subscribed to the - <literal>nixos-21.05</literal> channel. To see which NixOS channel you’re - subscribed to, run the following as root: -<screen> -<prompt># </prompt>nix-channel --list | grep nixos -nixos https://nixos.org/channels/nixos-unstable -</screen> - To switch to a different NixOS channel, do -<screen> -<prompt># </prompt>nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos -</screen> - (Be sure to include the <literal>nixos</literal> parameter at the end.) For - instance, to use the NixOS 21.05 stable channel: -<screen> -<prompt># </prompt>nix-channel --add https://nixos.org/channels/nixos-21.05 nixos -</screen> - If you have a server, you may want to use the “small” channel instead: -<screen> -<prompt># </prompt>nix-channel --add https://nixos.org/channels/nixos-21.05-small nixos -</screen> - And if you want to live on the bleeding edge: -<screen> -<prompt># </prompt>nix-channel --add https://nixos.org/channels/nixos-unstable nixos -</screen> - </para> - <para> - You can then upgrade NixOS to the latest version in your chosen channel by - running -<screen> -<prompt># </prompt>nixos-rebuild switch --upgrade -</screen> - which is equivalent to the more verbose <literal>nix-channel --update nixos; - nixos-rebuild switch</literal>. - </para> - <note> - <para> - Channels are set per user. This means that running <literal> nix-channel - --add</literal> as a non root user (or without sudo) will not affect - configuration in <literal>/etc/nixos/configuration.nix</literal> - </para> - </note> - <warning> - <para> - It is generally safe to switch back and forth between channels. The only - exception is that a newer NixOS may also have a newer Nix version, which may - involve an upgrade of Nix’s database schema. This cannot be undone easily, - so in that case you will not be able to go back to your original channel. - </para> - </warning> - <section xml:id="sec-upgrading-automatic"> - <title>Automatic Upgrades</title> - - <para> - You can keep a NixOS system up-to-date automatically by adding the following - to <filename>configuration.nix</filename>: -<programlisting> -<xref linkend="opt-system.autoUpgrade.enable"/> = true; -<xref linkend="opt-system.autoUpgrade.allowReboot"/> = true; -</programlisting> - This enables a periodically executed systemd service named - <literal>nixos-upgrade.service</literal>. If the <literal>allowReboot</literal> - option is <literal>false</literal>, it runs <command>nixos-rebuild switch - --upgrade</command> to upgrade NixOS to the latest version in the current - channel. (To see when the service runs, see <command>systemctl list-timers</command>.) - If <literal>allowReboot</literal> is <literal>true</literal>, then the - system will automatically reboot if the new generation contains a different - kernel, initrd or kernel modules. - You can also specify a channel explicitly, e.g. -<programlisting> -<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-21.05; -</programlisting> - </para> - </section> -</chapter> |