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

NixOS 20.03 Новости

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

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

  • Обновлены версии компонентов дистрибутива, в том числе ядро Linux 5.4 (было 4.19), gcc 9.2.0, glibc 2.30, mesa 19.3.3, openssl 1.1.1d, PostgreSQL 11, OpenSSH 8.1.
  • Рабочие столы обновлены до KDE 5.17.5 (+ KDE Applications 19.12.3), GNOME 3.34 и Pantheon 5.1.3 (из Elementary OS). При включении Pantheon через настройку services.xserver.desktopManager.pantheon.enable, автоматически включается и связанный с ним экран приглашения входа в систему.
  • В графическом инсталляторе после установки обеспечен автоматический запуск графического сеанса (раньше выводилось консольное приглашение с предложением запустить “systemctl start display-manager” если нужен графический интерфейс). Для отключения запуска экранного менеджера в загрузочное меню добавлен пункт “Disable display-manager”.
  • Для ZFS-пулов обеспечен еженедельный запуск операции TRIM для накопителей NVME и SSD (настройка services.zfs.trim.enable). Если ZFS присутствует в настройке config.boot.initrd.supportedFilesystems или config.boot.supportedFilesystems также производится периодический запуск операций проверки (services.zfs.autoScrub.enable) и автоматического создания снапшотов (services.zfs.autoSnapshot.enable).
  • Код nixos-option переписан на языке C++ и расширен опцией “-r” для вывода всех настроек.
  • Настройки services.xserver.desktopManager.default и services.xserver.windowManager.default заменены на универсальную опцию services.xserver.displayManager.defaultSession (например, services.xserver.displayManager.defaultSession = “xfce+icewm”).
  • Добавлено 46 новых сервисов.
  • Образы для SD-карт по умолчанию сжаты при помощи bzip2.

При использовании Nix пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя. Например, пакет устанавливается как /nix/store/f2a4…8a143-firefox-75.0.0/, где “f2a4…” является уникальным идентификатором пакета, используемым для контроля зависимостей. Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix.

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

Publisher
Оцените автора
AsaDagar
Добавить комментарий