
NixOS është rikthyer me, Nix OS 25.11, një version që sjell ndryshime shumë të thella si në vetë sistemin ashtu edhe në ekosistemin e gjerë të paketave që e rrethojnë atë. Me emrin e koduar "Xantusia", tani është i disponueshëm dhe vjen i mbushur me veçori të reja interesante për desktopët, serverët, zhvillimin dhe vendosjen në cloud, por edhe me një numër të konsiderueshëm papajtueshmërish dhe paketash të vjetruara që duhen shqyrtuar me kujdes para përditësimit.
Në këtë artikull do të shohim Të gjitha lajmet e rëndësishme Nga NixOS 25.11 dhe baza e paketave Nixpkgs: përditësime kryesore si GNOME 49, LLVM 21 dhe ROCm 6.3; ndryshime të rëndësishme në Go, Rust, Node.js, PostgreSQL dhe Docker; shërbime të riemërtuara; module të reja; dhe opsione shtesë konfigurimi. Gjithashtu do të diskutojmë një studim rasti nga bota reale që përfshin problemet e proxy-t gjatë kompilimit të Discord dhe si t'i adresojmë ato në këtë mjedis të ri.
NixOS 25.11 “Xantusia”: shifrat e ciklit jetësor dhe lançimit
Versioni i ri i qëndrueshëm, NixOS 25.11 “Ksantusia”Tani mund të instalohet dhe përditësohet në çdo sistem duke përdorur kanale të qëndrueshme. Ky botim do të marrë përditësime sigurie dhe rregullime gabimesh për shtatë muaj, deri më 30 qershor 2026, kështu që është përditësimi i ri i rekomanduar nëse vini nga një version i mëparshëm.
E mëparshmja e qëndrueshme, NixOS 25.05 “Bizullkuq”, zyrtarisht bëhet i vjetëruar dhe do të ndalojë së marri përditësime sigurie nga 31 dhjetori 2025. Nëse jeni ende në versionin 25.05 ose në një degë edhe më të vjetër, është një kohë e mirë për të planifikuar me qetësi migrimin tuaj në versionin 25.11, duke shqyrtuar ndryshimet e papajtueshme që do t'i detajojmë në të gjithë këtë tekst.
Ky lançim është gjithashtu një prezantim i shkalla e zhvillimit të projektit. Midis NixOS 25.05 dhe NixOS 25.11, morën pjesë 2742 kontribues, duke nënshkruar së bashku jo më pak se 59.430 marrëveshje për Nixpacks dhe konfigurimin e sistemit. Pas këtyre shifrave qëndron gjithçka, nga rregullimet e vogla te paketat margjinale e deri te ridizajnimet e mëdha të moduleve kritike të shpërndarjes.
Nixpkgs: Paketa të shtuara, të përditësuara dhe të hequra nga NixOS 25.11
Koleksioni i paketave Nixpkgs, i cili është shtyllë Jo vetëm NixOS, por çdo sistem që përdor menaxherin e paketave Nix në Linux ose macOS ka marrë mirëmbajtje masive këtë cikël.
Nga njëra anë, ka pasur 7002 paketa të reja të shtuaraduke zgjeruar më tej gamën e softuerëve të disponueshëm. Kjo përfshin gjithçka, nga mjetet e zhvillimit të teknologjisë së fundit deri te aplikacionet për desktop, shërbimet e menaxhimit dhe softuerët shkencorë.
Në të njëjtën kohë, ekipi ka U përditësuan 25.252 paketa ekzistueseKjo siguron që shumica e softuerëve të njohur të përditësohen në versionet e fundit, veçanërisht ato me përditësime sigurie dhe përmirësime të performancës. Kjo është thelbësore në mjediset ku riprodhueshmëria është thelbësore, duke ruajtur njëkohësisht përditësimin e arsyeshëm.
Për ta mbajtur depon të menaxhueshëm dhe të sigurt, Nixpkgs ka 6338 paketa të vjetra u hoqën që nuk mirëmbaheshin më, ishin të prishura ose ishin bërë të vjetruara në rrjedhën e sipërme. Në shumë raste, alternativa të drejtpërdrejta ekzistojnë brenda vetë pemës Nixpkgs, por në të tjera, ato thjesht bëhen të padisponueshme për të shmangur problemet e sigurisë ose të kompilimit.
Modulet dhe opsionet e konfigurimit të NixOS
Përveç paketave të tij, NixOS dallohet nga sistemi i tij i fuqishëm i moduleve deklarative. Ky cikël ka përfshirë 107 module të reja të inkorporuaraKëto përditësime shtojnë mbështetje për shërbime, daemonë, aplikacione dhe konfigurime të reja të sistemit. Ato sjellin gjithashtu 1778 opsione të reja konfigurimi, duke rritur më tej detajet me të cilat mund të përshkruhet një sistem.
Nga ana tjetër, ka pasur u hoqën 41 module dhe 807 opsione konfigurimi që ishin bërë të vjetëruara, të prishura ose të zëvendësuara nga alternativa më moderne. Nëse ripërdorni konfigurime të vjetra, është mirë të rishikoni njoftimet e vjetërimit për të përshtatur skedarët tuaj para se të azhurnoni.
Karakteristika të reja të dukshme në desktop: GNOME 49 “Brescia”
Një nga veçoritë e reja të mëdha për përdoruesit e desktopit është përditësimi i GNOME 49 “Brescia”Ky version i mjedisit të desktopit bën një hap vendimtar drejt Wayland dhe eliminon sesionin e bazuar në X11, i cili mund të jetë një ndryshim i rëndësishëm nëse keni ruajtur konfigurime ose zgjerime më të vjetra që vareshin në mënyrë të qartë nga Xorg.
GNOME 49 përfshin Aplikime të reja Kjo përfshin një program të përmirësuar për luajtjen e videove dhe një program për shikimin e dokumenteve, si dhe një kalendar të ridizajnuar dhe shumë përmirësime të vogla në përvojën e përdoruesit. Këshillohet të rishikoni shënimet zyrtare të versionit të GNOME nëse mbështeteni në ndonjë funksionalitet shumë specifik ose zgjerim kompleks.
Kompiluesit dhe zinxhirët e mjeteve C: LLVM, GCC dhe CMake
Në seksionin e kompilimit, përditësimet e NixOS 25.11 LLVM në versionin 21Ky është një hap i rëndësishëm përpara për zhvilluesit që përdorin C, C++ ose Rust me zinxhirin e mjeteve Clang. Ky version përfshin përmirësime optimizimi, objektiva të reja të mbështetura dhe rregullime në paralajmërimet që mund të shkaktojnë ndryshime në sjellje në disa projekte.
përpiluesi GCC mbetet në degën 14Ky është një version që është tashmë i vendosur dhe i testuar në prodhim. Kjo e bën më të lehtë ruajtjen e përputhshmërisë me projektet që ende varen nga kjo familje kompilatorësh pa hasur ndryshime shkatërruese me çdo përditësim të sistemit.
Nga ana e saj, CMake është përditësuar në versionin 4Kjo mund të mundësojë funksione të reja në sistemet moderne të ndërtimit, por mund të kërkojë edhe rregullime në projektet që kanë përdorur sintaksë ose komanda të vjetruara. Nëse keni shabllone të vjetra CMake, është mirë të kryeni teste ndërtimi përpara se të finalizoni migrimin.
GPU, informatika dhe ndryshimet në ROCm dhe CUDA
Për ata që punojnë me përshpejtimin e GPU-së, dega rocmPackages_6 përmirësohet në ROCm 6.3Ndërsa rocmPackages_5 Është hequr nga pema. Disa pjesë janë ristrukturuar: rocmPackages.rocm-thunk Zhduket si një paketë e veçantë dhe integrohet në rocmPackages.clr, Dhe rocmPackages.clang-ocl Ai po del në pension pasi u braktis nga AMD në vitin 2023.
Paralelisht, Mbështetja zyrtare për CUDA 10 është humbur.Siç është përmendur tashmë në shënimet e lëshimit të NixOS 24.11, përdoruesit që ende mbështesnin pajisje shumë të vjetra duhet të marrin në konsideratë përmirësimin e GPU-së së tyre ose të kontrollojnë nëse ka alternativa të mirëmbajtura nga prodhues ose backend-e të tjerë.
Shfletuesi, proksitë dhe problemet me kompilimin e Discord
Një çështje praktike që ka dalë në dritë me këtë version është përdorimi i proxy-ve gjatë kompilimeveNjë përdorues përshkruan se si mund ta shkarkojë me sukses skedarin. discord-0.0.116.tar.gz nga shfletuesi duke përdorur proxy-n e korporatës, por kur ekzekutohet nixos-rebuild Shkarkimi me curl dështon vazhdimisht me një gabim curl: (35) Recv failure: Connection reset by peer derisa të shterohen të gjitha përpjekjet.
Mesazhi i gabimit Nix tregon se Tarball-i i Discord-it nuk mund të shkarkohej nga asnjë pasqyrë, duke thyer kështu derivimin discord-0.0.116.tar.gz.drv dhe, nga ana tjetër, ndërtimi i mjedisit të përdoruesit dhe i të gjithë sistemit. Edhe pse regjistri tregon paralajmërime për ripërpjekje automatike, variabla të tilla si https_proxy o all_proxyKjo sugjeron që mjedisi i kohës së ekzekutimit brenda sandbox-it të ndërtimit nuk po e sheh konfigurimin e rrjetit të përdoruesit.
Në NixOS, variablat standarde të mjedisit proxy Ato mund të mos përhapen direkt në fork nëse përdoret sandboxing i rreptë ose nëse konfigurimi i sistemit nuk i eksporton ato në ndërtime. Zgjidhja tipike përfshin konfigurimin e opsioneve Nix si nix.extraOptions te perfshish http_proxy, https_proxy dhe kompaninë, ose çaktivizoni përkohësisht sandbox-in për atë makinë (nuk rekomandohet për afat të gjatë) ndërsa rregulloni serverin proxy për të lejuar trafikun nga IP-ja e ndërtuesit.
Një tjetër mundësi është të drejtoheni te memorje binare të memorjes që tashmë përmbajnë Discord ose paketa të tjera problematike, duke e penguar kështu Nix-in të shkarkojë direkt origjinat. Sidoqoftë, këto lloje gabimesh të rrjetit bëhen më të rëndësishme në një version si 25.11, i cili lëviz kaq shumë pjesë në të njëjtën kohë dhe mund të nxjerrë në pah sjellje të ndryshme në mënyrën se si zgjidhen URL-të.
Rrjeti, kontejnerët dhe shërbimet e uebit
Në fushën e rrjetëzimit dhe kontejnerëve, NixOS 25.11 prezanton ndryshime të rëndësishme. Përmirësimet e proxy-t HTTP të Squid në versionin 7Ky botim përfshin disa ndryshime të papajtueshme, siç është heqja e funksionalitetit ESI. Për rregullime në cilësimet tuaja të personalizuara, rekomandohet të rishikoni shënimet e lëshimit të Squid.
Në nivelin e orkestrimit, përditësime të kontejnerëve në degën e saj 2.xKjo sjell me vete një numër ndryshimesh në sjellje. Pavarësisht nëse përdorni containerd direkt ose si një komponent të një platforme, është thelbësore të rishikoni dokumentacionin e containerd 2.0 për të shmangur surprizat në prodhim.
Në botën e Docker, docker_24 hiqet nga pema sepse nuk mbështetet më dhe ka dobësi të njohura që nga qershori 2024. Ideja është që instalimet të kalojnë në versione më të reja dhe të mirëmbajtura të Docker.
Lidhur me serverat dhe panelet e kontrollit, NetBox është përditësuar në degën 4.2me ndryshime të rëndësishme në nivelet e skemës dhe sjelljes. Versioni 4.0.x është hequr nga pema dhe përdoruesve u këshillohet të ndjekin njoftimet për përditësimet 4.1 dhe 4.2 para se të përditësojnë. Shërbime të tjera si p.sh. matomo Ata kalojnë në përdorimin e versionit 5 si parazgjedhje (versioni 4 nuk mbështetet më) dhe paketa hiqet. matomo-beta meqenëse tani është e lehtë të mbishkruhet versioni nga overrideAttrs.
Kafka bën gjithashtu një hap të rëndësishëm: Apache Kafka është përditësuar në degën 4.0i cili nuk e mbështet më ZooKeeper. Të gjitha instalimet duhet të migrohen në modalitetin KRaft, duke ndjekur udhëzimet e Apache Foundation. Në NixOS, kjo përfshin rishikimin e konfigurimeve për të hequr referencat te ZooKeeper dhe përshtatjen e vendosjeve të ndërmjetësve.
Shërbimet, daemonët dhe aplikacionet që ndryshojnë ose zhduken nga NixOS 25.11
Lista e Paketa dhe shërbime që janë riemëruar, përditësuar në mënyrë të papajtueshme ose janë hequr nga përdorimi Është shumë e gjatë në këtë cikël, një shenjë e gatishmërisë për të pastruar pemën e softuerëve të vjetër ose problematikë.
Disa shembuj të dukshëm: gkraken Zhduket dhe rekomandohet të përdoret coolercontrol si alternativë; opensmtpd-extras Po hiqet sepse nuk është i pajtueshëm me OpenSMTPD 7.6.0+, duke i hapur rrugën paketave specifike. opensmtpd-table-*; zamad Ai ndalon mbështetjen e MySQL dhe i detyron përdoruesit të migrojnë në PostgreSQL duke ndjekur udhëzuesin zyrtar.
Në botën e emrave, Minetest tani quhet Luanti për të pasqyruar ndryshimin në rrjedhën e sipërme, por pseudonimet mbahen për të shmangur ndërprerjet e menjëhershme. Në mënyrë të ngjashme, ndryshimet e poac në cabinpkg, xdragon bëhet dragon-drop (me xdragon (si pseudonim) dhe siduck76-st është riemëruar në st-snazzyKa edhe shkronja të vogla: fonti serioz-sans Po tërhiqet sepse upstream e ka ndryshuar emrin në Serious Shanns, ende i papaketuar.
Projektet e tjera thjesht arkivohen: gkraken, i përkohshëm, vokal, fluxus, sm64ex-coop, nexusmods-app, nodePackages.ganache dhe shumë të tjera janë shënuar si të prishura, të pamirëmbajtura ose të pasigurta dhe janë hequr nga Nixpacks. Në disa raste, sugjerohet një alternativë (për shembull, sm64coopdx për të zëvendësuar sm64ex-coop, ose gnome-podcasts y kasts për të zëvendësuar një zanore).
Në mjedisin e mesazheve dhe privatësisë, paketat signald, signaldctl dhe purple-signald Ato po ndërpriten për shkak të papajtueshmërisë së zgjatur me serverat zyrtarë të Signal dhe serverin Matrix. kanal Është shënuar si i prekshëm pasi është ndërprerë nga zhvilluesit e tij.
Versione të reja dhe ndryshime në sjelljen e aplikacioneve të njohura
Përveç zhdukjeve, shumë aplikacione përditësohen me ndryshimet në sjellje që prishin përputhshmërinë. Për shembull, Agjenti Grafana dhe moduli i tij Ata po largohen nga skena në favor të Grafana Alloy, e cila tashmë ka shërbimin e vet. services.alloyGrafana rekomandon migrimin në grafana-alloy dhe ofron dokumentacion për të përfunduar transferimin.
Ekosistemi i monitorëve dhe paneleve është gjithashtu në zhvillim: Prometeu bën kërcimin në degën 3.xme shënime zyrtare të migracionit, ndërsa kanata, authelia, helmfile, agjent-i-politikave-të-hapura dhe shumë paketa të tjera përditësohen në versionet kryesore me ndryshime në sintaksë, formate konfigurimi dhe vlera parazgjedhjeje. Në veçanti, OPA bën rego.v1 është tani stili i parazgjedhur, duke e shënuar sintaksën v0 si të trashëguar, megjithëse një modalitet përputhshmërie ende ekziston.
Bota e desktopit nuk është shumë larg: GIMP 3.0 shfaqet si gimp3, Strawberry është përditësuar në serinë 1.2 dhe braktis backend-in VLC dhe Qt5 (paketa zhduket) strawberry-qt5 dhe disa opsione me GStreamer/VLC), rofi Kalon nga versioni 1.7.5 në 1.7.6 me ndryshime ABI në shtojcat binare, dhe tauon 7.9.0+ Baza juaj e të dhënave po migrohet në një skemë të papajtueshme me versionin prapa, prandaj këshillohet të bëni një kopje rezervë të saj. ~/.local/share/TauonMusicBox para hapjes së versionit të ri.
Në fushën e zhvillimit të uebit dhe JavaScript, nodejs_latest evoluon në serinë 24.x, eliminohen nodejs_23 y nodejs_18dhe pastron paketat Node që nuk duhet të kishin qenë kurrë globale (si p.sh. webpack-dev-server, copy-webpack-plugin, expo-cli o create-react-native-app), me rekomandimin për t'i instaluar ato në nivel projekti. Mjete të tilla si pnpm kalon në versionin 10 me një paketë dytësore pnpm_9 për ata që kanë nevojë për pajtueshmëri.
Ekzistojnë gjithashtu rregullime në fontet: nerdfonts është i ndarë në paketa individuale nën hapësirën e emrave nerd-fonts dhe shtigjet e instalimit për fontet ndryshojnë, tani duke pasur drejtori sipas llojit të fontit (<fontDirName>Kjo na detyron të përshtasim konfigurimet që tregonin rrugët e vjetra.
Ndryshime në bërthamë, harduer dhe mjedis të sistemit
Në nivelin e sistemit, ajo është e braktisur mbështetje e plotë për Darwin 32-bitduke ruajtur vetëm platforma moderne. Për më tepër, konfigurimi i trefishtë i aarch64-darwin përputhet me arm64-apple-darwin, në përputhje me pritjet e Apple dhe LLVM.
El paquete tinycc Pastaj i ndan rezultatet në dev, doc y lib, duke e bërë tinycc.out Ai përmban vetëm binaret tcc dhe kompilatorët e kryqëzuar. Në TPM, tpm2-pkcs11 Ai kompilohet pa mbështetje për abrmd Si parazgjedhje, i jep përparësi menaxherit të burimeve të bërthamës; nëse ju nevojitet varianti me abrmd, ai ekziston. tpm2-pkcs11.abrmddhe moduli NixOS zgjedh automatikisht sipas security.tpm2.abrmd.
Në udev, rregullat e libjaylink Ata tani kërkojnë të jenë pjesë e grupit. jlink në vend të plugdevKjo ishte shumë e pazakontë në NixOS. Qasja lejohet edhe nëpërmjet seancave të sediljes, kështu që ndikimi është i kufizuar nëse përdorni një desktop standard.
rekuizitat mkBinaryCache Është modernizuar dhe fillon të përdoret zstd si kompresim i parazgjedhur
Për memorjet binare të gjeneruaraMundësia për të vazhduar mbetet e hapur. xz Mediante compression = "xz";Kjo përmirëson performancën në gjenerimin dhe konsumimin e skedarëve binare në shumicën e rasteve.
Në opsionet e rrjetit, networking.nat.externalIP dhe externalIPv6 ndryshojnë sjelljen e tyre.: rregullat e networking.nat.forwardPorts Këto rregulla tani zbatohen vetëm për paketat e destinuara për IP-të e specifikuara në mënyrë të qartë. Kjo parandalon ridrejtimet e papritura, por mund të kërkojë rregullimin e përkufizimeve ekzistuese të NAT.
Në menaxhimin e sistemit të skedarëve, përkufizimet Sistemet e skedarëve (siç janë Sistemet e skedarëve."/") vendosen duke përdorur lib.mkDefault nga modulet NixOS, gjë që lejon zëvendësimin e të gjithave menjëherë, por shkakton gabime nëse vetëm atributet individuale mbishkruhen pa specifikuar devicePërndryshe, mund të hasni mesazhe si No device specified for mount point '/'.
Redaktimi i tekstit, mjediset e zhvillimit dhe shërbimet e ndryshme të NixOS 25.11
Në universin Emacs, NixOS 25.11 Hiq Emacs 28 dhe 29Përfshihen si versioni standard ashtu edhe versioni Macport për Emacs 28. Versioni Macport i Emacs 29 mirëmbahet, por me patch-e për dobësitë e njohura. Racket gjithashtu i nënshtrohet shkurtimit: racket_7_9 është tërhequr për shkak të pasigurisëduke shtyrë për të përdorur Racket 8, dhe duke eliminuar kështu fluks, e cila ishte mbështetur në atë version të pamirëmbajtur për vite me radhë.
Motori i kërkimit të tekstit binwalk 3.1.0 Rishkruhet në Rust dhe moduli i lidhur me Python bëhet i padisponueshëm; mjeti i llogarive personale python3Packages.beancount Rritet në 3.1 me serinë e mëparshme të ruajtur si beancount_2Në email dhe CLI, tldr Kalon në përdorimin e klientit Python në vend të C, dhe Himalajet Përditësohet në versionin 1.1.0 me ndryshime të rëndësishme që kërkojnë një rishikim të konfigurimit.
Në mjete të ndryshme, nq 1.0 riemërton fq dhe tq në nqtail dhe nqterm, zf 0.10.2 Ndryshon mënyrën se si trajton sekuencat Unicode dhe escape, dhe ast-grep hiq komandën sg për të shmangur konfliktet me shadow-utils, duke lejuar ende një version të pajtueshmërisë së trashëguar përmes enableLegacySg = true;.
Në të njëjtën kohë, familja e funksioneve standarde të regjistrit nixLog* Rishkruhet për të vendosur parashtesë në nivelin e debuggingut dhe emrin e funksionit thirrës, duke riprezantuar nixLog si një regjistrues i pakushtëzuar që shton edhe kontekstin e funksionit. Kjo e bën më të lehtë debuggimin e derivimeve dhe grepave komplekse.
Së fundmi, disa shërbime testimi si p.sh. testuesit.shellcheck Tani ata ju paralajmërojnë nëse atributi nuk është dhënë. namee cila do të bëhet e detyrueshme në versionet e ardhshme. Dhe në Haskell, testTarget është shënuar si i vjetëruar në favor të testTargets, i cili pranon një listë të qartë objektivash në vend të një vargu të ndarë me hapësira.
Versioni 25.11 i NixOS kështu konsolidon një numër të madh ndryshimesh, nga përditësimet masive të desktopit GNOME 49 dhe paketave deri te rregullimet e thella në zinxhirët e mjeteve, shërbimet e rrjetit dhe politikat e përputhshmërisë, duke e bërë atë një version kyç për këdo që dëshiron ta mbajë mjedisin e tij Nix të përditësuar pa humbur nga sytë. stabiliteti dhe riprodhueshmëria që e karakterizojnë projektin.