Выпуск дистрибутива 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. Добавлено окружение Сinnamon 4.6. Началось формирование официальных сборок с GNOME.
  • Добавлен модуль для быстрого развёртывания сервера видеоконференция на базе Jitsi Meet.
  • Добавлен модуль c инструментарием для управления изолированными контейнерами Podman, который может использоваться для замены Docker.
  • Добавлена поддержка LCD-экранов, встроенные в клавиатуры и колонки Logitech.
  • В модуль GRUB добавлена поддержка защиты доступа к элементам загрузочного меню при помощи пароля.
  • Добавлен 61 новый сервис, в которых обеспечена поддержка Trusted Platform Module 2, doas (альтернатива sudo), nixos-containers, podman, композитного сервера Cage, Gerrit, Jitsi, kubernetes-дистрибутива k3s, rTorrent, Yubikey и т.д.

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

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

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

© OpenNet