Die Entwickler von NixOS haben eine neue Version veröffentlicht NixOS 26.05 «Yarara» — eine weitere stabile Version des Systems, das auf deklarativer Systemkonfiguration und dem Paketmanager Nix basiert. Diese Version erhält Fehlerbehebungen und Sicherheitsupdates bis zum 31. Dezember 2026, während die vorherige Version NixOS 25.11 «Xantusia» als veraltet gilt und das Ende der Unterstützung am 30. Juni 2026 erreicht..
An der Vorbereitung der Veröffentlichung waren 2842 Entwickler, die 59 703 Commits seit der letzten Veröffentlichung beigetragen haben. In Nixpkgs wurden 20 442 neue Pakete hinzugefügt, 20 641 Pakete aktualisiert, 17 532 veraltete Pakete entfernt.In NixOS selbst sind 85 neue Module и und.
Wesentliche Änderungen
1547 neue Konfigurationsparameter hinzugekommen. Stage 1/initrd läuft jetzt standardmäßig auf systemd.
Die frühe Ladephase, die für die Vorbereitung des Systems vor dem Start des Haupt-BS verantwortlich ist, wurde auf systemd umgestellt. Die alte Skriptversion wurde als veraltet erklärt und soll in NixOS 26.11 entfernt werden. Temporär kann das alte Verhalten durch boot.initrd.systemd.enable = false wiederhergestellt werden, jedoch wird dieser Weg von den Entwicklern nicht empfohlen. Für Systeme mit LUKS-Datenlaufwerken sind die Details zur Migration separat beschrieben, einschließlich der korrekten Angabe von /dev/mapper/ und der Anpassung des Verhaltens der Abfrage nach dem Passwortsatz.system.nix wurde als alternativer Einstiegspunkt für die Konfiguration hinzugefügt.
Neben den gewohnten configuration.nix und flake.nix kann nun auch system.nix verwendet werden. Dies ermöglicht die Konfiguration von NixOS ohne nix-channel, beispielsweise mit einem explizit festgelegten Archiv von Nixpkgs. Standardmäßig wird die Datei als /etc/nixos/system.nix gesucht, der Pfad kann jedoch über , —file und —attr geändert werden.Der Linux-Kernel wurde standardmäßig von 6.12 auf 6.18 aktualisiert.
Die anderen unterstützten Kernel-Versionen bleiben weiterhin wie gewohnt verfügbar: Benutzer können die gewünschte Version über die NixOS-Konfiguration auswählen.D-Bus wurde standardmäßig durch dbus-broker ersetzt.
Anstelle der klassischen Implementierung von dbus wird jetzt dbus-broker verwendet, der als leistungsfähiger und zuverlässiger positioniert ist und die Kompatibilität mit der Referenzimplementierung von D-Bus beibehält. Der Wechsel der Implementierung erfordert einen Neustart, da D-Bus während einer Benutzersitzung nicht sicher neu gestartet werden kann. Bei Bedarf kann die alte Implementierung durch 'services.dbus.implementation = "dbus";' beibehalten werden.Der Testtreiber für NixOS hat ein Backend mit systemd-nspawn erhalten.
Integrationstests können jetzt nicht nur in QEMU-VMs, sondern auch in systemd-nspawn-Containern ausgeführt werden. Dies sollte die Tests beschleunigen und den Ressourcenverbrauch dort reduzieren, wo vollständige Virtualisierung nicht nötig ist. virtuelle Maschine Besonders hervorgehoben wird die Möglichkeit, GPU/CUDA-Lasten durch das Bind-Mount von Host-Geräten in die Container zu testen.Die wichtigsten Komponenten von Nixpkgs wurden aktualisiert.
GCC wurde von 14 auf 15, Node.js standardmäßig von 22 LTS auf 24 LTS, Ruby von 3.3 auf 3.4. Für GCC und Node.js warnen die Entwickler gesondert vor möglichen inkompatiblen Änderungen.GNOME wurde auf Version 50 "Tokyo" aktualisiert.
Die Veröffentlichung umfasst GNOME 50, das Verbesserungen in Bezug auf Barrierefreiheit, die Arbeit mit Displays und weitere Änderungen der Desktop-Umgebung verspricht.Die letzte Nixpkgs-Version mit Unterstützung für x86_64-darwin.
Nixpkgs 26.05 wird die letzte Version mit Unterstützung für Intel macOS sein. Binäre Builds und Support für die Plattform bleiben bis zum Ende des Lebenszyklus von 26.05 erhalten, aber in 26.11 werden die Builds für x86_64-darwin und die Unterstützung für Builds aus Quellen eingestellt.
Neue Module
In NixOS 26.05 wurden viele neue Module für Dienste und Programme hinzugefügt. Zu den bemerkenswerten gehören:
- services.openthread-border-router — Modul für den OpenThread Border Router, eine Brücke zwischen Thread-Mesh-Netzwerken und IP-Netzwerken.
- programs.atuin — Integration von Atuin zur Synchronisation, Suche und Sicherung der Shell-Befehlsverlauf.
- services.meshtasticd — Unterstützung für Meshtastic, ein dezentralisiertes Mesh-Netzwerk für energieeffiziente Geräte.
- services.reaction — Daemon, der ähnlich wie fail2ban funktioniert: analysiert die Programmausgaben und kann bei wiederholten Authentifizierungsfehlern IP-Adressen sperren.
- services.vinyl-cache — neues Modul nach der Umbenennung des Varnish Cache-Projekts in Vinyl Cache; der alte services.varnish bleibt vorerst für die Migration erhalten.
- services.rqbit — BitTorrent-Client in Rust mit HTTP-API und Weboberfläche.
- services.tailscale.serve — deklarative Konfiguration von Tailscale Serve zur Veröffentlichung lokaler Dienste im tailnet.
Es wurden auch Module für ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane und viele andere Dienste hinzugefügt.
Änderungen für Administratoren und Arbeitsstationen
Die NVIDIA-Konfiguration ist nun deklarativer.
Die Option hardware.nvidia.branch wurde hinzugefügt, um den Treiberzweig auszuwählen. Das NixOS-Modul und das neue Layout des nvidia-x11-Pakets wurden aktualisiert. Außerdem können die Kernel-Modulparameter jetzt über hardware.nvidia.moduleParams definiert werden, wodurch sie in die modprobe-Konfiguration geschrieben werden, anstatt über die globale Kernel-Befehlszeile übergeben zu werden.Wine wurde auf Branch 11.0 aktualisiert.
Für Benutzer, die Windows-Anwendungen und Spiele über Wine ausführen, bedeutet dies den Wechsel zu einem neuen Haupt-Branch von Wine im stabilen Paket-Set NixOS 26.05.ACME-Zertifikate verfügen nun über eine dynamische Verlängerungszeit.
Falls security.acme.defaults.validMinDays nicht gesetzt ist, berechnet NixOS den Zeitpunkt der Verlängerung unter Berücksichtigung der Gültigkeitsdauer des Zertifikats: Bei regulären Zertifikaten erfolgt die Verlängerung nach zwei Dritteln der Lebensdauer, bei kurzlebigen Zertifikaten nach der Hälfte der Laufzeit.OpenSSH hat neue Parameter erhalten.
Jetzt können Host-Schlüssel über services.openssh.generateHostKeys = true generiert werden, auch wenn der SSH-Server selbst nicht aktiviert ist. Dies ist nützlich für Systeme, die SSH-Host-Schlüssel für andere Aufgaben benötigen, wie zum Beispiel agenix oder sops-nix. Auch der Parameter services.openssh.enableRecommendedAlgorithms wurde hinzugefügt, der es erlaubt, auf das von NixOS empfohlene Algorithmusset zu verzichten.Nextcloud wird standardmäßig für neue Systeme auf v33 aktualisiert.
Für Konfigurationen mit system.stateVersion >= 26.05 wird standardmäßig pkgs.nextcloud33 verwendet. Die Entwickler warnen, dass ein direktes Upgrade von Nextcloud 31 oder älteren Versionen auf 33 nicht möglich ist: Zuerst muss eine Zwischenversion installiert werden.Das laute Protokollieren abgelehnter Verbindungen in der Firewall ist deaktiviert.
Der Parameter networking.firewall.logRefusedConnections ist nun standardmäßig auf false gesetzt, da solche Nachrichten, Servern, die aus dem Internet zugänglich sind, schnell den Kernel-Ringpuffer überlasten und nützlichere Diagnosedaten verdrängen können.glibc wurde auf 2.42 aktualisiert.
Die neue Version macht den Stack nicht mehr ausführbar, wenn dies von der Shared Library verlangt wird. Entwickler betrachten solche Fälle als Fehler und empfehlen, den Build über -z,noexecstack zu korrigieren oder das Flag mit patchelf —clear-execstack zu löschen; das globale Aktivieren des alten Verhaltens wird aus Sicherheitsgründen nicht empfohlen.
NixOS 26.05 – eine Veröffentlichung mit signifikanten infrastrukturellen Änderungen: Umstellung des initrd auf systemd, Abkehr vom alten D-Bus als Standard, neue Systembeschreibung über system.nix, umfangreiches Update von Nixpkgs und Vorbereitung auf die Entfernung veralteter Plattformen und Module.
Quelle: linux.org.ru
