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>
目录
数据备份
无论使用什么操作系统,第一步都是备份重要数据。
更新 NixOS 频道
NixOS 升级的核心是“频道”的概念。频道是精心整理的资源库,分发 Nix 表达式及其关联的二进制文件,经过严格测试和构建,以确保无缝体验。可用的频道包括:
有关 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>
如上所示,我的当前频道是 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>
如上输出所示,我们已成功升级到 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中文网其他相关文章!