NixOS 26.05 «Yarara»

Deweloperzy NixOS zaprezentowali wersję NixOS 26.05 «Yarara» — nową stabilną wersję dystrybucji, opartej na deklaratywnej konfiguracji systemu i menedżerze pakietów Nix. Wersja ta będzie otrzymywać poprawki błędów oraz aktualizacje bezpieczeństwa do 31 grudnia 2026 roku, a poprzednia gałąź NixOS 25.11 «Xantusia» została uznana za przestarzałą i zakończy wsparcie 30 czerwca 2026 roku.

W przygotowaniu wydania uczestniczyli 2842 deweloperów, którzy wnieśli 59 703 commitów od ostatniego wydania. W Nixpkgs dodano 20 442 nowych pakietów, zaktualizowano 20 641 pakietów, usunięto 17 532 przestarzałych pakietów. W samym NixOS pojawiło się 85 nowych modułów i 1547 nowych parametrów konfiguracji.

Główne zmiany

  • Stage 1/initrd teraz domyślnie działa na systemd.
    Wczesna faza rozruchu, odpowiedzialna za przygotowanie systemu przed uruchomieniem głównego systemu operacyjnego, została przeniesiona na systemd. Stara wersja skryptowa została uznana za przestarzałą i zaplanowana do usunięcia w NixOS 26.11. Tymczasowo można wrócić do poprzedniego działania przez boot.initrd.systemd.enable = false, ale deweloperzy tego rozwiązania nie zalecają. Dla systemów z dyskami LUKS osobno opisano szczegóły migracji, w tym poprawne wskazanie /dev/mapper/ oraz zmianę zachowania zapytania o hasło.

  • Dodano system.nix jako alternatywny punkt wejścia do konfiguracji.
    Oprócz klasycznych plików configuration.nix i flake.nix, teraz można używać system.nix. Pozwala to na konfigurację NixOS bez nix-channel, na przykład z wyraźnie przypiętym archiwum Nixpkgs. Domyślnie plik jest poszukiwany pod adresem /etc/nixos/system.nix, ale ścieżkę można zmienić za pomocą , --file i --attr.

  • Jądro Linux domyślnie zaktualizowano z 6.12 do 6.18.
    Reszta wspieranych gałęzi jądra pozostaje dostępna, jak wcześniej: użytkownik może wybrać potrzebną wersję przez konfigurację NixOS.

  • D-Bus został domyślnie zastąpiony przez dbus-broker.
    Zamiast klasycznej implementacji dbus teraz używany jest dbus-broker, który jest reklamowany jako bardziej wydajny i niezawodny, zachowując zgodność ze wzorcem implementacji D-Bus. Przełączenie implementacji wymaga ponownego uruchomienia, ponieważ bezpieczne ponowne uruchomienie D-Bus w trakcie sesji użytkownika jest niemożliwe. W razie potrzeby starą implementację można pozostawić poprzez services.dbus.implementation = "dbus".

  • Testowy sterownik NixOS uzyskał backend oparty na systemd-nspawn.
    Testy integracyjne mogą być teraz uruchamiane nie tylko w QEMU-VM, ale także w kontenerach systemd-nspawn. Powinno to przyspieszyć testy i zmniejszyć zużycie zasobów tam, gdzie pełna maszyna wirtualna nie jest potrzebna. Osobno zaznaczono możliwość testowania obciążeń GPU/CUDA dzięki mount-bind węzłów urządzeń hosta do kontenerów.

  • Zaktualizowane kluczowe komponenty Nixpkgs.
    GCC zaktualizowano z 14 do 15, Node.js domyślnie — z 22 LTS do 24 LTS, Ruby — z 3.3 do 3.4. Deweloperzy GCC i Node.js osobno ostrzegają o możliwych niezgodnych z wcześniejszymi wersjami zmianach.

  • GNOME zaktualizowano do wersji 50 „Tokyo”.
    W wydaniu zawarto GNOME 50, w którym ogłoszono ulepszenia dostępności, pracy z wyświetlaczami i inne zmiany w środowisku pulpitu.

  • Ostatnie wydanie Nixpkgs z obsługą x86_64-darwin.
    Nixpkgs 26.05 będzie ostatnim wydaniem z obsługą Intel macOS. Binarne pakiety i wsparcie dla platformy będą dostępne do końca cyklu życia 26.05, ale w 26.11 wsparcie dla x86_64-darwin oraz kompilacja ze źródeł zostaną zakończone.

Nowe moduły

W NixOS 26.05 dodano wiele nowych modułów dla usług i programów. Wśród nich wyróżniają się:

  • services.openthread-border-router — moduł dla OpenThread Border Router, bramy między sieciami mesh Thread a sieciami IP.
  • programs.atuin — integracja Atuin do synchronizacji, wyszukiwania i tworzenia kopii zapasowej historii powłoki.
  • services.meshtasticd — wsparcie dla Meshtastic, zdecentralizowanej sieci mesh dla urządzeń o niskim poborze mocy.
  • services.reaction — demon podobny do fail2ban: analizuje wyjście programów i może blokować adresy przy powtarzających się błędach autoryzacji.
  • services.vinyl-cache — nowy moduł po przemianowaniu projektu Varnish Cache na Vinyl Cache; stary services.varnish pozostaje na razie dla migracji.
  • services.rqbit — klient BitTorrent napisany w Rust z HTTP API i interfejsem webowym.
  • services.tailscale.serve — deklaratywna konfiguracja Tailscale Serve do publikacji lokalnych usług w tailnet.

Dodano także moduły dla ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane i wielu innych usług.

Zmiany dla administratorów i stacji roboczych

  • Konfiguracja NVIDIA stała się bardziej deklaratywna.
    Dodano parameter hardware.nvidia.branch do wyboru gałęzi sterownika, zaktualizowano połączenie modułu NixOS z nowym układem pakietu nvidia-x11, a parametry kernel module można teraz ustawiać przez hardware.nvidia.moduleParams, po czym są zapisywane w konfiguracji modprobe, a nie przekazywane przez globalną linię poleceń jądra.

  • Wine zaktualizowano do gałęzi 11.0.
    Dla użytkowników uruchamiających aplikacje i gry Windows przez Wine oznacza to przejście na nową dużą gałąź Wine w ramach stabilnego zestawu pakietów NixOS 26.05.

  • Certyfikaty ACME otrzymały dynamiczny czas odnawiania.
    Jeśli security.acme.defaults.validMinDays nie jest ustawiony, NixOS teraz oblicza moment odnawiania z uwzględnieniem terminu ważności certyfikatu: dla zwykłych certyfikatów odnawianie ma miejsce po upływie dwóch trzecich czasu życia, dla krótkoterminowych - po upływie połowy okresu.

  • OpenSSH zyskał nowe parametry.
    Teraz można generować klucze hosta przez services.openssh.generateHostKeys = true, nawet jeśli sam serwer SSH nie jest włączony. Jest to przydatne dla systemów, które potrzebują kluczy hosta SSH do innych zadań, na przykład agenix lub sops-nix. Dodano także parametr services.openssh.enableRecommendedAlgorithms, który pozwala zrezygnować z zestawu algorytmów polecanych przez NixOS.

  • Nextcloud domyślnie aktualizuje się do v33 dla nowych systemów.
    Dla konfiguracji z system.stateVersion >= 26.05 domyślnie używane jest pkgs.nextcloud33. Programiści ostrzegają, że bezpośrednie aktualizowanie z Nextcloud 31 lub starszych wersji do 33 jest niemożliwe: najpierw trzeba przejść przez wersję pośrednią.

  • Wyłączono hałaśliwe logowanie odrzuconych połączeń zapory.
    Parametr networking.firewall.logRefusedConnections teraz domyślnie wynosi false, ponieważ na serwerach, dostępnych z internetu, takie wiadomości mogą szybko zapychać bufor pierścieniowy jądra i wypierać bardziej przydatne informacje diagnostyczne.

  • glibc zaktualizowano do 2.42.
    Nowa wersja nie czyni stosu wykonywalnym, jeśli wymaga tego biblioteka współdzielona. Programiści uważają takie przypadki za błędy i sugerują poprawę kompilacji poprzez -z,noexecstack lub usunięcie flagi za pomocą patchelf --clear-execstack; globalne włączanie starego zachowania nie jest zalecane z powodów bezpieczeństwa.

NixOS 26.05 – wydanie z zauważalnymi zmianami infrastrukturalnymi: przejście initrd na systemd, rezygnacja z domyślnego starego D-Bus, nowy sposób opisywania systemu za pomocą system.nix, duża aktualizacja Nixpkgs i przygotowania do usunięcia przestarzałych platform i modułów.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster