Home System Tutorial LINUX How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]

How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]

Mar 17, 2025 am 11:24 AM

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>
Copy after login

How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]

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>
Copy after login

How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]

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>
Copy after login

After subscribing to the required channel, just upgrade to run:

 <code>$ sudo nixos-rebuild switch --upgrade</code>
Copy after login
Copy after login

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>
Copy after login

Restart your NixOS system.

 <code>$ sudo reboot</code>
Copy after login

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>
Copy after login

How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]

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>
Copy after login

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>
Copy after login

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>
Copy after login
Copy after login

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>
Copy after login

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>
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the Linux best used for? What is the Linux best used for? Apr 03, 2025 am 12:11 AM

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.

What are the 5 basic components of Linux? What are the 5 basic components of Linux? Apr 06, 2025 am 12:05 AM

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.

What is basic Linux administration? What is basic Linux administration? Apr 02, 2025 pm 02:09 PM

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.

What is the most use of Linux? What is the most use of Linux? Apr 09, 2025 am 12:02 AM

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.

How to learn Linux basics? How to learn Linux basics? Apr 10, 2025 am 09:32 AM

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.

How much does Linux cost? How much does Linux cost? Apr 04, 2025 am 12:01 AM

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

What is a Linux device? What is a Linux device? Apr 05, 2025 am 12:04 AM

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.

What are the disadvantages of Linux? What are the disadvantages of Linux? Apr 08, 2025 am 12:01 AM

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.

See all articles