首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何升级Nixos以使用新的通道nixos版本?

如何升级Nixos以使用新的通道nixos版本?
EN

Unix & Linux用户
提问于 2018-12-31 09:37:38
回答 1查看 18.2K关注 0票数 15

我现在是18.03,想升级到18.09。我该怎么做呢?

我通过网络搜索发现了以下内容,但并不是很确定:https://discourse.nixos.org/t/how-to-upgrade-from-18-03-to-18-09/933

我想我可以改变nixos引用的频道吗?但我不确定这是否适合在出错的情况下允许回滚。

代码语言:javascript
复制
sudo nix-channel --list        
nixos https://nixos.org/channels/nixos-18.03
unstable https://nixos.org/channels/nixos-unstable

此外,我还看到了以下内容:https://github.com/NixOS/nixpkgs/issues/40351#issuecomment-388405973 (下面引用)--我需要考虑这一点吗?

另外:/etc/ NixOS / compatible .NixOS:#这个值决定了您的系统与#兼容的NixOS版本,以避免破坏某些软件,如数据库#服务器。只有在NixOS发布说明说#应该改变之后,你才应该改变这一点。system.stateVersion = "17.09";#你看过评论了吗?我没有看到什么时候发出命令来改变这一点。我看了新闻稿,新闻和可获得的信息。等待命令来做,但没有找到。无论如何,在发布几天后,我更改了"17.09“-> "18.03”。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-12-31 14:39:02

要升级NixOS:

  1. 如果需要,请确保您拥有NixOS安装的备份,并且知道如何从备份中恢复。
  2. 检查NixOS发行说明,以确保对需要手动执行的任何更改进行说明。特别是,有时选项会以向后不兼容的方式改变。
  3. 作为根用户,替换NixOS通道,以便它指向要升级到的通道,同时确保它名为nixos:nix-channel --添加https://nixos.org/channels/nixos-18.09 nixos并更新通道(nix-channel --update)。
  4. 作为root用户,构建您的系统:nixos-重新构建-升级引导。
  5. 重新启动以输入新构建的NixOS。

如果出了问题,您可以重新启动,选择上一代,使用nix-channel添加旧的通道,然后使用nixos-rebuild boot使工作代成为默认的;我认为重建比使用nixos-rebuild --rollback更可靠。

替代工艺

如果您想在不干扰通道的情况下尝试升级,可以使用nixpkgs repo的GIT克隆:

代码语言:javascript
复制
cd nixpkgs
git checkout release-18.03
nixos-rebuild -I nixpkgs="$PWD" build

如果一切顺利..。

代码语言:javascript
复制
sudo nixos-rebuild -I nixpkgs="$PWD" boot

这种方法的缺点是,随后对Nix工具(如nixos-rebuild )的调用要求-I标志指定正确的nixpkgs。

票数 20
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/491727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档