Pärast rohkem kui kolme aasta arengut väljastati GNU Guix 1.5 paketihaldur ja sellele põhinev GNU/Linux distributsioon — Guix System. Tulevikus otsustati väljastada uusi GNU Guix versioone kord aastas. Allalaadimiseks on loodud installatsioonipildid USB-mälupulkadele (972 MB) ja kasutamiseks virtuaalsüsteemides (1.4 GB). Toetatakse töötamist arhitektuuridel i686, x86_64, Power9, armv7, riscv64 ja aarch64.
Seda distributsiooni saab installida nii iseseisva operatsioonisüsteemina virtuaalsüsteemidesse, konteineritesse ja tavapärasesse riistvarasse kui ka juba installitud GNU/Linux distributsioonidesse, toimides rakenduste juurutamise platvormina. Kasutajatele pakutakse selliseid funktsioone nagu sõltuvuste haldamine, taastatav koostamine, töötamine ilma root-õigusteta, varasemate versioonide taastamine probleemide korral, konfigureerimise haldamine ja keskkondade kloonimine (täpse programmistiku koopia loomine teistes arvutites).
Põhilised uuendused:
- Eksperimentaalne tugi GNU Hurd (x86_64-gnu) kaadrile on lisatud. Installerisse on lisatud võimalus kasutada Hurd'i Linuxi tuuma asemel.
- Lisatud tugi RISC-V arhitektuurile (riscv64-linux).
- GNOME seans on uuendatud versioonile GNOME 46 (eelmine versioon oli GNOME 42) ja on vaikimisi ümber seadistatud kasutama Wayland'i. GNOME-i töölauateenuse tüüp gnome-desktop-service-type on saanud laiemat moodulite seadet, mis võimaldab nüüd konfigureerida vaikimisi installitavate GNOME rakenduste nimekirja.
- Lisatud uus teenuse tüüp plasma-desktop-service-type, et luua töölaua keskkond KDE Plasma 6.5 jaoks.

- Guixi taustaprotsessi käivitamine ilma root õigusteta on nüüdtehtud võimalikuks. Muude jaotuste puhul, mis ei ole Guix System, on vaikimisi kasutuses rootivaba töörežiim. Olemasolevates installatsioonides saab seda režiimi aktiveerida, määrates guix-configuration'is ‘(privileged? #f)’. Režiim on rakendatud kasutaja identifikaatorite nimedomeeni (user namespace) ja AppArmor'i profiilide abil.
- Käsku «guix graph» on täiendatud GraphML ja CycloneDX JSON halbidega, mis võimaldab selle abil genereerida täielikke SBOM-e (Software Bill of Materials).
- Käsku «guix shell» on lisatud valikud «—nesting», et kasutada Guixi konteineris, ja «—emulate-fhs», et käivitada rakendusi failisüsteemi struktuuriga, mis vastab FHS (Filesystem Hierarchy Standard) spetsifikatsioonile.
- „guix pack“ meeskonda on lisatud RPM ja AppImages formaadi pakettide loomise tagurdused, mida saab kasutada teistes jaotustes ilma Guixita.
- Tehtud on „guix locate“ käsk pakettide otsimiseks, milles esineb antud fail.
- Kasutusele on võetud uus GNU Shepherd 1.0 initsialiseerimissüsteem, mis toetab teenuseid, mis käivitavad juhiseid või Scheme keeles koodi vastavalt määratud ajakavale. Lisatud on võimalus Linuxi tuuma taaskäivitamiseks kexec mehhanismi abil. Uued teenused nagu log-rotation (logide rullimine ja kustutamine), system-log (syslogd asendamine), timer (käskude käivitamine kindlal ajal) ja transient (käskude käivitamine taustal) on ellu viidud. Guixis on teenused system-log ja log-rotation kasutusel syslogd ja Rottlogi asemel.
- Zigi ja Mono kompilaatorite täiemahuline toetamine allikatest on ellu viidud.
- „setuid-programs“ komplekt on asendatud „privileged-programs“ spesifikatsiooniga „operating-system“ (privileegide saamiseks on nüüd kasutusel Linuxi capabilities, mitte suid-lipp).
- Lisatud on umbes 40 uut süsteemiteenust, sealhulgas Forgejo Runner, RabbitMQ, iwd ja dhcpcd.
- 8900 paketti on värskendatud, lisatud on 12525 uut paketti. Muuhulgas on värskendatud versioone GNOME 46.10, KDE Plasma 6.5, linux-libre 6.17.12, MATE 1.28.2, Xfce 4.20.0, lxde 0.99.3, xorg-server 21.1.21, GCC 15.2.0, LLVM 21.1.8, GIMP 3.0.4, glibc 2.41, go 1.25.3, Librewolf 140, icecat 140.6.0-gnu1 (firefox), icedtea 3.19.0, inkscape 1.3.2, julia 1.8.5, libreoffice 25.2.5.2, openjdk 25, perl 5.36.0, python 3.11.14, racket 8.18, rust 1.85.1, r 4.5.2, sbcl 2.5.8.
Tulet meelde, et GNU Guix pakihaldur põhineb Nix projekti arendustel ja pakub lisaks traditsioonilistele pakihalduse funktsioonidele ka selliseid võimalusi nagu tehingupõhised uuendused, uuenduste tagasiviimise võimalus, töötamine ilma superkasutaja õigusteta, erikasutajatele seotud profiilide tugi, ühe rakenduse mitme versiooni samaaegne installimine ning prahi koristamise vahendid (kasutamata pakiversioonide tuvastamine ja eemaldamine). Rakenduste ehitusskeemide määratlemiseks ja pakireeglite koostamiseks soovitatakse kasutada spetsialiseeritud kõrgema taseme domeenispetsiifilist keelt ja Guile Scheme API komponente, mis võimaldavad pakihalduse kõiki toiminguid teha funktsionaalses programmeerimiskeeles Scheme.
Toetatakse Nix-pakihalduri jaoks ettevalmistatud pakettide kasutamist, mis asuvad Nixpkgs'i hoidlas. Lisaks pakettide haldamisele on võimalik luua skripte rakenduste konfiguratsiooni haldamiseks. Paketi koostamisel laaditakse automaatselt alla ja koostatakse kõik sellega seotud sõltuvused. On võimalik laadida valmis binaarpakette hoidlast või koostada need allikate tekstidest koos kõigi sõltuvustega. On rakendatud vahendeid, et hoida installitud programmide versioonid ajakohasena, korraldades värskenduste paigaldamist välisest hoidlast.
Pakettide kogumikeskkond luuakse konteinerina, mis sisaldab kõiki rakenduste toimimiseks vajalikku komponenti. See võimaldab luua paketide komplekti, mis suudab töötada sõltumatult alusoperatsioonisüsteemi koostisosadest, kus Guix kasutatakse laiendusena. Guixi paketide vahel on võimalik määrata sõltuvusi, samas kui juba installitud sõltuvuste leidmiseks kasutatakse installitud pakettide katalooge. Paketid installitakse eraldi kataloogipuust või allkataloogis kasutaja kataloogis, mis võimaldab neil paralleelselt eksisteerida teiste paketihalduritega ning toetada erinevaid distributsioone. Näiteks installitakse pakett aadressile /nix/store/452a4978f3b1b428064a2b64a0c6f41-firefox-147.0.1/, kus "452a49..." on paketi ainulaadne identifikaator, mida kasutatakse sõltuvuste jälgimiseks.
Jaotust sisaldab vaid avatud komponente ning see tarnitakse GNU Linux-Libre kerneli koosseisus, milles on eemaldatud suletud elemente. Kogumisel kasutatakse GCC 15.2. Alglaadimise süsteemina kasutatakse GNU Shepherd teenuse haldurit (endine dmd), mis on välja arendatud SysV-init'i alternatiivina sõltuvuste toetamiseks. Halduse demon ja Shepherd'i tööriistad on kirjutatud Guile'i (üks Scheme'i keele rakendusi), mida kasutatakse ka teenuste käivitamise parameetrite määramiseks. Põhifoto toetab tööd konsoolirežiimis, kuid installimiseks on ette valmistatud 29932 valmis paketti, sealhulgas graafilise kihi komponente, akende ja komposiitmanagere, GNOME, KDE ja Xfce töölauad ning valik graafilisi rakendusi.
Allikas: opennet.ru

