%20%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AB%E6%88%BB%E3%81%99%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は NixOS を不安定な状態で実行しています。何度か試してみたところnixos-rebuild boot --upgrade
、一部のアプリが壊れていることがわかりました。おそらく一時的な非互換性や依存関係の重大な変更によるもので、最終的には解決されるでしょう。
私は、現在完全に機能している世代を特定し、実行(起動)しています。
- 完全に働く世代は数世代前であり、その前の世代ではない。
さて、次はアップグレード前の状態に戻りたいと思います。
- 完全に働く世代に戻りたい。
- デフォルトのブート世代にする、
- または、すべての世代の上に新しい(同一の)世代を作成します。
- nix チャネルをこの世代で使用されているバージョンに戻したい:
- に変更を加え
configuration.nix
、それを適用できるようになりますnixos-rebuild
。
- に変更を加え
答え1
sudo nix-channel --rollback N
チャンネルを世代に戻しますN
。これ現在実行中の世代に戻すには:sudo nix-channel --rollback "$(grep --files-with-matches --fixed-strings "$(cut --delimiter=. --fields=3 /run/current-system/nixos-version)" /nix/var/nix/profiles/per-user/root/channels-*-link/nixos/svn-revision | tail --lines=1 | cut --delimiter=- --fields=3)"