Se lanzó la distribución NixOS 21.11, basada en el gestor de paquetes Nix y que ofrece una serie de desarrollos propios que facilitan la configuración y el mantenimiento del sistema. Por ejemplo, en NixOS se utiliza un único archivo de configuración del sistema (configuration.nix), se proporciona la posibilidad de revertir actualizaciones rápidamente, se admite el cambio entre diferentes estados del sistema, se permite la instalación de paquetes individuales por parte de los usuarios (el paquete se instala en el directorio personal), se puede instalar simultáneamente varias versiones de un mismo programa, y se garantizan compilaciones reproducibles. El tamaño de la imagen de instalación completa con KDE es de 1.6 GB, GNOME — 2 GB, y de la versión reducida de consola — 765 MB.
Novedades principales:
- El escritorio KDE Plasma por defecto ha sido cambiado para usar el protocolo Wayland. Se han actualizado los escritorios GNOME 41 y Pantheon 6 (de Elementary OS 6).
- En lugar de iptables, se utiliza el conjunto iptables-nft, que proporciona utilidades con la misma sintaxis de línea de comandos, pero que traducen las reglas recibidas a código byte nf_tables.
- Se han actualizado las versiones de Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1.
- Se ha mejorado significativamente el soporte del sistema de gestión de contenedores LXD. Se ha implementado la posibilidad de construir imágenes para LXD a partir de archivos de configuración utilizando nixpkgs. Se asegura la construcción de imágenes de nixOS con completo apoyo a nixos-rebuild, que se pueden utilizar de forma independiente.
- Se han añadido más de 40 nuevos servicios, incluyendo Git, btrbk (copia de seguridad btrfs), clipcat (administrador del portapapeles), dex (proveedor OAuth 2.0), Jibri (servicio para grabar conferencias Jitsi Meet), Kea (servidor DHCP), owncast (streaming de video), PeerTube, ucarp (implementación del protocolo CARP), opensnitch (cortafuegos dinámico), Hockeypuck (servidor de claves OpenPGP), MeshCentral (similar a TeamViewer), influxdb2 (BD para almacenar métricas), fluidd (interfaz web para gestionar impresoras 3D), postfixadmin (interfaz web para gestionar el correo sobre Postfix), seafile (plataforma de almacenamiento en la nube). el servidor en base a Postfix), seafile (plataforma de almacenamiento en la nube).
Al utilizar Nix, los paquetes se instalan en un árbol de directorios separado /nix/store o en un subdirectorio en el directorio del usuario. Por ejemplo, un paquete se instala como /nix/store/a2b5…8b163-firefox-94.0.2/, donde «a2b5…» es un identificador único del paquete utilizado para el control de dependencias. Los paquetes se presentan como contenedores que contienen los componentes necesarios para el funcionamiento de las aplicaciones. Un enfoque similar se aplica en el gestor de paquetes GNU Guix, que se basa en los principios de Nix.
Es posible definir dependencias entre paquetes, utilizando escaneo de identificadores hash en el directorio de paquetes instalados para buscar dependencias ya instaladas. Es posible tanto descargar paquetes binarios listos desde el repositorio (cuando se instalan actualizaciones de paquetes binarios, solo se descargan los cambios delta), como compilarlos a partir de los textos fuente con todas las dependencias. La colección de paquetes se presenta en un repositorio especial llamado Nixpkgs.
Fuente: opennet.ru
