2016-12-19 7 views
4

Как я могу убедиться, что все пакеты, которые я устанавливаю при установке системы nixos (то есть пакеты, перечисленные в /etc/nixos/configuration.nix, которые я устанавливаю с помощью sudo nixos-rebuild switch), используют последнюю (нестабильную) версию nixos/nixpkgs?Как обновить мою систему до nixos-unstable?

ответ

7

Как объяснен в the manual's section on upgrading, если вы выполните следующую команду как корень:

nix-channel --list 

вы, скорее всего, увидеть что-то вроде следующего (если вы следовали 16.09 ветви, например):

nixos https://nixos.org/channels/nixos-16.09 

Выпуская следующую команду (до сих пор в качестве суперпользователя):

nix-channel --add https://nixos.org/channels/nixos-unstable nixos 

вы удалите канал 16.09 и замените его на nixos-unstable.

Сейчас этого пока недостаточно. Чтобы действительно обновить вашу систему, вам необходимо последнюю команду:

nixos-rebuild switch --upgrade 

, который собирается восстановить вашу систему с вашей текущей конфигурации и обновленных пакетов из канала вы перешли на.

+0

Это на самом деле не сработало для меня. Как сказал @ sid-kap, вам действительно нужно 'sudo'. – haffla

+0

@haffla Дважды в моем ответе я упоминаю, что вам нужно быть root. –

+1

извините, мой плохой. Я пришел только за кодом. – haffla

4

Выполните следующие команды:

sudo nix-channel --add https://nixos.org/channels/nixos-unstable 
sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable 

Обратите внимание, что sudo требуется: если вы не используете sudo, это будет влиять только на пакеты пользовательского уровня (то есть вещи, которые вы устанавливаете с помощью nix-env -i), а не система -уровневые пакеты.

+0

В чем разница между двумя каналами? –

+0

Я думаю, что для основной операционной системы Nixos, а для дополнительного программного обеспечения вы устанавливаете. –