NixOS 25.11 Xantusia: vse nove funkcije in ključne spremembe

  • NixOS 25.11 »Xantusia« posodablja na tisoče paketov, modulov in možnosti z močnim poudarkom na čistoči in varnosti.
  • Namizje je s posodobitvami GNOME 49 in orodij, kot so LLVM 21, CMake 4 in nove jezikovne različice, naredilo korak naprej.
  • V podatkovne baze, vsebnike in storitve se uvajajo številne nezdružljive spremembe, ki zahtevajo pregled obstoječih konfiguracij.
  • Številne aplikacije se preimenujejo ali umaknejo v korist sodobnejših alternativ, kar ekosistem usmerja k vzdrževani in varni programski opremi.

Nix OS 25.11

NixOS se je vrnil z, Nix OS 25.11, različica, ki prinaša zelo globoke spremembe tako v samem sistemu kot v obsežnem ekosistemu paketov, ki ga obdajajo. Z kodnim imenom »Xantusia« je zdaj na voljo in je poln zanimivih novih funkcij za namizne računalnike, strežnike, razvoj in uvajanje v oblaku, a tudi s kar nekaj nezdružljivostmi in zastarelimi paketi, ki jih je treba pred posodobitvijo skrbno pregledati.

V tem članku bomo videli Vse pomembne novice Iz NixOS 25.11 in baze paketov Nixpkgs: ključne posodobitve, kot so GNOME 49, LLVM 21 in ROCm 6.3; pomembne spremembe v Go, Rust, Node.js, PostgreSQL in Docker; preimenovane storitve; novi moduli; in dodatne možnosti konfiguracije. Obravnavali bomo tudi študijo primera iz resničnega sveta, ki vključuje težave s proxyjem pri prevajanju Discorda in kako jih odpraviti v tem novem okolju.

NixOS 25.11 “Xantusia”: podatki o življenjskem ciklu in lansiranju

Nova stabilna različica, NixOS 25.11 »Xantusia«Zdaj ga je mogoče namestiti in posodobiti v katerem koli sistemu s stabilnimi kanali. Ta izdaja bo prejemala varnostne popravke in popravke napak sedem mesecev, do 30. junija 2026, zato je to nova priporočena nadgradnja, če prihajate s prejšnje različice.

Prejšnja stabilna, NixOS 25.05 »Penica«, uradno postane zastarela in bo prenehala prejemati varnostne posodobitve od 31. decembra 2025. Če še vedno uporabljate različico 25.05 ali še starejšo vejo, je pravi čas, da mirno načrtujete selitev na različico 25.11 in pregledate nezdružljive spremembe, ki jih bomo podrobneje opisali v tem besedilu.

Ta predstavitev je tudi predstavitev stopnja razvoja projekta. Med NixOS 25.05 in NixOS 25.11 je sodelovalo 2742 sodelavcev, ki so skupaj podpisali kar 59.430 zavez za Nixpacks in konfiguracijo sistema. Za temi številkami se skriva vse od manjših popravkov do obrobnih paketov in večjih preoblikovanj kritičnih distribucijskih modulov.

Nixpkgs: Paketi, dodani, posodobljeni in odstranjeni iz NixOS 25.11

Zbirka paketov Nixpkgs, ki je hrbtenico Ne samo NixOS, ampak kateri koli sistem, ki uporablja upravitelja paketov Nix v Linuxu ali macOS-u, je bil v tem ciklu deležen obsežnega vzdrževanja.

Po eni strani je bilo Dodanih 7002 novih paketovnadaljnja širitev ponudbe razpoložljive programske opreme. To vključuje vse od najsodobnejših razvojnih orodij do namiznih aplikacij, pripomočkov za upravljanje in znanstvene programske opreme.

Hkrati ima ekipa Posodobljenih 25.252 obstoječih paketovTo zagotavlja, da je večina priljubljene programske opreme posodobljena na najnovejše različice, zlasti tista z varnostnimi popravki in izboljšavami delovanja. To je ključnega pomena v okoljih, kjer je ponovljivost bistvena, hkrati pa ohranjanje razumne posodobljenosti.

Da bi repozitorij ostal obvladljiv in varen, ima Nixpkgs 6338 starih paketov odstranjenih ki niso bili več vzdrževani, so bili pokvarjeni ali so postali zastareli v zgornjem delu. V mnogih primerih obstajajo neposredne alternative znotraj samega drevesa Nixpkgs, v drugih pa preprosto niso na voljo, da bi se izognili težavam z varnostjo ali prevajanjem.

Moduli in možnosti konfiguracije NixOS

Poleg paketov se NixOS odlikuje po zmogljivem deklarativnem sistemu modulov. Ta cikel je vključeval Vključenih je 107 novih modulovTe posodobitve dodajajo podporo za nove storitve, demone, aplikacije in sistemske konfiguracije. Prinašajo tudi 1778 novih možnosti konfiguracije, kar še dodatno povečuje natančnost opisa sistema.

Po drugi strani pa je bilo odstranjenih 41 modulov in 807 konfiguracijske možnosti, ki so postale zastarele, pokvarjene ali nadomeščene z novejšimi alternativami. Če ponovno uporabljate starejše konfiguracije, je priporočljivo, da pred nadgradnjo pregledate obvestila o zastaranju, da prilagodite svoje datoteke.

Pomembne nove funkcije na namizju: GNOME 49 “Brescia”

Ena od velikih novosti za uporabnike namiznih računalnikov je posodobitev GNOME 49 “Brescia”Ta različica namiznega okolja naredi odločilen korak proti Waylandu in odpravlja sejo, ki temelji na X11, kar je lahko pomembna sprememba, če ste vzdrževali starejše konfiguracije ali razširitve, ki so bile izrecno odvisne od Xorga.

GNOME 49 vključuje Nove aplikacije To vključuje prenovljen video predvajalnik in posodobljen pregledovalnik dokumentov, pa tudi prenovljen koledar in številne manjše izboljšave uporabniške izkušnje. Priporočljivo je, da pregledate uradne opombe ob izdaji GNOME, če se zanašate na kakšno zelo specifično funkcionalnost ali kompleksne razširitve.

Prevajalniki in orodjarna C: LLVM, GCC in CMake

V razdelku za kompilacijo so posodobitve NixOS 25.11 LLVM do različice 21To je pomemben korak naprej za razvijalce, ki uporabljajo C, C++ ali Rust z orodji Clang. Ta različica vključuje izboljšave optimizacije, nove podprte cilje in prilagoditve opozoril, ki lahko povzročijo spremembe v vedenju pri nekaterih projektih.

prevajalnik GCC ostaja v veji 14To je različica, ki je že uveljavljena in preizkušena v produkciji. Zaradi tega je lažje vzdrževati združljivost s projekti, ki so še vedno odvisni od te družine prevajalnikov, ne da bi pri vsaki posodobitvi sistema prišlo do motečih sprememb.

Na svoji strani CMake je posodobljen na različico 4To lahko omogoči nove funkcije v sodobnih sistemih za gradnjo, lahko pa zahteva tudi prilagoditve v projektih, ki so uporabljali zastarelo sintakso ali ukaze. Če imate starejše predloge CMake, je priporočljivo, da pred dokončanjem selitve izvedete preizkuse gradnje.

Grafični procesor, računalništvo in spremembe v ROCm in CUDA

Za tiste, ki delajo s pospeševanjem GPU-ja, je veja Nadgradnja paketov rocmPackages_6 na ROCm 6.3Medtem ko je rocmPackages_5 Odstranjeno je iz drevesa. Nekateri deli so prestrukturirani: rocmPackages.rocm-thunk Izgine kot ločen paket in je integriran v rocmPackages.clr, In rocmPackages.clang-ocl Upokojuje se, potem ko ga je AMD leta 2023 zapustil.

Vzporedno, Uradna podpora za CUDA 10 je izgubljenaKot je že omenjeno v opombah ob izdaji NixOS 24.11, bi morali uporabniki, ki še vedno podpirajo zelo staro strojno opremo, razmisliti o nadgradnji svoje grafične kartice ali preveriti, ali obstajajo vzdrževane alternative drugih proizvajalcev ali zalednih sistemov.

Brskalnik, posredniki in težave pri prevajanju Discorda

Ena praktična težava, ki se je pojavila pri tej različici, je uporaba posrednikov med kompilacijamiUporabnik opisuje, kako lahko uspešno prenese datoteko. discord-0.0.116.tar.gz iz brskalnika z uporabo korporativnega proxyja, vendar pri zagonu nixos-rebuild Prenos s curlom večkrat ne uspe in povzroči napako. curl: (35) Recv failure: Connection reset by peer dokler niso izčrpani vsi poskusi.

Sporočilo o napaki Nix to označuje Datoteke Discord ni bilo mogoče prenesti brez ogledala, s čimer se prekine izpeljava discord-0.0.116.tar.gz.drv in posledično konstrukcijo uporabniškega okolja in celotnega sistema. Čeprav dnevnik prikazuje opozorila o samodejnih ponovnih poskusih, spremenljivke, kot so https_proxy o all_proxyTo kaže, da izvajalno okolje znotraj peskovnika za gradnjo ne vidi omrežne konfiguracije uporabnika.

V sistemu NixOS je standardne spremenljivke okolja proxy Morda se ne bodo širili neposredno na razvejitve, če se uporablja strogo peskovno okolje ali če jih sistemska konfiguracija ne izvozi v gradnje. Tipična rešitev vključuje konfiguriranje možnosti Nix kot nix.extraOptions vključuje http_proxy, https_proxy in podjetje ali začasno onemogočite peskovnik za ta računalnik (dolgoročno ni priporočljivo), medtem ko prilagajate proxy strežnik, da dovoli promet z IP-naslova graditelja.

Druga možnost je, da se zatečete k binarni predpomnilniki, ki že vsebujejo Discord ali druge problematične pakete, s čimer se Nixu prepreči neposreden prenos izvornih datotek. Kakor koli že, te vrste omrežnih napak postanejo bolj pomembne v različici, kot je 25.11, ki premika toliko delov hkrati in lahko povzroči različno vedenje pri razreševanju URL-jev.

Omrežje, vsebniki in spletne storitve

Na področju mreženja in kontejnerjev NixOS 25.11 uvaja pomembne spremembe. Nadgradnje proxyja Squid HTTP na različico 7Ta izdaja vključuje več nezdružljivih sprememb, kot je odstranitev funkcionalnosti ESI. Za prilagoditve nastavitev po meri je priporočljivo, da pregledate opombe ob izdaji Squid.

Na ravni orkestracije, containerds posodablja svojo vejo 2.xTo s seboj prinaša številne vedenjske spremembe. Ne glede na to, ali uporabljate containerd neposredno ali kot komponento platforme, je nujno pregledati dokumentacijo containerd 2.0, da se izognete presenečenjem v produkciji.

V svetu Dockerja, docker_24 je odstranjen iz drevesa ker ni več podprt in ima znane ranljivosti od junija 2024. Ideja je, da se namestitve prenesejo na novejše in vzdrževane različice Dockerja.

Glede strežnikov in nadzornih plošč, NetBox je posodobljen na vejo 4.2z bistvenimi spremembami na ravni sheme in vedenja. Različica 4.0.x je odstranjena iz drevesa, uporabnikom pa svetujemo, da pred nadgradnjo spremljajo obvestila za posodobitve 4.1 in 4.2. Druge storitve, kot so matomo Privzeto preklopijo na uporabo različice 5 (različica 4 ni več podprta) in paket je odstranjen. matomo-beta saj je zdaj enostavno prepisati različico iz overrideAttrs.

Tudi Kafka naredi pomemben preskok: Apache Kafka je posodobljen na vejo 4.0ki ne podpira več ZooKeeperja. Vse namestitve je treba preseliti v način KRaft v skladu s smernicami fundacije Apache. V sistemu NixOS to vključuje pregled konfiguracij za odstranitev sklicev na ZooKeeper in prilagoditev uvajanja posrednikov.

Storitve, demoni in aplikacije, ki se spremenijo ali izginejo iz NixOS 25.11

Seznam Paketi in storitve, ki so preimenovani, nezdružljivo posodobljeni ali umaknjeni V tem ciklu je zelo dolg, kar kaže na pripravljenost za čiščenje drevesa stare ali problematične programske opreme.

Nekaj ​​​​opaznih primerov: gkraken Izgine in priporočljivo ga je uporabljati coolercontrol kot alternativa; opensmtpd-dodatki Odstranjuje se, ker ni združljiv z OpenSMTPD 7.6.0+ in daje prostor določenim paketom. opensmtpd-table-*; Zammad Neha podpirati MySQL in uporabnike sili k selitvi na PostgreSQL po uradnem vodniku.

V svetu imen, Minetest se zdaj imenuje Luanti da odražajo spremembo v zgornjem toku, vendar se vzdevki ohranjajo, da se preprečijo takojšnje motnje. Podobno, spremembe POAC za cabinpkg, xdragon postane dragon-drop (z xdragon (kot vzdevek) in siduck76-st se preimenuje v st-snazzyObstajajo tudi majhne črke: pisava resno-sans Umika se, ker je upstream spremenil ime v Serious Shanns, še vedno nepakirano.

Drugi projekti so preprosto arhivirani: gkraken, efemerno, vokalno, fluxus, sm64ex-coop, aplikacija nexusmods, nodePackages.ganache in še veliko več je označenih kot pokvarjeno, nevzdrževano ali nevarno in odstranjenih iz Nixpackov. V več primerih je predlagana alternativa (na primer, sm64coopdx za zamenjavo sm64ex-coop ali gnome-podcasts y kasts nadomestiti samoglasnik).

V okolju sporočanja in zasebnosti paketi signaldctl in vijolični signal Zaradi dolgotrajne nezdružljivosti z uradnimi strežniki Signala in strežnikom Matrix jih ukinjajo. kanal Označen je kot ranljiv, potem ko so ga razvijalci ukinili.

Nove različice in spremembe vedenja v priljubljenih aplikacijah

Poleg izginotij se številne aplikacije posodabljajo z vedenjske spremembe, ki kršijo združljivost. Na primer, Grafana Agent in njegov modul S prizorišča odhajajo v korist Grafana Alloy, ki že ima svojo storitev. services.alloyGrafana priporoča selitev na grafana-alloy in predloži dokumentacijo za dokončanje prenosa.

Tudi ekosistem monitorjev in panelov se razvija: Prometej naredi skok na vejo 3.xz uradnimi migracijskimi opombami, medtem ko kanata, avtentika, helmfile, agent za odprto politiko in mnogi drugi paketi so posodobljeni na glavne različice s spremembami sintakse, konfiguracijskih formatov in privzetih vrednosti. OPA še posebej olajša rego.v1 je zdaj privzeti slog, kar označuje sintakso v0 kot podedovano, čeprav način združljivosti še vedno obstaja.

Svet namiznih računalnikov ne zaostaja veliko: GIMP 3.0 se prikaže kot gimp3, Jagoda je posodobljena na serijo 1.2 in opusti zaledno okolje VLC in Qt5 (paket izgine) strawberry-qt5 in nekaj možnosti z GStreamerjem/VLC), rofi Prehaja iz različice 1.7.5 na 1.7.6 s spremembami ABI v binarnih vtičnikih in tauon 7.9.0+ Vaša baza podatkov se seli v shemo, ki ni združljiva s prejšnjimi različicami, zato je priporočljivo, da naredite varnostno kopijo ~/.local/share/TauonMusicBox preden odprete novo različico.

Na področju spletnega razvoja in JavaScripta, nodejs_latest se razvija v serijo 24.x, so izločeni nodejs_23 y nodejs_18in počisti pakete Node, ki nikoli ne bi smeli biti globalni (kot na primer webpack-dev-server, copy-webpack-plugin, expo-cli o create-react-native-app), s priporočilom, da jih namestite na ravni projekta. Orodja, kot so pnpm preide na različico 10 z sekundarnim paketom pnpm_9 za tiste, ki potrebujejo združljivost.

Prilagoditve so tudi pisave: nerdfonts je razdeljen na posamezne pakete pod imenskim prostorom nerd-fonts in namestitvene poti za pisave se spremenijo, zdaj imajo imenike po vrsti pisave (<fontDirName>To nas sili, da prilagodimo konfiguracije, ki so kazale na stare poti.

Spremembe jedra, strojne opreme in sistemskega okolja

Na sistemski ravni je opuščeno polna podpora za 32-bitni Darwinvzdrževanje samo sodobnih platform. Poleg tega trojna konfiguracija aarch64-darwin je skladen z arm64-apple-darwin, kar je v skladu s pričakovanji Applea in LLVM.

El paquete tinycc Nato loči izhode na dev, doc y lib, izdelava tinycc.out Vsebuje samo binarne datoteke tcc in navzkrižne prevajalnike. V TPM, tpm2-pkcs11 Prevaja se brez podpore za abrmd Privzeto daje prednost upravljalniku virov jedra; če potrebujete različico z abrmd, ta obstaja. tpm2-pkcs11.abrmdin modul NixOS samodejno izbere glede na security.tpm2.abrmd.

V udevu so pravila libjaylink Zdaj zahtevajo pripadnost skupini. jlink namesto plugdevTo je bilo v sistemu NixOS zelo neobičajno. Dostop je dovoljen tudi prek sej na delovnem mestu, zato je vpliv omejen, če uporabljate standardno namizje.

rekviziti mkBinaryCache Posodobljen je in se začne uporabljati zstd kot privzeto stiskanje

Za ustvarjene binarne predpomnilnikeMožnost nadaljevanja ostaja odprta. xz skozi compression = "xz";To v večini primerov izboljša zmogljivost pri ustvarjanju in porabi binarnih datotek.

V omrežnih možnostih, networking.nat.externalIP in externalIPv6 spremenita svoje delovanje: pravila networking.nat.forwardPorts Ta pravila zdaj veljajo samo za pakete, namenjene izrecno določenim IP-jem. To preprečuje nepričakovane preusmeritve, vendar bo morda treba prilagoditi obstoječe definicije NAT.

Pri upravljanju datotečnih sistemov so definicije Datotečni sistemi (kot je fileSystems."/") so nastavljeni z uporabo lib.mkDefault iz modulov NixOS, kar omogoča zamenjavo vseh hkrati, vendar povzroča napake, če se prepišejo le posamezni atributi brez določitve deviceV nasprotnem primeru lahko naletite na sporočila, kot so No device specified for mount point '/'.

Urejanje besedil, razvojna okolja in različni pripomočki NixOS 25.11

V vesolju Emacsa, NixOS 25.11 Odstranite Emacs 28 in 29Vključeni sta tako standardna različica kot različica za Macport za Emacs 28. Različica Emacs 29 za Macport se vzdržuje, vendar s popravki za znane ranljivosti. Racket je prav tako podvržen obrezovanju: racket_7_9 je umaknjen zaradi nevarnostipritiskajoč na uporabo Racket 8 in s tem odpravljajoč fluksus, ki se je leta zanašal na to nevzdrževano različico.

Iskalnik besedil binwalk 3.1.0 Prepisano je v Rustu in pripadajoči modul Pythona ni več na voljo; orodje za osebne račune python3Packages.beancount Dvigne se na 3.1, prejšnja serija pa se ohrani beancount_2V e-pošti in CLI-ju, tldr Preklopi na uporabo odjemalca Python namesto C in Himalaya Posodobi se na različico 1.1.0 s prelomnimi spremembami, ki zahtevajo pregled konfiguracije.

V različnih orodjih, nq 1.0 preimenuje fq in tq v nqtail in nqterm., zf 0.10.2 Spremeni način obravnave Unicode in ubežnih zaporedij ter ast-grep odstranite ukaz sg da se izognemo konfliktom s shadow-utils, hkrati pa omogočimo uporabo starejše različice združljivosti enableLegacySg = true;.

Hkrati družina standardnih funkcij dnevnika nixLog* Prepisano je tako, da predpono postavi raven odpravljanja napak in ime klicne funkcije, s čimer se ponovno uvede nixLog kot brezpogojni beležnik, ki doda tudi kontekst funkcije. To olajša odpravljanje napak v kompleksnih izpeljavah in kavljih.

Končno, nekateri pripomočki za testiranje, kot so preizkuševalci.shellcheck Zdaj vas opozorijo, če atribut ni naveden. namekar bo v prihodnjih različicah postalo obvezno. In v Haskellu, testTarget je označen kot zastarel V korist testTargets, ki namesto niza, ločenega s presledki, sprejme ekspliciten seznam ciljev.

Različica NixOS 25.11 tako združuje ogromno število sprememb, od namizja GNOME 49 in obsežnih posodobitev paketov do temeljitih prilagoditev v orodjih, omrežnih storitvah in pravilnikih združljivosti, zaradi česar je ključna izdaja za vse, ki želijo svoje okolje Nix posodabljati, ne da bi pri tem pozabili na stabilnost in ponovljivost ki označujejo projekt.

Nix OS 24.11
Povezani članek:
Vse, kar morate vedeti o dolgo pričakovani izdaji NixOS 24.11