LINUX.ORG.RU

Несколько вопросов по NixOS

 


0

4

Читаю про NixOS, т.к. хочу ее попробовать. Не понятно:

  • Есть 2 основных канала - стабильный (релизный) и нестабильный (хоть я нигде и не нашел официального заявления, что нестабильный канал это платформа для подготовки пакетов для стабильного релиза, но это вроде очевидно). В последнем релизе 19.09 ядро 4.19, но на нестабильном канале ядро тоже 4.19. До релиза 20.03 меньше месяца, получается в нем тоже будет 4.19 или апгрейд до последнего ЛТС 5.4 все же будет? Не понятно.
  • Как быстро растет размер занимаего места при изменении конфигурации и апдейтах? Строится полностью новая система или неизменившиеся пакеты/конфигурации остаются от старый, а занимаемое место увеличивается только на размер новых программ?
  • Есть ли опция автоматической ротации состояний?
  • Можно расчитывать на то, что для всех программ в репах есть кусок в никс конфиге? Или для чего-то все же нет? И как рулить конфигом софта, который собрал сам/притащил в систему в бинарном виде из других дистров?
  • Сколько у вас заняло разобраться в языке для более-менее уверенной работы, чтобы не страшно было воткнуть на сервер?
  • Если при обновлении софта, конфиг которого был включен в никс конфиг, добавляются новые опции, как это отражается на никс конфиге? Он автоматом меняется?

Я зафейлился с ядром. Искал по linux-headers, там только 4.19. Оказывается, в 19.09 уже есть 5.4. Вопрос снимается.

PawsOnFire ()

Как быстро растет размер занимаего места при изменении конфигурации и апдейтах?

Не быстро, именно конфиги вообще почти не наращивают размер

Можно расчитывать на то, что для всех программ в репах есть кусок в никс конфиге?

Нет и это печально

Или для чего-то все же нет?

Нет nat для ipv6, не полный конфиг для php, для OpenVPN просто огрызок. С другим софтом я лично не сталкивался, но уверен, что там все так же

И как рулить конфигом софта, который собрал сам

Опакечивать или по старинке

притащил в систему в бинарном виде из других дистров?

Сначала пропатчить elf через patchelf, что бы линкер использовался правильный, а потом все как с софтом, который собрал сам

чтобы не страшно было воткнуть на сервер?

Просто купил отдельную VPS за 200 рублей и начал крутить сразу на ней. Документации мало, и в этом основная проблема. nginx, php, pgsql и lets encrypt завелись с пол пинка. Какие-то траблы были с nextcloud, но то из-за не доверия к конфигам nixos, думал, раз в nextcloud есть указание ssl-сертификата, то в него его и надо вкорячивать, а оказалось можно просто в 2 строки указать в конфиге nginx, что бы тот использовал для домена nextcloud letsencrypt. Из-за скудности документации были проблемы с wireguard, но они решились, когда почитал оригинальную доку, не привязаную к nixos

Если при обновлении софта, конфиг которого был включен в никс конфиг, добавляются новые опции, как это отражается на никс конфиге? Он автоматом меняется?

Он обновляется ментейнером пакета, или просто ложится болт, как с OpenVPN.

SR_team ★★★★★ ()
Ответ на: комментарий от PawsOnFire

Я описал ТОЛЬКО минусы. Предположил, что плюсы вы и сами знаете.

Да конфиги не полные и есть не для всего, но там где они есть, они работают хорошо. А там где их нет, как правило есть параметр extraConfig, позволяющий вписать кусок обычного конфига в конфиг NixOS

SR_team ★★★★★ ()

Сколько у вас заняло разобраться в языке для более-менее уверенной работы, чтобы не страшно было воткнуть на сервер?

Не страшно было сразу, а про язык читай https://github.com/tazjin/nix-1p

t184256 ★★★★★ ()

Как быстро растет размер занимаего места при изменении конфигурации и апдейтах? Строится полностью новая система или неизменившиеся пакеты/конфигурации остаются от старый, а занимаемое место увеличивается только на размер новых программ?

Линейно. Старые программы и прочие файлы остаются на месте, но понятие «старые» в никсе несколько отличается от понятия «старые» в других дистрах, из-за чего обновления занимают гораздо больше места.

Есть ли опция автоматической ротации состояний?

Да.

Можно расчитывать на то, что для всех программ в репах есть кусок в никс конфиге? Или для чего-то все же нет?

Рассчитывать не стоит, но всё же почти для всего софта, который нужно крутить как сервис, есть опция nixos.

И как рулить конфигом софта, который собрал сам/притащил в систему в бинарном виде из других дистров?

Писать nixos-модули самому.

Сколько у вас заняло разобраться в языке для более-менее уверенной работы, чтобы не страшно было воткнуть на сервер?

Через полгода неуверенно писал пакеты и модули, через год начал уже отвечать на вопросы других, через пару лет стал мейнтейнером nixpkgs. На свой сервер воткнул через пару месяцев тестового использования.

Если при обновлении софта, конфиг которого был включен в никс конфиг, добавляются новые опции, как это отражается на никс конфиге? Он автоматом меняется?

Автоматом не меняется, он при сборке расскажет, если какие-нибудь breaking changes, и потребует изменения конфига ручками.

balsoft ★★ ()
Последнее исправление: balsoft (всего исправлений: 1 )
Ответ на: комментарий от SR_team

С другим софтом я лично не сталкивался, но уверен, что там все так же

«Не читал, но осуждаю» ;)

На самом деле есть очень много хорошо написанных nixos-модулей, но есть, очевидно, и не очень хорошо написанные.

Примеры хороших модулей есть у тебя же в коменте – nginx просто отличный, ACME, ну и так далее. А ещё есть очень приятные home-manager и simple-nixos-mailserver, которые позволяют сделать вообще идеальный повторяемый декларативный конфиг перфекциониста.

balsoft ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.