Доступен дистрибутив NixOS 17.09, использующий пакетный менеджер Nix

Представлен релиз дистрибутива NixOS 17.09, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашнюю директорию), возможна одновременная установка нескольких версий одной программы. Размер полного установочного образа с KDE — 840 Мб, сокращённого консольного варианта — 345 Мб.

Основные новшества:

  • Окружение GNOME обновлено до выпуска 3.24, а KDE до KDE Plasma 5.10, KDE Applications 17.08.1 и KDE Frameworks 5.37;
  • Реализован учёт освобождаемых UID/GID — после удаления пользователя, его идентификатор блокируется от выделения новым пользователям и не может использоваться повторно;
  • Изменено поведение настройки services.xserver.xrandrHeads: первый экран в списке теперь выбирается как первичное устройство вывода. Также добавлена возможность указания дополнительных опций через установку атрибутов;
  • Переработан код обработки SSL в модуле services.nginx. Вводящая в заблуждение настройка enableSSL, которая разрешала работу только с SSL, переименована в onlySSL. Также добавлена опция addSSL для использования типовых настроек для хостов с HTTPS и без HTTPS;
  • Добавлено около 70 новых сервисов, среди которых programs/gnupg.nix, security/auditd.nix, service-managers/docker.nix, services/cluster/kubernetes/default.nix, services/logging/syslogd.nix, services/networking/dnscache.nix, services/networking/squid.nix, services/security/torify.nix и tasks/filesystems/bcachefs.nix;
  • В виртуальных окружениях, а базе QEMU применяемый по умолчанию сетевой интерфейс изменён с enp0s3 на ens3;
  • Удалены пакеты: compiz, wvdial, aiccu и fanctl. Прекращена поддержка grsecurity/PaX;

При использовании Nix пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя. Например, пакет устанавливается как /nix/store/f3d4q85649f394359bh52d9vf7a0f3-firefox-56.0.0/, где «f3d4q8…» является уникальным идентификатором пакета, используемым для контроля зависимостей. Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты.

Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Возможна как загрузка готовых бинарных пакетов из репозитория (при установке обновлений к бинарным пакетам загружаются только delta-изменения), так и сборка из исходных текстов со всеми зависимостями. Коллекция пакетов представлена в специальном репозитории Nixpkgs.

© OpenNet