Выпуск дистрибутива NixOS 21.11, использующего пакетный менеджер Nix
Состоялся выпуск дистрибутива NixOS 21.11, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашний каталог), возможна одновременная установка нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа с KDE 1.6 ГБ, GNOME — 2 ГБ, сокращённого консольного варианта — 765 МБ.
Основные новшества:
Рабочий стол KDE Plasma по умолчанию переведён на использование протокола Wayland. Обновлены рабочие столы GNOME 41 и Pantheon 6 ((из Elementary OS 6).
Вместо iptables задействован набор iptables-nft, предоставляющий утилиты с тем же синтаксисом командной строки, но транслирующих полученные правила в байткод nf_tables.
Обновлены версии Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1.
- Значительно улучшена поддержка системы управления контейнерами LXD. Реализована возможность сборки образов для LXD из файлов конфигурации при помощи nixpkgs. Обеспечена сборка образов nixOS с полной поддержкой nixos-rebuild, которые можно использовать обособленно.
Добавлено более 40 новых сервисов, включая Git, btrbk (резервное копирование btrfs), clipcat (менеджер буфера обмена), dex (провайдер OAuth 2.0), Jibri (сервис для записи конференций Jitsi Meet), Kea (DHCP-сервер), owncast (стриминг видео), PeerTube, ucarp (реализация протокола CARP), opensnitch (динамический межсетевой экран), Hockeypuck (сервер ключей OpenPGP), MeshCentral (аналог TeamViewer), influxdb2 (СУБД для хранения метрик), fluidd (web-интерфейс для управления 3D-принтерами), postfixadmin (web-интерфейс для управления почтовым сервером на базе Postfix), seafile (платформа облачного хранения данных).
При использовании Nix пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя. Например, пакет устанавливается как /nix/store/a2b5…8b163-firefox-94.0.2/, где «a2b5…» является уникальным идентификатором пакета, используемым для контроля зависимостей. Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix.
Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Возможна как загрузка готовых бинарных пакетов из репозитория (при установке обновлений к бинарным пакетам загружаются только delta-изменения), так и сборка из исходных текстов со всеми зависимостями. Коллекция пакетов представлена в специальном репозитории Nixpkgs.
Источник: http://www.opennet.ru/opennews/art.shtml? num=56263
© OpenNet