チャンネルを前世代のNixosにロールバックするには?

チャンネルを前世代のNixosにロールバックするには?
$ sudo nix-env --list-generations --profile /nix/var/nix/profiles/system
...
 600   2020-01-25 21:01:11   
 601   2020-02-03 13:44:19   
 602   2020-02-09 14:06:20   
 603   2020-02-09 14:11:11   
 604   2020-02-11 00:02:43   
 605   2020-02-13 12:26:22   
 606   2020-02-16 16:40:02   (current)

Nixos世代のコミット/チャンネル生成をどのように取得できますか(それは重要ですか?) - チャンネルをロールバックすることもできますか?

つまり、「チャンネルステータス」を605世代の場所にロールバックするにはどうすればよいですか?


私が疑問に思うのは、数日前にsudo nix-channel --updateどのパッケージアップデートが発生してもシステムが不安定になる問題を作成したからです。sudo nixos-rebuild switch

そのため、これを軽減するためにOld Generation(605)を使い始め、それを使い続けました。

今Nixosシステム構成で特定のパッケージを更新し、605最新の606


私が見つけたhttps://stackoverflow.com/questions/39090387/how-to-undo-nix-channel-updatenix-channel --rollback..)しかし、チャンネルを数回更新した可能性があるので、「最後の」チャンネルステータスは私に必要なステータスではないかもしれません。

このコマンドの引数としてチャンネルのビルド番号を指定できることがわかりました。しかし、これがnixosビルドとどのような関係があるのか​​よくわかりません。これは605私が試したものとは異なる結果を示すようです。

sudo nix-channel --rollback 605
error: generation 605 does not exist
error: program '/nix/store/cs47wjxwiqgyl1nkjnksyf3s2rb93piq-nix-2.3.2/bin/nix-env' failed with exit code 1

ベストアンサー1

あなたがそれをしたいと思いますかsudo nix-channel --rollback?たとえば、/nix/var/nix/profiles/per-user/root/channels-*/manifest.nix名前、コミットハッシュなどを含む項目を手動で確認することもできます。

おすすめ記事