How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]
NixOS 24.05 (Uakari) is released, easy upgrade guide! NixOS is known for its easy upgrade process, and this tutorial will guide you step by step how to upgrade NixOS to the latest version to ensure system stability and reliability.
We will demonstrate how to upgrade NixOS 23.11 (Tapir) to 24.05 (Uakari). My NixOS 23.11 version information is as follows:
<code>$ cat /etc/os-release BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="23.11.5541.56528ee42526" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 23.11 (Tapir)" SUPPORT_END="2024-06-30" SUPPORT_URL="https://nixos.org/community.html" VERSION="23.11 (Tapir)" VERSION_CODENAME=tapir VERSION_ID="23.11"</code>
Table of contents
- Data backup
- Update NixOS Channel
- Upgrade from NixOS 23.11 to 24.05
- Upgrade to an unstable version of NixOS
- Automatic upgrade
- Summarize
Data backup
No matter what operating system you use, the first step is to back up important data.
Update NixOS Channel
The core of NixOS upgrade is the concept of "channel". Channels are carefully organized repositories that distribute Nix expressions and their associated binaries, rigorously tested and built to ensure a seamless experience. Available channels include:
- Stable Channels (e.g., nixos-24.05): These channels receive conservative bug fixes and package upgrades, such as minor kernel updates from 6.1 to 6.2, ensuring a stable and reliable experience.
- Nixos- unstable : For users seeking the latest features, this channel reflects the active development branch of NixOS, providing the latest cutting-edge features and updates, but may be instability.
- Lite channels (e.g., nixos-24.05-small): Same as regular versions, but with fewer pre-built binary packages, these channels are ideal for server environments and provide faster updates when critical security patches are released.
For more information on Nix channel usage, check out the following guide:
Getting started with Nix Package Manager
Upgrade from NixOS 23.11 to 24.05
When you first install NixOS (such as 23.11), you will automatically subscribe to the channel corresponding to the installation source.
To check the current channel, run the following command as root or sudo user:
<code>$ sudo nix-channel --list | grep nixos nixos https://nixos.org/channels/nixos-23.11</code>
As shown above, my current channel is 23.11, which means I am using NixOS 23.11.
To switch to the latest version of the channel, just use nix-channel --add https://channels.nixos.org/channel-name nixos
.
For example, to switch to a stable 24.05 channel, we use:
<code>$ sudo nix-channel --add https://channels.nixos.org/nixos-24.05 nixos</code>
After subscribing to the required channel, just upgrade to run:
<code>$ sudo nixos-rebuild switch --upgrade</code>
This command is equivalent to nix-channel --update nixos; nixos-rebuild switch
, which seamlessly updates the system to the latest version in the selected channel.
If the upgrade is successful, you will see the following output:
<code>[...]updating GRUB 2 menu...Warning: os-prober will be executed to detect other bootable partitions.Its output will be used to detect bootable binaries on them and create new boot entries.lsblk: /dev/mapper/no*[0-9]: not a block devicelsblk: /dev/mapper/raid*[0-9]: not a block devicelsblk: /dev/mapper/disks*[0-9]: not a block deviceinstalling the GRUB 2 boot loader on /dev/sda...Installing for i386-pc platform. <strong>Installation finished. No error reported.</strong> [...]</code>
Restart your NixOS system.
<code>$ sudo reboot</code>
After logging in to the newly upgraded system, check its version to verify that the upgrade is successful.
<code>[ostechnix@nixos:~]$ cat /etc/os-release ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" **BUILD_ID="24.05.803.b3b2b28c1daa"** DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.05 (Uakari)" SUPPORT_END="2024-12-31" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.05 (Uakari)" VERSION_CODENAME=uakari **VERSION_ID="24.05"**</code>
As shown in the above output, we have successfully upgraded to NixOS 24.05.
Upgrade to an unstable version of NixOS
If you want to try the unstable version (the latest version), you can switch to the nixos-unstable
channel and perform the upgrade as shown above. Here are the steps to upgrade NixOS to the latest version.
First, switch to the NixOS unstable channel using the following command:
<code>$ sudo nix-channel --add https://channels.nixos.org/nixos-unstable nixos</code>
This command instructs the Nix Package Manager to add the URL of the unstable channel ( https://channels.nixos.org/nixos-unstable
) and associate it with nixos
channel name.
You can check the channel you are currently subscribed with:
<code>$ sudo nix-channel --list | grep nixos</code>
This displays the channel URL and name associated with the current NixOS installation.
After adding the nixos-unstable
channel, you can upgrade your NixOS installation to the latest version in the unstable channel by running the following command:
<code>$ sudo nixos-rebuild switch --upgrade</code>
This will download and install all the latest packages and updates from the unstable channel.
It should be noted that the unstable channel (as its name implies) contains the latest cutting-edge updates and changes from the main NixOS development branch.
While it provides access to the latest features and software packages, it can also lead to instability or failure. Therefore, it is generally not recommended to use unstable channels in production systems or mission-critical environments.
If you want to switch back to a stable channel later, you can use a similar nix-channel --add
command and use the required stable channel URL (for example, https://channels.nixos.org/nixos-24.05
for NixOS 24.05 stable channel).
Automatic upgrade
For maximum convenience, NixOS provides an automatic upgrade option. By adding the following lines to your configuration.nix
:
<code>{ system.autoUpgrade.enable = true; system.autoUpgrade.allowReboot = true; }</code>
You will enable nixos-upgrade.service
, which periodically checks for updates from your subscribed channel.
If allowReboot
is set to true
, the system will automatically restart when the new version contains kernel, initrd, or kernel module changes.
You can even specify a custom channel for automatic upgrade:
<code>{ system.autoUpgrade.channel = "https://channels.nixos.org/nixos-24.05"; }</code>
Summarize
Upgrading your system has never been easier with NixOS! Whether you prefer the stability of the latest stable channel or the latest features of the unstable channel, the upgrade process is very simple!
The above is the detailed content of How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Linux is best used as server management, embedded systems and desktop environments. 1) In server management, Linux is used to host websites, databases, and applications, providing stability and reliability. 2) In embedded systems, Linux is widely used in smart home and automotive electronic systems because of its flexibility and stability. 3) In the desktop environment, Linux provides rich applications and efficient performance.

The five basic components of Linux are: 1. The kernel, managing hardware resources; 2. The system library, providing functions and services; 3. Shell, the interface for users to interact with the system; 4. The file system, storing and organizing data; 5. Applications, using system resources to implement functions.

Linux system management ensures the system stability, efficiency and security through configuration, monitoring and maintenance. 1. Master shell commands such as top and systemctl. 2. Use apt or yum to manage the software package. 3. Write automated scripts to improve efficiency. 4. Common debugging errors such as permission problems. 5. Optimize performance through monitoring tools.

Linux is widely used in servers, embedded systems and desktop environments. 1) In the server field, Linux has become an ideal choice for hosting websites, databases and applications due to its stability and security. 2) In embedded systems, Linux is popular for its high customization and efficiency. 3) In the desktop environment, Linux provides a variety of desktop environments to meet the needs of different users.

The methods for basic Linux learning from scratch include: 1. Understand the file system and command line interface, 2. Master basic commands such as ls, cd, mkdir, 3. Learn file operations, such as creating and editing files, 4. Explore advanced usage such as pipelines and grep commands, 5. Master debugging skills and performance optimization, 6. Continuously improve skills through practice and exploration.

Linuxisfundamentallyfree,embodying"freeasinfreedom"whichallowsuserstorun,study,share,andmodifythesoftware.However,costsmayarisefromprofessionalsupport,commercialdistributions,proprietaryhardwaredrivers,andlearningresources.Despitethesepoten

Linux devices are hardware devices running Linux operating systems, including servers, personal computers, smartphones and embedded systems. They take advantage of the power of Linux to perform various tasks such as website hosting and big data analytics.

The disadvantages of Linux include user experience, software compatibility, hardware support, and learning curve. 1. The user experience is not as friendly as Windows or macOS, and it relies on the command line interface. 2. The software compatibility is not as good as other systems and lacks native versions of many commercial software. 3. Hardware support is not as comprehensive as Windows, and drivers may be compiled manually. 4. The learning curve is steep, and mastering command line operations requires time and patience.
