背景
我的NixOS网关,现在使用的是20.09,最新的已经是23.05了,很多软件版本都跟不上,最近出现了很多问题,让我很烦恼。
过去,由于升级过程很容易出问题,一般情况下,也不愿意去动这个麻烦;可是最近出现的问题,严重影响到了我的使用体验,于是痛下决心,决定要升级到最新版,并且重新学习下NixOS。
本文主要记录NixOS升级过程的注意事项。
TLDR
- 备份数据
- 检查NixOS Release Notes
sudo nix-channel --add https://nixos.org/channels/nixos-23.05 nixos
sudo nixos-rebuild switch -v
1. 数据备份
备份重要数据,以免发生意外。对于我来说,大部分数据都在Docker中,除此以外,就是NixOS的配置文件了,而配置文件有历史记录,所以不用担心这个问题,这一步可以略过了。
2. NixOS Release Notes
NixOS Release Notes是一定要仔细看得,尤其是一些breaking changes,如果不注意,你的升级会失败;不过也不用太担心,升级过程中有问题,升级程序也会主动报错,然后停止升级。
另外,Upgrading NixOS也值得一读,可以了解到更多关于升级的信息。
3. 添加新的Channel
首先,你需要移除旧的Channel:
|
|
然后,添加你要升级的Channel:
|
|
最后,更新Channel:
|
|
4. 更新系统版本
最后的最后,执行以下命令,升级系统:
其中,-v
参数会输出升级的详细过程,方便找到错误;switch
字命令会激活新的配置,但是不会重启。
如果更新完,感觉没什么问题,可以重启,重启后,系统才会使用新的内核。