$ 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-update(nix-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
名前、コミットハッシュなどを含む項目を手動で確認することもできます。