lansarea managerului de pachete și distribuția GuixSD GNU/Linux (Guix System Distribution) construită pe aceasta. Schimbarea semnificativă a numărului versiunii se datorează finalizării realizării tuturor , stabilite pentru formarea unei versiuni semnificative. Lansarea a încheiat șapte ani de muncă asupra proiectului și este considerată pregătită pentru utilizarea zilnică. Pentru descărcare imagini pentru instalare pe USB Flash (243 MB) și utilizare în sisteme de virtualizare (474 MB). Se suportă funcționarea pe arhitecturi i686, x86_64, armv7 și aarch64.
Distribuția permite instalarea atât ca în sisteme de virtualizare, în containere și pe echipamente obișnuite, cât și în distribuții GNU/Linux deja instalate, acționând ca o platformă pentru desfășurarea aplicațiilor. Utilizatorului îi sunt oferite funcții precum gestionarea dependențelor, construiri repetabile, funcționare fără root, restaurare la versiunile anterioare în cazul problemelor, gestionarea configurației, clonarea medii (crearea unei copii exacte a mediului de programare pe alte computere) etc.
Principalele :
- A fost adăugat un nou , care funcționează în modul text;
- o nouă imagine pentru mașini virtuale, potrivită atât pentru cunoașterea distribuției, cât și pentru crearea de medii de lucru pentru dezvoltare;
- Au fost adăugate noi servicii de sistem cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent și zabbix-server;
- Versiunile programelor au fost actualizate în 2104 pachete, au fost adăugate 1102 pachete noi. Printre acestea, au fost actualizate versiunile clojure 1.10.0, cups 2.2.11, emacs 26.2, gcc 8.3.0, gdb 8.2.1, ghc 8.4.3,
gimp 2.10.10, glibc 2.28, gnome 3.28.2, gnupg 2.2.15, go 1.12.1,
guile 2.2.4, icecat 60.6.1-guix1, icedtea 3.7.0, inkscape 0.92.4,
libreoffice 6.1.5.2, linux-libre 5.0.10, mate 1.22.0, ocaml 4.07.1,
octave 5.1.0, openjdk 11.28, python 3.7.0, rust 1.34.0, r 3.6.0,
sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1 și xorg-server 1.20.4; - Managerul de servicii GNU Shepherd a fost actualizat la versiunea , în care a fost implementat modul de funcționare one-shot al serviciilor, în care serviciul este marcat ca oprit imediat după lansarea cu succes, ceea ce poate fi necesar pentru a desfășura lucrări unice înainte de alte servicii, de exemplu, pentru a efectua curățenia sau inițializarea;
- Pentru comanda „guix package” au fost adăugate aliasuri tipice pentru alți manageri de pachete „install”, „remove”, „upgrade” și „search”. Pentru a căuta un pachet se poate utiliza comanda „guix search”, pentru a instala „guix install”, iar pentru a actualiza „guix pull” și „guix upgrade”;
- În managerul de pachete a fost adăugat un indicator de progres pentru executarea operațiunilor și colorarea mesajelor de diagnostic. În mod implicit, majoritatea comenzilor sunt acum lansate fără ieșire detaliată pe ecran, care poate fi activată printr-o opțiune separată „-v” (—verbosity);
- Managerul de pachete guix a primit o nouă comandă „guix system delete-generations” și opțiuni precum „guix pack —save-provenance”, „guix pull —news”, „guix environment —preserve”, „guix gc —list-roots”, „guix gc —delete-generations”, „guix weather —coverage”;
- Au fost adăugate opțiuni noi „—with-git-url” și „—with-branch”;
- Distribuția a fost completată cu câmpurile de configurare „keyboard-layout” pentru definirea aranjamentului tastaturii, „xorg-configuration” pentru configurarea serverului X, „label” pentru eticheta partiției și „essential-services” pentru definirea serviciilor esențiale;
- A fost adăugată comanda „guix pack -RR” pentru crearea de arhive tar cu fișiere executabile portabile, care pot fi lansate atât în raport cu căile din spațiul de nume al utilizatorului, cât și în raport cu PRoot;
- În „guix pull” s-a asigurat generarea unui cache de pachete pentru accelerarea operațiunilor de căutare după nume și a fost integrat pachetul „glibc-utf8-locales”;
- S-a asigurat o repetabilitate completă (bit cu bit) a imaginilor ISO generate de comanda „guix system”;
- Ca manager de autentificare a fost folosit GDM în loc de SLiM;
- S-a încheiat suportul pentru compilarea Guix cu Guile 2.0.
Reamintim că managerul de pachete GNU Guix se bazează pe realizările proiectului iar în plus față de funcțiile tipice de gestionare a pachetelor, suportă capacități precum realizarea de actualizări tranzacționale, capacitatea de a reveni la actualizări, funcționarea fără a obține privilegii de superutilizator, suport pentru profile legate de utilizatori individuali, capacitatea de a instala simultan mai multe versiuni ale aceleași aplicații, instrumente de curățare a deșeurilor (identificarea și eliminarea versiunilor neutilizate ale pachetelor). Pentru a defini scenariile de compilare a aplicațiilor și regulile de generare a pachetelor, se propune utilizarea unui limbaj de programare specializat orientat pe subiect și a componentelor API Guile Scheme, care permit realizarea tuturor operațiunilor de gestionare a pachetelor într-un limbaj de programare funcțional Scheme.
Se susține utilizarea pachetelor pregătite pentru managerul de pachete Nix și găzduite în depozit.
. Pe lângă operațiunile cu pachete, este posibilă crearea de scripturi pentru gestionarea configurației aplicațiilor. La compilarea unui pachet, toate dependențele asociate sunt descărcate și compilate automat. Este posibil atât să se încarce pachete binare gata din depozit, cât și să se compileze din surse cu toate dependențele. Au fost implementate instrumente pentru menținerea versiunilor programelor instalate la zi prin organizarea instalării actualizărilor dintr-un depozit extern.
Mediul de compilare pentru pachete este format sub forma unui container care conține toate componentele necesare funcționării aplicațiilor, ceea ce permite formarea unui set de pachete capabil să funcționeze fără a depinde de compoziția mediului de bază al sistemului distribuitor, în care Guix este utilizat ca un suprapunere. Între pachetele Guix este posibilă definirea dependențelor, iar pentru a verifica existența dependențelor deja instalate se utilizează scanarea identificatorilor hash în directorul pachetelor instalate. Pachetele sunt instalate într-un arbore de directoare separat sau într-un subdirector din catalogul utilizatorului, ceea ce permite coexistența lor paralelă cu alți gestionari de pachete și asigurarea suportului pentru o gamă largă de distribuții existente. De exemplu, un pachet este instalat ca \/nix\/store\/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0\/, unde „f42d58…” este identificatorul unic al pachetului utilizat pentru controlul dependențelor.
Distribuția include doar componente libere și este livrată cu kernel-ul GNU Linux-Libre, curățat de elemente ne-libre ale firmware-ului binar. Pentru compilare se folosește GCC 8.3. Ca sistem de inițializare, se utilizează managerul de servicii (), dezvoltat ca o alternativă la SysV-init cu suport pentru dependențe. Demonul de management și utilitarele Shepherd sunt scrise în limbajul Guile (una dintre implementările limbajului Scheme), care este folosit și pentru definirea parametrilor de lansare a serviciilor. Imaginea de bază suportă funcționarea în modul consolă, dar pentru instalare 9714 de pachete gata, printre care se numără și componentele stivei grafice bazate pe X.Org, managerii de feronerie dwm și ratpoison, desktopul Xfce, precum și o selecție de aplicații grafice.
Sursa: opennet.ro
