首页 > 系统教程 > 操作系统 > 如何将Nixos 23.11升级至24.05 [逐步]

如何将Nixos 23.11升级至24.05 [逐步]

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-03-17 11:24:10
原创
120 人浏览过

NixOS 24.05 (Uakari) 发布,轻松升级指南!NixOS 以其简便的升级流程而闻名,本教程将逐步指导您如何将 NixOS 升级到最新版本,确保系统稳定性和可靠性。

我们将演示如何将 NixOS 23.11 (Tapir) 升级到 24.05 (Uakari)。我的 NixOS 23.11 版本信息如下:

<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>
登录后复制

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

目录

  • 数据备份
  • 更新 NixOS 频道
  • 从 NixOS 23.11 升级到 24.05
  • 升级到 NixOS 不稳定版本
  • 自动升级
  • 总结

数据备份

无论使用什么操作系统,第一步都是备份重要数据。

更新 NixOS 频道

NixOS 升级的核心是“频道”的概念。频道是精心整理的资源库,分发 Nix 表达式及其关联的二进制文件,经过严格测试和构建,以确保无缝体验。可用的频道包括:

  • 稳定频道 (例如,nixos-24.05):这些频道接收保守的错误修复和软件包升级,例如从 6.1 到 6.2 的次要内核更新,确保稳定可靠的体验。
  • 不稳定频道 (nixos-unstable):对于寻求最新功能的用户,此频道反映 NixOS 的活跃开发分支,提供最新的尖端功能和更新,但可能存在不稳定性。
  • 精简频道 (例如,nixos-24.05-small):与常规版本相同,但预构建的二进制软件包较少,这些频道非常适合服务器环境,在发布关键安全补丁时提供更快的更新。

有关 Nix 通道用法的更多信息,请查看以下指南:

Nix 包管理器入门

从 NixOS 23.11 升级到 24.05

首次安装 NixOS(例如 23.11)时,您会自动订阅与安装源对应的频道。

要检查当前频道,请以 root 或 sudo 用户身份运行以下命令:

<code>$ sudo nix-channel --list | grep nixos
nixos https://nixos.org/channels/nixos-23.11</code>
登录后复制

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

如上所示,我的当前频道是 23.11,表示我使用的是 NixOS 23.11。

要切换到最新版本的频道,只需使用 nix-channel --add https://channels.nixos.org/channel-name nixos

例如,要切换到稳定的 24.05 频道,我们使用:

<code>$ sudo nix-channel --add https://channels.nixos.org/nixos-24.05 nixos</code>
登录后复制

订阅所需频道后,升级只需运行:

<code>$ sudo nixos-rebuild switch --upgrade</code>
登录后复制
登录后复制

此命令等效于 nix-channel --update nixos; nixos-rebuild switch,将系统无缝更新到所选频道中的最新版本。

如果升级成功,您将看到以下输出:

<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>
登录后复制

重启您的 NixOS 系统。

<code>$ sudo reboot</code>
登录后复制

登录到新升级的系统后,检查其版本以验证升级是否成功。

<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>
登录后复制

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

如上输出所示,我们已成功升级到 NixOS 24.05。

升级到 NixOS 不稳定版本

如果您想尝试不稳定版本(最新版本),您可以切换到 nixos-unstable 频道并执行如上所示的升级。以下是将 NixOS 升级到最新版本的步骤。

首先,使用以下命令切换到 NixOS 不稳定频道:

<code>$ sudo nix-channel --add https://channels.nixos.org/nixos-unstable nixos</code>
登录后复制

此命令指示 Nix 包管理器添加不稳定频道的 URL(https://channels.nixos.org/nixos-unstable)并将其与 nixos 频道名称关联。

您可以使用以下命令检查当前订阅的频道:

<code>$ sudo nix-channel --list | grep nixos</code>
登录后复制

这将显示与当前 NixOS 安装关联的频道 URL 和名称。

添加 nixos-unstable 频道后,您可以通过运行以下命令将 NixOS 安装升级到不稳定频道中的最新版本:

<code>$ sudo nixos-rebuild switch --upgrade</code>
登录后复制
登录后复制

这将从不稳定频道下载并安装所有最新的软件包和更新。

需要注意的是,不稳定频道(顾名思义)包含来自 NixOS 主要开发分支的最新前沿更新和更改。

虽然它提供了对最新功能和软件包的访问,但也可能导致不稳定性或故障。因此,通常不建议在生产系统或关键任务环境中使用不稳定频道。

如果您以后想切换回稳定频道,可以使用类似的 nix-channel --add 命令,并使用所需的稳定频道 URL(例如,https://channels.nixos.org/nixos-24.05 用于 NixOS 24.05 稳定频道)。

自动升级

为了获得最大的便利性,NixOS 提供了自动升级选项。通过将以下几行添加到您的 configuration.nix 中:

<code>{
  system.autoUpgrade.enable = true;
  system.autoUpgrade.allowReboot = true;
}</code>
登录后复制

您将启用 nixos-upgrade.service,它会定期检查并应用来自您已订阅频道的更新。

如果 allowReboot 设置为 true,则系统将在新版本包含内核、initrd 或内核模块更改时自动重启。

您甚至可以指定一个自定义频道进行自动升级:

<code>{
  system.autoUpgrade.channel = "https://channels.nixos.org/nixos-24.05";
}</code>
登录后复制

总结

使用 NixOS,升级系统从未如此简单!无论您偏好最新稳定频道的稳定性还是不稳定频道的最新功能,升级过程都非常简单!

以上是如何将Nixos 23.11升级至24.05 [逐步]的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板