El gestor de paquets GNU Guix 1.4 i la distribució basada en ell estan disponibles

Es van llançar el gestor de paquets GNU Guix 1.4 i la distribució GNU/Linux construïda sobre la seva base. Per a la seva descàrrega, s'han generat imatges per instal·lar-les en USB Flash (814 MB) i utilitzar-les en sistemes de virtualització (1.1 GB). Admet el funcionament en arquitectures i686, x86_64, Power9, armv7 i aarch64.

La distribució permet la instal·lació tant com a SO autònom en sistemes de virtualització, en contenidors i en equips convencionals, i es pot llançar en distribucions GNU/Linux ja instal·lades, actuant com a plataforma per desplegar aplicacions. L'usuari disposa de funcions com ara tenir en compte dependències, compilacions repetibles, treballar sense root, tornar a versions anteriors en cas de problemes, gestió de la configuració, entorns de clonació (crear una còpia exacta de l'entorn de programari en altres ordinadors), etc. .

Principals innovacions:

  • Millora de la gestió dels entorns de programari. L'ordre "entorn guix" s'ha substituït per la nova comanda "guix shell", que us permet no només crear entorns de compilació per a desenvolupadors, sinó també utilitzar entorns per familiaritzar-vos amb els programes sense que es reflecteixin al perfil i sense realitzar " instal·lar guix”. Per exemple, per descarregar i llançar el joc supertuxkart, podeu executar "guix shell supertuxkart - supertuxkart". Després de la descàrrega, el paquet es desarà a la memòria cau i el proper llançament no requerirà tornar-lo a extreure.

    Per simplificar la creació d'entorns per als desenvolupadors, el "guix shell" proporciona suport per als fitxers guix.scm i manifest.scm que descriuen la composició de l'entorn (l'opció "--export-manifest" es pot utilitzar per generar fitxers). Per crear contenidors en què s'emuli la jerarquia clàssica de directoris del sistema, el "guix shell" ofereix les opcions "—container —emulate-fhs".

  • S'ha afegit l'ordre "guix home" per controlar l'entorn domèstic. Guix us permet definir tots els components del vostre entorn domèstic, inclosos paquets, serveis i fitxers que comencen amb un punt. Mitjançant l'ordre "guix home", es poden recrear instàncies de l'entorn domèstic descrit al directori $HOME o en un contenidor, per exemple, per transferir el vostre entorn a un ordinador nou.
  • S'ha afegit l'opció "-f deb" a l'ordre "guix pack" per crear paquets deb separats que es poden instal·lar a Debian.
  • Per crear diversos tipus d'imatges del sistema (raw, QCOW2, ISO8660 CD/DVD, Docker i WSL2), es proposa una ordre universal "guix system image", que us permet determinar el tipus d'emmagatzematge, les particions i el sistema operatiu de la imatge creada. .
  • S'ha afegit l'opció "—tune" a les ordres per crear paquets, que us permet especificar la microarquitectura del processador per a la qual s'habilitaran optimitzacions específiques (per exemple, les instruccions SIMD AVX-512 es poden utilitzar en les noves CPU AMD i Intel) .
  • L'instal·lador implementa un mecanisme per desar automàticament la informació important de depuració en cas d'error d'instal·lació.
  • El temps d'inici de l'aplicació s'ha reduït mitjançant l'ús d'una memòria cau durant l'enllaç dinàmic, que redueix les trucades a l'estadística i les trucades al sistema obert quan es cerquen biblioteques.
  • S'ha utilitzat una nova versió del sistema d'inicialització GNU Shepherd 0.9, que implementa el concepte de serveis temporals (transitoris) i la capacitat de crear serveis activats per l'activitat de la xarxa (a l'estil d'activació del sòcol systemd).
  • S'ha afegit una nova interfície per configurar la mida de la partició d'intercanvi a la configuració del sistema operatiu.
  • S'ha redissenyat la interfície per configurar una configuració de xarxa estàtica, que ara ofereix un anàleg declaratiu de la configuració a l'estil de l'ordre ip.
  • S'han afegit 15 nous serveis del sistema, inclosos Jami, Samba, fail2ban i Gitile.
  • S'ha llançat packages.guix.gnu.org per a la navegació per paquets.
  • S'han actualitzat versions de programes en 6573 paquets, s'han afegit 5311 paquets nous. Entre altres coses, versions actualitzades de 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. S'han eliminat més de 500 paquets amb Python 2.

El gestor de paquets GNU Guix 1.4 i la distribució basada en ell estan disponibles

Recordem que el gestor de paquets GNU Guix es basa en els desenvolupaments del projecte Nix i, a més de les funcions típiques de gestió de paquets, admet funcions com la realització d'actualitzacions transaccionals, la possibilitat de revertir les actualitzacions, treballar sense obtenir privilegis de superusuari, suportar perfils vinculats a usuaris individuals, la possibilitat d'instal·lar simultàniament diverses versions d'un programa, eines de recollida d'escombraries (identificar i eliminar versions de paquets no utilitzades). Per definir escenaris de creació d'aplicacions i regles de formació de paquets, es proposa utilitzar un llenguatge especialitzat d'alt nivell específic de domini i components de l'API Guile Scheme, que us permeten realitzar totes les operacions de gestió de paquets en el llenguatge de programació funcional Scheme.

S'admet la possibilitat d'utilitzar paquets preparats per al gestor de paquets Nix i col·locats al repositori Nixpkgs. A més de les operacions amb paquets, és possible crear scripts per gestionar les configuracions d'aplicacions. Quan es construeix un paquet, totes les dependències associades amb ell es descarreguen i es construeixen automàticament. És possible descarregar paquets binaris ja fets des del repositori o bé construir-los a partir de textos font amb totes les dependències. S'han implementat eines per mantenir actualitzades les versions dels programes instal·lats mitjançant l'organització de la instal·lació d'actualitzacions des d'un dipòsit extern.

L'entorn de compilació de paquets es forma en forma d'un contenidor que conté tots els components necessaris perquè l'aplicació funcioni, cosa que permet crear un conjunt de paquets que poden funcionar sense tenir en compte la composició de l'entorn del sistema base de la distribució, en el qual Guix s'utilitza com a complement. Les dependències es poden determinar entre paquets Guix escanejant els hash d'identificador al directori de paquets instal·lats per trobar la presència de dependències ja instal·lades. Els paquets s'instal·len en un arbre de directoris o subdirectori separat al directori de l'usuari, cosa que li permet coexistir en paral·lel amb altres gestors de paquets i proporcionar suport per a una àmplia gamma de distribucions existents. Per exemple, el paquet s'instal·la com a /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, on "452a59..." és l'identificador únic del paquet utilitzat per a la supervisió de dependències.

La distribució inclou només components gratuïts i ve amb el nucli GNU Linux-Libre, netejat d'elements no lliures del microprogramari binari. GCC 12.2 s'utilitza per al muntatge. El gestor de serveis GNU Shepherd (anteriorment dmd) s'utilitza com a sistema d'inicialització, desenvolupat com a alternativa a SysV-init amb suport de dependència. El dimoni de control de Shepherd i les utilitats estan escrites en Guile (una de les implementacions del llenguatge Scheme), que també s'utilitza per definir paràmetres per llançar serveis. La imatge base admet el treball en mode de consola, però s'han preparat 20526 paquets ja preparats per a la instal·lació, inclosos components de la pila de gràfics basats en X.Org, gestors de finestres dwm i ratpoison, escriptoris GNOME i Xfce, així com una selecció de gràfics. aplicacions.

Font: opennet.ru

Afegeix comentari