Ilmus GNU Guix 1.4 pakihaldur ja selle põhjal loodud GNU/Linuxi distributsioon. Allalaadimiseks on loodud USB Flash installatsiooni pildid (814 MB) ja virtuaalmasinate süsteemide kasutamiseks (1,1 GB). Tugi on pakutud i686, x86_64, Power9, armv7 ja aarch64 arhitektuuridele.
Distributsioon võimaldab installimist nii eraldiseisva operatsioonisüsteemina virtuaalsüsteemides, konteinerites ja tavalises riistvaras kui ka käivitamist juba paigaldatud GNU/Linuxi distributsioonides, olles platvormiks rakenduste juurutamiseks. Kasutajatele pakutakse selliseid funktsioone nagu sõltuvuste haldamine, korduvad kogumid, töö ilma root-õiguseta, probleemide korral varasematele versioonidele tagasipöördumine, konfiguratsiooni haldamine, keskkondade kloonimine (täpsete programmikeskkondade koopia loomine teistel arvutitel) jne.
Põhilised uuendused:
- Parendatud tarkvarakeskkondade haldus. Uue "guix shell" käsu abil, mis asendab vana "guix environment" käsku, on võimalik mitte ainult luua arendajate jaoks koostamiskeskkondi, vaid ka kasutada keskkondi programmide tutvumiseks ilma profiilis kajastumiseta ja ilma "guix install" täitmata. Näiteks mängu supertuxkart laadimiseks ja käivitamiseks võib kasutada käsku "guix shell supertuxkart -- supertuxkart". Pärast allalaadimist salvestatakse pakett vahemällu ja järgmine käivitamine ei nõua selle taasalustamist.
"Guix shelli" keskkondade loomiseks on lihtsustatud arendaja keskkondade koostamist, toetades guix.scm ja manifest.scm faile, mis kirjeldavad keskkonna sisu (failide genereerimiseks võib kasutada "--export-manifest" valikut). Kontanerite loomiseks, mis emuleerivad klassikalist süsteemide kataloogide hierarhiat, pakuvad "guix shell" valikud "--container --emulate-fhs".
- Lisatud on käsk «guix home» kodukeskkonna haldamiseks. Guix võimaldab määrata kõik kodukeskkonna komponendid, sealhulgas paketid, teenused ja peenetikud. Käsku «guix home» kasutades saab kirjeldatud kodukeskkonna eksemplare luua ka kaustas $HOME või konteineris, näiteks oma keskkonna edasiviimiseks uuele arvutile.
- Käsule «guix pack» on lisatud valik «-f deb», et luua eraldi deb-pakette, mida saab Debianis installida.
- Erinevate süsteemipiltide loomiseks (raw, QCOW2, ISO9660 CD/DVD, Docker ja WSL2) on ette nähtud universaalne käsk «guix system image», mis võimaldab määrata loodava pildi salvestusformaadi, jaotused ja operatsioonisüsteemi.
- Pakettide koostamise käskudele on lisatud valik «—tune», mis võimaldab määrata protsessori mikroarhitektuuri, mille jaoks kaasatakse spetsiifilised optimeerimised (näiteks võivad uued AMD ja Intel CPU-d kasutada SIMD-käske AVX-512).
- Installeerijas on rakendatud mehhanism olulise silumisteabe automaatseks salvestamiseks installimise katkemise korral.
- Rakenduste käivitamise aega on lühendatud tänu mälupüügi kasutamisele dünaamilises sidumises, mis võimaldab vähendada süsteemikõnede stat ja open sooritamise vajadust raamatukogude leidmisel.
- Kasutusele on võetud uus GNU Shepherd 0.9 init systeem, milles on rakendatud ajutiste teenuste (transient) kontseptsioon ja lisandunud võimalus luua teenuseid, mis aktiveeruvad võrgutegevuse korral (sarnane systemd socket activation'ile).
- Lisatud on uus liides vahetusruumi suuruse määramiseks operatsioonisüsteemi konfiguratsioonis.
- Statistilise võrgu konfiguratsiooni liides on ümber tehtud, pakkudes nüüd deklaratiivset analooge ip käsu seadistustele.
- Lisatud on 15 uut süsteemiteenust, sealhulgas Jami, Samba, fail2ban ja Gitile.
- Käivitati veebisait packages.guix.gnu.org paketihaldamiseks.
- Programmi versioonid on uuendatud 6573 paketis, lisatud on 5311 uut paketti. Muuhulgas on uuendatud GNOME 42, Qt 6, GCC 12.2.0, Glibc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2, Emacs 28.2. Eemaldatud on üle 500 paketi, mis kasutasid Python 2.

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 koostamise keskkond luuakse konteinerina, mis sisaldab kõiki rakenduste tööks vajalikke komponente. See võimaldab luua paketiseti, mis töötab sõltumatult alus-süsteemikeskkonna koostisest, milles Guix kasutatakse laiendusena. Guixi pakettide vahel on võimalus määrata sõltuvusi, kusjuures juba installitud sõltuvuste leidmiseks tehakse skaneerimine installitud pakettide kataloogis asuvate häälestusidentifikaatorite põhjal. Pakette installitakse eraldi kataloogipuusse või alamkatalooge kasutaja kataloogis, mis võimaldab neil paralleelselt kooseksisteerida teiste paketihalduritega ja toetada laia olemasolevate distributsioonide spektrit. Näiteks installitakse paketina tee /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, kus „452a59…“ on paketi ainulaadne identifikaator, mida kasutatakse sõltuvuste haldamiseks.
Jaotur sisaldab ainult vabade komponentide elemente ja tarnitakse GNU Linux-Libre tuumaga, mis on puhastatud mittevabade binaarsete failide elementidest. Kogumise jaoks kasutatakse GCC 12.2. Alglaadimissüsteemina kasutatakse GNU Shepherdi teenusemanageerijat (endine dmd), mis areneb kui alternatiiv SysV-initile ning toetab sõltuvusi. Halduseemon ja Shepherdi utiliidid on kirjutatud Guile'i keeles (üks Scheme'i rakendustest), mida kasutatakse ka teenuste käivitamisparameetrite määramiseks. Baaspilt toetab tööd konsoolirežiimis, kuid paigaldamiseks on ette valmistatud 20526 valmispaketti, sealhulgas X.Org põhjalise graafikalae komplekt, aknahaldurid dwm ja ratpoison, töölauad GNOME ja Xfce ning ka valik graafika rakendusi.
Allikas: opennet.ru
