Поддерживает ли обновление nix перезапуск и переконфигурирование сервисов?
Я новичок в NIX. Я вижу, что есть --upgrade
опция, позволяющая установить пакет новой версии, но что, если это просто изменение конфигурации, а службе просто необходим сигнал для перезагрузки конфигурации?
Он может быть уведомлен о событии файловой системы, но будет ли nix touch файл принадлежать другой версии пакета?
1 ответ
Это зависит.
Некоторые службы перезапускаются при изменении их конфигурации, а другие - нет.
Я не знаю, как это реализовано, но нет, содержимое в хранилище Nix является неизменным, поэтому в хранилище Nix не происходит касания файлов (/nix/store
). Однако в NixOS есть некоторые файлы, которых нет в хранилище Nix; Некоторые примеры в /etc
, Такие файлы не подлежат неизменности в магазине Nix.
Если служба настроена с использованием параметров NixOS, то системный модуль обычно напрямую обращается к файлу конфигурации. Изменение параметров приведет к созданию нового файла конфигурации, который будет каскадно вызывать изменение файла модуля. NixOS будет интерпретировать это как сигнал для перезапуска службы.
--upgrade
не делает то, что вы, вероятно, думаете, что делает
Это сказало, nixos-rebuild switch --upgrade
не меняет способ применения новой конфигурации. Это просто псевдоним для nix-channel --update && nixos-rebuild switch
,