Išleistas „GNU Guix“ paketų tvarkyklė 1.3 ir ja paremta „GNU“ distribucija.LinuxAtsisiunčiamus atvaizdus galima įdiegti USB atmintinėje (610 MB) ir naudoti virtualizacijos sistemose (972 MB). Palaikomos architektūros: i686, x86_64, Power9, armv7 ir aarch64.
Platinimas leidžia diegti tiek kaip atskirą OS virtualizacijos sistemose, konteineriuose ir įprastoje aparatinėje įrangoje, tiek veikti jau įdiegtuose GNU/Linux platinimuose.Linux, tarnaujanti kaip programų diegimo platforma. Vartotojui suteikiamos tokios funkcijos kaip priklausomybių valdymas, kartojamos versijos, veikimas be šaknų, ankstesnių versijų grįžimas kilus problemoms, konfigūracijos valdymas, aplinkos klonavimas (tikslios programinės įrangos aplinkos kopijos sukūrimas kituose kompiuteriuose) ir kita.
Pagrindinės naujovės:
- Įdiegtas pradinis POWER9 architektūros (powerpc64le-linux) palaikymas.
- Galima naudoti deklaratyvų diegimo režimą, kuriame vietoj „guix install“ ir „guix remove“ komandų serijos vykdoma viena komanda „guix package –manifest=manifest.scm“, apibrėžiama manifeste. scm failą visos programos, kurias reikia įdiegti. Norėdami sukurti manifestą pagal esamą diegimo profilį, komanda „guix package“ siūlo parinktis „--export-manifest“ ir „--export-channels“.
- Pridėta paketo transformavimo parinktis „--with-latest“, naudinga tiems, kurie nori turėti naujausias programų versijas, net jei programai dar nesugeneruotas paruoštas „Guix“ paketas. Taip pat pridėta parinktis „--su pataisu“, kad būtų galima sukurti paketų seriją, kurios pataisa pritaikyta vienam ar keliems iš jų.
- Komandos „guix“ įgyvendina rekomendacijų išvestį su pasiūlymais pakeisti rašybos klaidų arba alternatyvių subkomandų buvimo atveju. $ guix paketas --export-manifests guix paketas: klaida: eksporto manifestai: neatpažintas variantas užuomina: Ar turėjote omenyje `export-manifest'?
- „Guix refresh“ pridėjo palaikymą atsisiunčiant naujinimus iš „SourceForge“ prieglobos, taip pat bendrąjį html režimą naujinimams gauti iš projekto pagrindinio puslapio.
- Pridėta nauja komanda „guix import go“, skirta rekursyviai importuoti paketus „Go“ kalba, atsižvelgiant į priklausomybes. Komanda „guix import opam“ dabar palaiko Coq paketus. „Guix importo dėžė“ atsižvelgia į semantinę versijų kūrimą rekursinio įkėlimo režimu. Komanda „guix import nix“ buvo pašalinta.
- Buvo optimizuotas iš anksto sukurtų dvejetainių paketų (pakaitinių) diegimas ir paspartintas komandos „guix system init“ darbas.
- Prie komandos „guix Environment“ pridėta parinktis „--profile“.
- Pridėta „--discover“ parinktis prie „guix-daemon“, skirta vietinio tinklo aptikimui serveriai, kurie pristato surinktus dvejetainius paketus (pakaitalą) naudodami mDNS/DNS-SD protokolus. Parinktis „--advertise“ buvo pridėta prie komandos „guix publish“, kad būtų galima siųsti pranešimus iš serverių.
- Įdiegta galimybė naudoti Zstd algoritmą paketų glaudinimui.
- Režimu „--verbosity=1“ atsisiųstų URL išvestis sustabdoma.
- Vietoj subkomandų „disk-image“ ir „vm-image“ siūloma bendra komanda „guix system image“.
- Platinimo paveikslėlyje, skirtame virtualios mašinos Pridėta SPICE protokolo palaikymo funkcija.
- Į diegimo scenarijų įtrauktas automatinio diegimo režimas.
- Pridėta lvm-device-mapping paslauga, skirta LVM tomų tvarkyklės palaikymui (Linux Loginio tomo tvarkyklė).
- Pridėtas „guix sistemos vaizdas -t rock64-raw“ režimas, skirtas „Rock64“ plokščių paskirstymo vaizdams generuoti.
- Initrd pagal numatytuosius nustatymus įjungtas bcachefs palaikymas.
- CUPS spausdinimo serveryje pagal numatytuosius nustatymus įjungta „brlaser“ paslauga, skirta palaikyti Brother spausdintuvus.
- Pridėtos naujos sistemos paslaugos: agate, cuirass-remote-worker, ipfs, keepalived, laminar, radicale, syncthing, transmission-daemon. wireguard, xorg-serveris.
- Atnaujintos 3100 paketų programų versijos, papildyta 2009 naujais paketais. Įskaitant atnaujintas versijas gcc 10.3.0, glibc 2.31, GNOME 3.34.5, gnupg 2.2.27, go 1.14.15, guile 3.0.5, icecat 78.10.0-guix0-preview1, icedtea, 3.7.0 in.k1.0.2, .k1.5.3 , julia 6.4.7.2, libreoffice 5.11.15, linux-libre 4.11.1, ocaml 6.2.0, octave 14.0, openjdk 3.8.2, python 8.0, raketė 1.51.0, rust 4.0.4.s.cl2.1.3, r.4.16.0. 1.20.10, Xfce XNUMX ir xorg-server XNUMX.
- Ištaisytas guix-daemon pažeidžiamumas CVE-2021-27851, leidžiantis vietiniam vartotojui išplėsti savo teises sistemoje. Problema ta, kad vykdant komandą „guix build“, kūrimo katalogas išliko rašomas ir vartotojas galėjo sukurti tvirtą nuorodą į failą, priklausantį root ir esantį už kūrimo katalogo ribų, pavyzdžiui, „/etc/shadow“ . Jei kūrimo metu buvo nurodyta parinktis "--keep-failed", tada nesėkmės atveju guix-daemon pakeitė viso surinkimo medžio savininką į dabartinį vartotoją, įskaitant kietąsias nuorodas.
Prisiminkite, kad „GNU Guix“ paketų tvarkyklė yra pagrįsta „Nix“ projekto plėtra ir, be įprastų paketų valdymo funkcijų, palaiko tokias funkcijas kaip operacijų atnaujinimai, galimybė atšaukti naujinimus, darbas negaunant supervartotojo privilegijų, profilių palaikymas. susietas su individualiais vartotojais, galimybė vienu metu įdiegti kelias vienos programos versijas, šiukšlių surinkimo įrankius (nenaudojamų paketų versijų identifikavimas ir pašalinimas). Aplikacijų kūrimo skriptams ir pakavimo taisyklėms apibrėžti siūloma naudoti specializuotą aukšto lygio domenui būdingą kalbą ir Guile Scheme API komponentus, leidžiančius visas paketų valdymo operacijas atlikti Scheme funkcine programavimo kalba.
Palaikoma galimybė naudoti paketus, paruoštus „Nix“ paketų tvarkyklei ir priglobtus „Nixpkgs“ saugykloje. Be paketo operacijų, galite kurti scenarijus programos konfigūracijai valdyti. Sukūrus paketą, visos susijusios priklausomybės automatiškai atsisiunčiamos ir sukuriamos. Galima ir atsisiųsti paruoštus dvejetainius paketus iš saugyklos, ir kurti iš šaltinio su visomis priklausomybėmis. Įdiegti įrankiai, skirti atnaujinti įdiegtų programų versijas, organizuojant naujinimų diegimą iš išorinės saugyklos.
Paketų kūrimo aplinka formuojama kaip konteineris, kuriame yra visi programų veikimui reikalingi komponentai, leidžiantys sukurti paketų rinkinį, kuris gali veikti neatsižvelgiant į platinimo bazinės sistemos aplinkos sudėtį, kurioje Guix. naudojamas kaip priedas. Priklausomybes tarp Guix paketų galima nustatyti nuskaitant maišos identifikatorius įdiegtų paketų kataloge, kad būtų galima rasti jau įdiegtų priklausomybių. Paketai diegiami atskirame katalogų medyje arba vartotojo katalogo pakatalogyje, todėl jis gali egzistuoti kartu su kitais paketų tvarkytuvais ir palaikyti platų esamų paskirstymų spektrą. Pavyzdžiui, paketas įdiegtas kaip /nix/store/452a5978f3b0b426064a2b64a0c6f41-firefox-88.0.0/, kur „452a59...“ yra unikalus paketo ID, naudojamas priklausomybėms valdyti.
Platinimas apima tik nemokamus komponentus ir pateikiamas su GNU branduoliu. Linux„-Libre“, išvalyta nuo nelaisvų dvejetainių programinės įrangos elementų. Kompiliavimui naudojama GCC 9.3. Kaip inicializavimo sistema naudojama „GNU Shepherd“ paslaugų tvarkyklė (anksčiau dmd), sukurta kaip alternatyva „SysV-init“ su priklausomybių palaikymu. „Shepherd“ valdymo demonas ir pagalbinės programos parašytos „Guile“ kalba („Scheme“ kalbos įgyvendinimas), kuri taip pat naudojama paslaugų paleidimo parametrams apibrėžti. Bazinis atvaizdas palaiko konsolės režimą, tačiau yra 17 243 paruošti diegti paketai, įskaitant X.Org pagrindu sukurtos grafikos rinkinio komponentus, „dwm“ ir „ratpoison“ langų tvarkykles, „Xfce“ darbalaukį ir keletą grafinių programų.
Šaltinis: opennet.ru
