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


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

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

  • Добавлено 7349 пкетов, удалён 8181 пакет, обновлено 14442 пакета. Обновлены версии компонентов дистрибутива, в том числе gcc 9.3.0, glibc 2.31, mesa 20.1.7, Python 3.8, PHP 7.4, MariaDB 10.4, Zabbix 5.0. Ядро Linux оставлено 5.4.
  • Рабочие столы обновлены до KDE 5.18.5 (+ KDE Applications 20.08.1) и GNOME 3.36. Добавлена поддержка композитного сервера Cage. Добавлено окружение Сinnamon 4.6. Началось формирование официальных сборок с GNOME.
  • Добавлен модуль для быстрого развёртывания сервера видеоконференция на базе Jitsi Meet.
  • Добавлен модуль c инструментарием для управления изолированными контейнерами Podman, который может использоваться для замены инструментария командной строки Docker.
  • Добавлена поддержка LCD-экранов, встроенных в клавиатуры и колонки Logitech.
  • В модуль GRUB добавлена поддержка защиты доступа к элементам загрузочного меню при помощи пароля.
  • Добавлен модуль для оптимальной настройки экранов с высокой плотностью пикелей (HiDPI).
  • Добавлена поддержка Trusted Platform Module 2 и токенов Yubikey.
  • Добавлена поддержка doas (альтернатива sudo).
  • Добавлена поддержка kubernetes-дистрибутива k3s.
  • Добавлен 61 новый сервис.

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

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=53986


Comments 0