私は現在18.03を使用していますが、18.09にアップグレードしたいです。どうすればいいですか?
ウェブ検索で以下を見つけましたが、まだわかりません。 https://discourse.nixos.org/t/how-to-upgrade-from-18-03-to-18-09/933
参照チャンネルを変更できるとしますかnixos
?しかし、これが問題が発生した場合、ロールバックを許可するのに適しているかどうかはわかりません。
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/configuration.nix:
#この値は、データベースサーバーなどの特定のソフトウェアの破損を防ぐために、システムが互換性が必要なNixOSのバージョンを決定します。 NixOSのリリースノートに#そうする必要があるとマークされたら、この設定を変更する必要があります。 System.stateVersion = "17.09"; #コメントを読んでいますか?これを変更するコマンドがいつ実行されたのかわかりません。
リリースノート、ニュース、利用可能な情報を読みました。コマンドが実行されるのを待っていますが、見つかりません。
とにかく投稿して数日後に「17.09」->「18.03」を変更しました。
答え1
NixOSのアップグレード:
- NixOSインストールのバックアップがあることを確認し、必要に応じてバックアップから復元する方法を知ってください。
- レビューNixOS リリースノート手動で実行する必要がある変更を検討してください。特に、オプションが以前のバージョンと互換性のない方法で変更されることがあります。
- rootユーザーとしてNixOSチャンネルを交換して、アップグレードしたいチャンネルを指し、名前が次のようになっていることを確認してください
nixos
。
とアップデートチャンネル(nix-channel --add https://nixos.org/channels/nixos-18.09 nixos
nix-channel --update
)。 - rootユーザーとしてシステムを構築します。
nixos-rebuild --upgrade boot
- 新しいNixOSを起動するには、再起動してください。
問題が発生した場合は、再起動し、前の世代を選択し、nix-channel
前のチャンネルの追加を使用して、タスクnixos-rebuild boot
世代をデフォルトに設定できます。を使用するよりも再構築する方が安定していると思いますnixos-rebuild --rollback
。
代替プロセス
チャネルを混乱させずにアップグレードを試みるには、 nixpkgs リポジトリの GIT レプリカを使用できます。
cd nixpkgs
git checkout release-18.03
nixos-rebuild -I nixpkgs="$PWD" build
すべてがうまくいけば…
sudo nixos-rebuild -I nixpkgs="$PWD" boot
このアプローチの欠点は、たとえばNixツールへの後続の呼び出しで正しいnixpkgを指定するためにnixos-rebuild
このフラグが必要であることです。-I
つまり、チャンネルを更新するまでです。