Випуск дистрибутива 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.

Джерело: opennet.ru

Додати коментар або відгук