如何撤消`nix-channel --update`

dan*_*bst 5 nixos nix

通过 NixOps 全新安装后,我登录到机器并执行

# nix-channel --update
Run Code Online (Sandbox Code Playgroud)

这将 ~130Mb 的 nixpkgs 拉入我的/nix/store. 我怎样才能撤消这个?

小智 8

在正常的 Nix 或 NixOS 安装中,如果您不小心使用 更新了频道nix-channel --update,则可以通过运行来撤消此操作

nix-channel --rollback
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅手册

在 NixOps 安装中,通道已配置但并未实际使用。请参阅另一个答案


dan*_*bst 5

在 NixOps 安装中,通道似乎已配置,但 NixOps 实际上并未使用通道。这意味着运行nix-channel --update将创建第一代,并且nix-channel --rollback不会起作用,因为它无法回滚到第一代之后。

以下似乎可以清除此信息。

不要在 Nix 或 NixOS 安装上运行它!这仅适用于 NixOps。

rm /nix/var/nix/profiles/per-user/root/channels-1-link
rm /nix/var/nix/profiles/per-user/root/channels
rm ~/.nix-defexpr/channels
nix-collect-garbage -d
Run Code Online (Sandbox Code Playgroud)

  • 不要这样做!您刚刚删除了您的频道。 (3认同)
  • 我将更新这两个答案,以便更清楚每个答案实际回答的问题是什么。 (2认同)