Featured image of post NixOS版本升级指南

NixOS版本升级指南

NixOS如何升级版本?

背景

我的NixOS网关,现在使用的是20.09,最新的已经是23.05了,很多软件版本都跟不上,最近出现了很多问题,让我很烦恼。

过去,由于升级过程很容易出问题,一般情况下,也不愿意去动这个麻烦;可是最近出现的问题,严重影响到了我的使用体验,于是痛下决心,决定要升级到最新版,并且重新学习下NixOS。

本文主要记录NixOS升级过程的注意事项。

TLDR

  1. 备份数据
  2. 检查NixOS Release Notes
  3. sudo nix-channel --add https://nixos.org/channels/nixos-23.05 nixos
  4. sudo nixos-rebuild switch -v

1. 数据备份

备份重要数据,以免发生意外。对于我来说,大部分数据都在Docker中,除此以外,就是NixOS的配置文件了,而配置文件有历史记录,所以不用担心这个问题,这一步可以略过了。

2. NixOS Release Notes

NixOS Release Notes是一定要仔细看得,尤其是一些breaking changes,如果不注意,你的升级会失败;不过也不用太担心,升级过程中有问题,升级程序也会主动报错,然后停止升级。

另外,Upgrading NixOS也值得一读,可以了解到更多关于升级的信息。

3. 添加新的Channel

首先,你需要移除旧的Channel:

1
sudo nix-channel --remove nixos

然后,添加你要升级的Channel:

1
sudo nix-channel --add https://nixos.org/channels/nixos-23.05 nixos

最后,更新Channel:

1
sudo nix-channel --update

4. 更新系统版本

最后的最后,执行以下命令,升级系统:

1
2
sudo nixos-rebuild switch -v
# nixos-rebuild switch --upgrade等于nix-channel --update nixos; nixos-rebuild switch

其中,-v参数会输出升级的详细过程,方便找到错误;switch 字命令会激活新的配置,但是不会重启。

如果更新完,感觉没什么问题,可以重启,重启后,系统才会使用新的内核。

使用 Hugo 构建
主题 StackJimmy 设计