Излезе дистрибуцията 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 (уеб интерфейс за управление на 3D принтери), postfixadmin (уеб интерфейс за управление на електронната поща на база Postfix), seafile (платформа за облачно съхранение на данни). сървър на база Postfix), seafile (платформа за облачно съхранение на данни).
При използване на Nix пакетите се инсталират в отделно дърво от директории /nix/store или поддиректория в потребителската директория. Например, пакетът се инсталира като /nix/store/a2b5…8b163-firefox-94.0.2/, където «a2b5…» е уникален идентификатор на пакета, използван за управление на зависимостите. Пакетите са оформени като контейнери, съдържащи необходимите компоненти за работа на приложенията. Подобен подход се прилага и в пакетния мениджър GNU Guix, който е основан на развитието на Nix.
Между пакетите е възможно определяне на зависимости, при което за търсене на наличните вече инсталирани зависимости се използва сканиране на хеш-идентификаторите в директорията на инсталираните пакети. Възможна е както загрузка на готови бинарни пакети от репозитория (при инсталиране на актуализации, за бинарните пакети се зареждат само delta-промените), така и сборка от изходни текстове с всички зависимости. Колекцията от пакети е представена в специален репозитори Nixpkgs.
Източник: opennet.ru
