Veröffentlichung der NixOS 21.11-Distribution mit dem Nix-Paketmanager

Die NixOS 21.11-Distribution wurde veröffentlicht, die auf dem Nix-Paketmanager basiert und eine Reihe eigener Entwicklungen bereitstellt, die die Systemeinrichtung und -wartung vereinfachen. NixOS verwendet beispielsweise eine einzige Systemkonfigurationsdatei (configuration.nix), bietet die Möglichkeit, Updates schnell rückgängig zu machen, unterstützt das Umschalten zwischen verschiedenen Systemzuständen und unterstützt die Installation einzelner Pakete durch einzelne Benutzer (das Paket wird im Home-Verzeichnis abgelegt). ) und die gleichzeitige Installation mehrerer Versionen desselben Programms ermöglicht, sind reproduzierbare Baugruppen gewährleistet. Die Größe des vollständigen Installationsimages mit KDE beträgt 1.6 GB, GNOME 2 GB und die verkürzte Konsolenversion 765 MB.

Wichtigste Neuerungen:

  • Der KDE Plasma-Desktop wurde standardmäßig auf die Verwendung des Wayland-Protokolls umgestellt. Aktualisierte GNOME 41- und Pantheon 6-Desktops (von Elementary OS 6).
  • Anstelle von iptables wird der Satz iptables-nft verwendet, der Dienstprogramme mit derselben Befehlszeilensyntax bereitstellt, die resultierenden Regeln jedoch in nf_tables-Bytecode übersetzt.
  • Aktualisierte Versionen von Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, Bash 5, OpenSSH 8.8p1.
  • Deutlich verbesserte Unterstützung für das LXD-Container-Management-System. Die Möglichkeit, mithilfe von nixpkgs Images für LXD aus Konfigurationsdateien zu erstellen, wurde implementiert. Erstellt NixOS-Images mit vollständiger Unterstützung für Nixos-Rebuild, die separat verwendet werden können.
  • Mehr als 40 neue Dienste hinzugefügt, darunter Git, btrbk (btrfs-Backup), Clipcat (Zwischenablage-Manager), dex (OAuth 2.0-Anbieter), Jibri (Jitsi Meet-Konferenzaufzeichnungsdienst), Kea (DHCP-Server), owncast (Streaming) Video) , PeerTube, ucarp (Implementierung des CARP-Protokolls), opensnitch (dynamische Firewall), Hockeypuck (OpenPGP-Schlüsselserver), MeshCentral (analog zu TeamViewer), influxdb2 (DBMS zur Speicherung von Metriken), fluidd (Webschnittstelle zur Verwaltung von 3D-Druckern), postfixadmin (Weboberfläche zur Verwaltung eines Postfix-basierten Mailservers), Seafile (Cloud-Datenspeicherplattform).

Bei Verwendung von Nix werden Pakete in einem separaten Verzeichnisbaum /nix/store oder einem Unterverzeichnis im Verzeichnis des Benutzers installiert. Das Paket wird beispielsweise als /nix/store/a2b5...8b163-firefox-94.0.2/ installiert, wobei „a2b5...“ die eindeutige Paketkennung ist, die für die Abhängigkeitsüberwachung verwendet wird. Pakete sind als Container konzipiert, die die für den Betrieb von Anwendungen erforderlichen Komponenten enthalten. Ein ähnlicher Ansatz wird im Paketmanager GNU Guix verwendet, der auf Nix-Entwicklungen basiert.

Es ist möglich, Abhängigkeiten zwischen Paketen zu ermitteln und nach dem Vorhandensein bereits installierter Abhängigkeiten zu suchen, indem Identifikator-Hashes im Verzeichnis der installierten Pakete gescannt werden. Es ist möglich, entweder vorgefertigte Binärpakete aus dem Repository herunterzuladen (bei der Installation von Updates für Binärpakete werden nur Delta-Änderungen heruntergeladen) oder aus dem Quellcode mit allen Abhängigkeiten zu erstellen. Die Paketsammlung wird in einem speziellen Repository Nixpkgs präsentiert.

Source: opennet.ru

Kommentar hinzufügen