GNU Guix 1.1 pakkebehandling og distribusjon basert på den tilgjengelig

fant sted utgivelse av pakkebehandling GNU Guix 1.1 og GNU/Linux-distribusjonen bygget på dens basis. For lasting dannet bilder for installasjon på USB Flash (241 MB) og bruk i virtualiseringssystemer (479 ​​MB). Støtter drift på i686, x86_64, armv7 og aarch64 arkitekturer.

Fordelingen tillater installasjon som frittstående OS i virtualiseringssystemer, i containere og på konvensjonelt utstyr, og lanseringen i allerede installerte GNU/Linux-distribusjoner, og fungerer som en plattform for applikasjonsdistribusjon. Brukeren er utstyrt med funksjoner som å ta hensyn til avhengigheter, repeterbare bygg, arbeid uten root, rulle tilbake til tidligere versjoner i tilfelle problemer, konfigurasjonsadministrasjon, kloningsmiljøer (opprette en eksakt kopi av programvaremiljøet på andre datamaskiner), etc. .

Den viktigste innovasjoner:

  • En ny "guix deploy"-kommando er lagt til, designet for å distribuere maskinvaren til flere datamaskiner samtidig, for eksempel nye miljøer i en VPS eller eksterne systemer tilgjengelig via SSH.
  • Forfattere av tredjeparts pakkelager (kanaler) er utstyrt med verktøy for å skrive nyhetsmeldinger som brukeren kan lese når de utfører kommandoen "guix pull --news".
  • Lagt til kommandoen "guix system describe", som gjør det mulig å evaluere endringer mellom to forskjellige forekomster av systemet under utrulling.
  • Lagt til støtte for generering av bilder for Singularity og Docker til kommandoen "guix pack".
  • Lagt til kommandoen "guix time-machine", som lar deg rulle tilbake til enhver utgivelse av en pakke lagret i arkivet Heritage programvare.
  • Lagt til "--target"-alternativet til "guix-systemet", som gir delvis støtte for krysskompilering;
  • Sørget for utførelse av Guix vha Guile 3, som har en positiv effekt på produktiviteten.
  • Pakkeavhengighetsgrafen er begrenset til et redusert sett med binære frøkomponenter, som er et stort skritt mot å implementere fullt verifiserbar oppstartsstrap.
  • Et rammeverk for automatisert testing av det grafiske installasjonsprogrammet er implementert. Installasjonsprogrammet er nå bygget i et kontinuerlig integreringssystem og testet i forskjellige konfigurasjoner (kryptert og vanlig rotpartisjon, installasjon med skrivebord, etc.).
  • Lagt til byggesystemer for Node.js, Julia og Qt, noe som forenkler skrivingen av pakker for applikasjoner relatert til disse prosjektene.
  • Lagt til nye systemtjenester auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-hjul, herkomst, pulsaudio, fornuftig, singularitet, usb-modusbryter

  • Versjoner av programmer i 3368 pakker ble oppdatert, 3514 nye pakker ble lagt til. Inkludert oppdaterte versjoner av 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, go 1.13.9, guile 2.2.7,
    icecat 68.7.0-guix0-preview1, icedtea 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, , openjdk 12.33, perl 5.30.0, python 3.7.4,
    rust 1.39.0.

La oss minne deg på at GNU Guix-pakkebehandleren er basert på utviklingen av prosjektet Nix og i tillegg til typiske pakkehåndteringsfunksjoner, støtter den funksjoner som å utføre transaksjonsoppdateringer, muligheten til å rulle tilbake oppdateringer, arbeid uten å oppnå superbrukerprivilegier, støtte for profiler knyttet til individuelle brukere, muligheten til å installere flere versjoner av ett program samtidig, søppelinnsamlingsverktøy (identifisering og fjerning av ubrukte versjoner av pakker ). For å definere scenarier for applikasjonsbygging og pakkedannelsesregler, foreslås det å bruke et spesialisert domenespesifikt språk på høyt nivå og Guile Scheme API-komponenter, som lar deg utføre alle pakkehåndteringsoperasjoner i det funksjonelle programmeringsspråket Scheme.

Støtter muligheten til å bruke pakker forberedt for Nix-pakkebehandleren og plassert i depotet
Nixpkgs. I tillegg til operasjoner med pakker, er det mulig å lage skript for å administrere applikasjonskonfigurasjoner. Når en pakke bygges, blir alle avhengigheter knyttet til den automatisk lastet ned og bygget. Det er mulig å enten laste ned ferdige binære pakker fra depotet eller bygge fra kildetekster med alle avhengigheter. Verktøy er implementert for å holde versjoner av installerte programmer oppdatert ved å organisere installasjonen av oppdateringer fra et eksternt depot.

Byggemiljøet for pakker er dannet i form av en beholder som inneholder alle komponentene som er nødvendige for at applikasjonen skal fungere, som lar deg lage et sett med pakker som kan fungere uten hensyn til sammensetningen av basissystemmiljøet til distribusjonen, der Guix brukes som et tillegg. Avhengigheter kan bestemmes mellom Guix-pakker ved å skanne identifikasjonshasher i katalogen for installerte pakker for å finne tilstedeværelsen av allerede installerte avhengigheter. Pakker er installert i et eget katalogtre eller underkatalog i brukerens katalog, slik at den kan eksistere side om side med andre pakkeadministratorer og gi støtte for et bredt spekter av eksisterende distribusjoner. For eksempel er pakken installert som /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, der "f42a58..." er den unike pakkeidentifikatoren som brukes for avhengighetsovervåking.

Distribusjonen inkluderer kun gratis komponenter og kommer med GNU Linux-Libre-kjernen, renset for ikke-frie elementer av binær fastvare. GCC 9.3 brukes til montering. Servicemanageren brukes som et initialiseringssystem GNU Shepherd (tidligere dmd), utviklet som et alternativ til SysV-init med avhengighetsstøtte. Shepherd-kontrolldaemonen og verktøyene er skrevet i Guile (en av implementeringene av Scheme-språket), som også brukes til å definere parametere for lansering av tjenester. Grunnbildet støtter konsollmodus, men for installasjon forberedt 13162 ferdige pakker, inkludert komponenter i grafikkstakken basert på X.Org, dwm- og ratpoison-vindusbehandlerne, Xfce-skrivebordet, samt et utvalg grafiske applikasjoner.

Kilde: opennet.ru

Legg til en kommentar