Na voljo je upravitelj paketov GNU Guix 1.1 in distribucija, ki temelji na njem

potekala izdaja upravitelja paketov GNU Guix 1.1 in na njegovi osnovi zgrajena distribucija GNU/Linux. Za nalaganje oblikovana slike za namestitev na USB Flash (241 Mb) in uporabo v sistemih za virtualizacijo (479 ​​​​Mb). Delo je podprto na arhitekturah i686, x86_64, armv7 in aarch64.

Distribucijski komplet omogoča namestitev tako kot samostojni OS v sistemih za virtualizacijo, v vsebnikih in na običajni opremi ter izstreliti v že nameščenih distribucijah GNU/Linux, ki deluje kot platforma za uvajanje aplikacij. Uporabniku so na voljo funkcije, kot so obračun odvisnosti, ponovljive gradnje, delo brez korena, povrnitev na prejšnje različice v primeru težav, upravljanje konfiguracije, kloniranje okolja (ustvarjanje natančne kopije programskega okolja na drugih računalnikih) itd.

Glavni inovacije:

  • Dodan je bil nov ukaz »guix deploy«, zasnovan za namestitev strojne opreme več računalnikov hkrati, na primer nova okolja v VPS ali oddaljenih sistemih, dostopnih prek SSH.
  • Avtorji repozitorijev paketov (kanalov) tretjih oseb imajo na voljo orodja za pisanje sporočil z novicami, ki jih lahko uporabnik prebere, ko izvede ukaz "guix pull --news".
  • Dodan je ukaz »guix system describe«, ki omogoča ovrednotenje sprememb med dvema različnima primerkoma sistema med uvajanjem.
  • Dodana podpora za ustvarjanje slik za Singularity in Docker ukazu "guix pack".
  • Dodan ukaz "guix time-machine", ki vam omogoča, da se vrnete nazaj na katero koli izdajo paketa, shranjenega v arhivu Programska oprema dediščine.
  • Dodana možnost »--target« sistemu »guix«, ki zagotavlja delno podporo za navzkrižno prevajanje;
  • Zagotovljena izvedba Guixa z uporabo Prevara 3, kar pozitivno vpliva na produktivnost.
  • Graf odvisnosti od paketa je omejen na zmanjšan nabor binarnih semenskih komponent, kar je velik korak k izvajanju popolnoma preverljivega zagonskega sistema.
  • Implementirano je ogrodje za avtomatizirano testiranje grafičnega namestitvenega programa. Namestitveni program je zdaj vgrajen v sistem neprekinjene integracije in preizkušen v različnih konfiguracijah (šifrirana in običajna korenska particija, namestitev z namizji itd.).
  • Dodani gradbeni sistemi za Node.js, Julia in Qt, kar poenostavlja pisanje paketov za aplikacije, povezane s temi projekti.
  • Dodane nove sistemske storitve auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wheel, proveniance, pulseaudio, sane, singularity, usb-modeswitch

  • Posodobljene so bile različice programov v 3368 paketih, dodanih je bilo 3514 novih paketov. Vključno s posodobljenimi različicami xfce 4.14.0, gnome 3.32.2, mate 1.24.0, xorg-server 1.20.7, bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, enlightenment 0.23.1,
    gcc 9.3.0, gimp 2.10.18, glibc 2.29,
    gnupg 2.2.20, pojdi 1.13.9, guile 2.2.7,
    icecat 68.7.0-guix0-preview1, icecat 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, , openjdk 12.33, perl 5.30.0, python 3.7.4,
    rja 1.39.0.

Spomnimo se, da upravitelj paketov GNU Guix temelji na razvoju projekta Nix in poleg tipičnih funkcij upravljanja paketov podpira funkcije, kot so transakcijske posodobitve, možnost povrnitve posodobitev, delo brez pridobitve privilegijev superuporabnika, podpora za profile, povezane s posameznimi uporabniki, možnost hkratne namestitve več različic enega programa, orodja za zbiranje smeti (prepoznavanje in odstranjevanje neuporabljenih različic paketov). Za definiranje skriptov za gradnjo aplikacij in pravil pakiranja je predlagana uporaba specializiranega domensko specifičnega jezika na visoki ravni in komponent API-ja Guile Scheme, ki vam omogočajo izvajanje vseh operacij upravljanja paketov v funkcionalnem programskem jeziku Scheme.

Podprta je možnost uporabe paketov, pripravljenih za upravitelja paketov Nix in postavljenih v repozitorij
Nixpkgs. Poleg operacij paketov lahko ustvarite skripte za upravljanje konfiguracije aplikacije. Ko je paket zgrajen, se vse povezane odvisnosti samodejno prenesejo in zgradijo. Možno je prenesti že pripravljene binarne pakete iz repozitorija in zgraditi iz izvorne kode z vsemi odvisnostmi. Implementirana orodja za posodabljanje različic nameščenih programov z organiziranjem namestitve posodobitev iz zunanjega repozitorija.

Gradbeno okolje za pakete je oblikovano v obliki vsebnika, ki vsebuje vse komponente, potrebne za delovanje aplikacije, kar vam omogoča, da ustvarite nabor paketov, ki lahko delujejo ne glede na sestavo osnovnega sistemskega okolja distribucije, v katerem se Guix uporablja kot dodatek. Odvisnosti med paketi Guix lahko določite tako, da skenirate zgoščene oznake identifikatorjev v imeniku nameščenih paketov, da ugotovite prisotnost že nameščenih odvisnosti. Paketi so nameščeni v ločenem imeniškem drevesu ali podimeniku v uporabniškem imeniku, kar mu omogoča soobstoj vzporedno z drugimi upravitelji paketov in zagotavlja podporo za široko paleto obstoječih distribucij. Paket je na primer nameščen kot /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, kjer je "f42a58..." enolični identifikator paketa, ki se uporablja za spremljanje odvisnosti.

Distribucija vključuje samo brezplačne komponente in prihaja z jedrom GNU Linux-Libre brez neprostih binarnih elementov vdelane programske opreme. Za gradnjo se uporablja GCC 9.3. Upravljalnik storitev se uporablja kot inicializacijski sistem GNU pastir (ex dmd) razvit kot alternativa SysV-init s podporo za odvisnosti. Nadzorni demon in pripomočki Shepherd so napisani v jeziku Guile (ena od implementacij jezika Scheme), ki se uporablja tudi za definiranje parametrov zagona storitve. Osnovna slika podpira način konzole, vendar za namestitev pripravljeno 13162 že pripravljenih paketov, vključno s komponentami grafičnega sklada, ki temelji na X.Org, upravljalnikih oken dwm in ratpoison, namizju Xfce ter izborom grafičnih aplikacij.

Vir: opennet.ru

Dodaj komentar