Как я могу убедиться, что все пакеты, которые я устанавливаю при установке системы nixos (то есть пакеты, перечисленные в /etc/nixos/configuration.nix
, которые я устанавливаю с помощью sudo nixos-rebuild switch
), используют последнюю (нестабильную) версию nixos/nixpkgs?Как обновить мою систему до nixos-unstable?
ответ
Как объяснен в 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
, который собирается восстановить вашу систему с вашей текущей конфигурации и обновленных пакетов из канала вы перешли на.
Выполните следующие команды:
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
), а не система -уровневые пакеты.
В чем разница между двумя каналами? –
Я думаю, что для основной операционной системы Nixos, а для дополнительного программного обеспечения вы устанавливаете. –
Это на самом деле не сработало для меня. Как сказал @ sid-kap, вам действительно нужно 'sudo'. – haffla
@haffla Дважды в моем ответе я упоминаю, что вам нужно быть root. –
извините, мой плохой. Я пришел только за кодом. – haffla