Как использовать Nixos для использования нового канала Nixos версии?

В дополнение к @Chris Down, есть некоторый код возврата, зарезервированный для оболочки, они имеют особое значение:

RETVAL   Meaning

1        General errors
2        Misusage
127      Command not found

Вы можете обратиться к this для получения более подробной информации.

3
31.12.2018, 12:31
1 ответ

Для обновления NixOS:

  1. Убедитесь, что у вас есть резервная копия установки NixOS и вы знаете, как восстановить ее из резервной копии, если возникнет такая необходимость.
  2. Просмотрите примечания к выпуску NixOS , чтобы убедиться, что вы учитываете любые изменения, которые необходимо внести вручную. В частности, иногда опции изменяются обратно -несовместимыми способами.
  3. Как привилегированный пользователь, замените канал NixOS, чтобы он указывал на тот, до которого вы хотите выполнить обновление, при этом убедитесь, что он названnixos:
    nix-channel --add https://nixos.org/channels/nixos-18.09 nixos
    
    и обновить канал(nix-channel --update).
  4. Как пользователь root, создайте свою систему :
    nixos-rebuild --upgrade boot
    
  5. Перезагрузитесь, чтобы войти в только что -собранную NixOS.

Если что-то пойдет не так, вы можете перезагрузиться, выбрать предыдущее поколение, использовать nix-channel, чтобы добавить старый канал, а затем nixos-rebuild boot, чтобы сделать рабочее поколение каналом по умолчанию; Я думаю, что надежнее перестроить, чем использовать nixos-rebuild --rollback.

Альтернативный процесс

Если вы хотите попробовать обновление, не возясь с каналами, вы можете использовать GIT-клон репозитория nixpkgs:

cd nixpkgs
git checkout release-18.03
nixos-rebuild -I nixpkgs="$PWD" build

Если все хорошо...

sudo nixos-rebuild -I nixpkgs="$PWD" boot

Недостатком этого подхода является то, что последующие вызовы инструментов Nix, таких как nixos-rebuild, требуют флага -Iдля указания правильных пакетов nixpkg. То есть,пока вы не обновите канал.

11
27.01.2020, 21:17

Теги

Похожие вопросы