The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск дистрибутива NixOS 20.09, использующего пакетный мене..."
Отправлено Домохозяйка анонима, 29-Окт-20 12:47 
> Кто-нибудь его реально использовал?

Перешёл на него с генты года три назад. Потом и серваки с дебиана перевёл. Очень удобно.

> Для чего он вообще нужен?

Состояние всей системы описывается в едином конфигурационном файле /etc/nixos/configuration.nix. На основе этого файла устанавливаются все необходимые пакеты, генерируются конфиги, создаются юзеры и т. д. Можно скопировать этот файл на другую машину, запустить nixos-rebuild и получить идентичную систему. Очень удобно, когда переезжаешь на новую рабочую машину или развёртываешь новый сервер. Конфигурационный файл получается на удивление небольшим. Можно положить его в git и фактически получить полный бэкап всей системы. Гораздо удобнее, чем Ansible, и гораздо надёжнее: Ansible работает через раз, потому что применяет изменения к существующей системы, находящейся в неизвестно, каком состоянии. NixOS, в отличие от Ansible, каждый раз пересобирает систему абсолютно с нуля. Поэтому результат не зависит от неизвестного начального состояния и всегда получается одним и тем же. "Абсолютно с нуля" звучит страшно, но на самом деле пересобирается только те части системы, которые изменились с прошлых раз, остальные используются повторно, и "полная пересборка" обычно занимает несколько секунд. Потом происходит атомарное переключение со старой системы на новую. Примерно как Silverblue, только намного продвинутее. NixOS, например, позволяет параллельно устанавливать любое количество версий любого пакета, и они не конфликтуют. Если хранить несколько состояний системы, одинаковые пакеты хранятся на диске только один раз.

Далее, огромные плюс - это пакетный менеджер Nix, на котором основан сабж. Для разработчика это идеальный инструмент. Не нужно вручную устанавливать dev-пакеты и засирать ими систему - вместо этого для каждого проекта пишется файлик shell.nix, где декларативно описаны все зависимости. Потом запускаешь nix-shell и получаешь рабочее окружение, где доступны все зависимости. Опять же, разные проекты могут использовать разные версии одной библиотеки, и они не будут друг другу мешать. Можно для каждого проекта зафиксировать версию репозитория nixpkgs и получить абсолютно воспроизводимое окружение со строго фиксироанными версиями всех зависимостей. На работе стали юзать - очень удобно. Когда приходит новый сотрудник, ему не надо два дня объяснять, как запустить проект - он просто делает git clone, nix-shell - и получает полностью готовое рабочее окружение. До сих не верится, но это работает. Nix можно использовать независимо от NixOS, хоть на убунте, хоть на федоре - везде работает одинаково.

> Какие есть проблемы?

Главный минус - NixOS не использует FHS. Там никакого глобального /usr/lib нет, все пакеты живут в каталогах типа /nix/store/shs8kax43dk69fh94g5w4bc1ra3nv2j2-gcc-9.3.0. Поэтому всякая бинарная проприетарщина сходу не запустится. При желании запустить можно, но нужны дополнительные шаги. В остальном - даже не знаю, для меня одни плюсы. Это дистрибутив будущего, и он настолько крут, что многие даже не в состоянии осознать.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру