GNU Guix 1.4 pakkebehandling og distribusjon basert på den tilgjengelig

GNU Guix 1.4-pakkebehandleren og GNU/Linux-distribusjonen basert på den er utgitt. Bilder for installasjon på USB Flash (814 MB) og bruk i virtualiseringssystemer (1.1 GB) er generert for nedlasting. Den støtter arkitekturene i686, x86_64, Power9, armv7 og aarch64.

Distribusjonssettet kan installeres både som et frittstående OS i virtualiseringssystemer, i containere og på konvensjonelt utstyr, og kjøres i allerede installerte GNU/Linux-distribusjoner, og fungerer som en plattform for distribusjon av applikasjoner. Brukeren er utstyrt med funksjoner som avhengighetsregnskap, repeterbare bygg, arbeid uten root, tilbakerulling til tidligere versjoner ved problemer, konfigurasjonsadministrasjon, miljøkloning (opprette en eksakt kopi av programvaremiljøet på andre datamaskiner), etc.

Hovedinnovasjoner:

  • Forbedret styring av programmiljøer. Kommandoen "guix environment" er erstattet av en ny "guix shell"-kommando, som ikke bare lar deg lage byggemiljøer for utviklere, men også bruke miljøer til å gjøre deg kjent med programmer uten å bli reflektert i profilen og uten å utføre "guix" installere". For eksempel, for å laste ned og kjøre spillet supertuxkart, kan du kjøre "guix shell supertuxkart - supertuxkart". Når den er lastet ned, vil pakken bli lagret i hurtigbufferen og neste kjøring vil ikke kreve å pakke den ut på nytt.

    For å forenkle dannelsen av miljøer for utviklere i "guix-skallet", gis støtte for filene guix.scm og manifest.scm med en beskrivelse av miljøsammensetningen (alternativet "--export-manifest" kan brukes til å generere filer). For å lage beholdere som emulerer det klassiske systemkataloghierarkiet, tilbyr "guix-skallet" alternativene "-container --emulate-fhs".

  • Lagt til "guix home"-kommando for å administrere hjemmemiljøet. Guix lar deg definere alle komponenter i hjemmemiljøet, inkludert pakker, tjenester og filer som starter med en prikk. Ved å bruke "guix home"-kommandoen kan forekomster av det beskrevne hjemmemiljøet gjenskapes i $HOME-katalogen eller i en container, for eksempel for å overføre ens miljø til en ny datamaskin.
  • Lagt til "-f deb"-alternativet til "guix pack"-kommandoen for å lage frittstående deb-pakker som kan installeres på Debian.
  • For å lage ulike typer systembilder (rå, QCOW2, ISO8660 CD / DVD, Docker og WSL2), foreslås en universell kommando "guix systembilde", som lar deg bestemme typen lagring, partisjoner og operativsystem for det opprettede bilde.
  • Alternativet "-tune" er lagt til pakkemonteringskommandoene, som lar deg spesifisere prosessormikroarkitekturen som spesifikke optimaliseringer vil bli aktivert for (for eksempel kan AVX-512 SIMD-instruksjoner brukes på nye AMD- og Intel-prosessorer).
  • Installasjonsprogrammet implementerer en mekanisme for automatisk å lagre viktig feilsøkingsinformasjon i tilfelle en unormal installasjon.
  • Redusert oppstartstid for applikasjoner ved å bruke dynamisk koblingsbuffer for å redusere bruken av statistiske og åpne systemanrop når du søker etter biblioteker.
  • En ny utgivelse av GNU Shepherd 0.9 initialiseringssystemet er involvert, som implementerer konseptet med midlertidige tjenester (forbigående) og muligheten til å lage tjenester som aktiveres under nettverksaktivitet (i stil med systemd socket-aktivering).
  • Et nytt grensesnitt er lagt til for å angi størrelsen på swap-partisjonen i operativsystemkonfigurasjonen.
  • Grensesnittet for å sette en statisk nettverkskonfigurasjon har blitt redesignet, som nå tilbyr en deklarativ analog av innstillinger i stil med ip-kommandoen.
  • Lagt til 15 nye systemtjenester inkludert Jami, Samba, fail2ban og Gitile.
  • Packages.guix.gnu.org-nettstedet lansert for pakkenavigasjon.
  • Oppdaterte programvareversjoner i 6573 pakker, lagt til 5311 nye pakker. Blant annet oppdaterte versjoner av 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. Fjernet over 500 pakker ved hjelp av Python 2.

GNU Guix 1.4 pakkebehandling og distribusjon basert på den tilgjengelig

Husk at GNU Guix-pakkebehandleren er basert på utviklingen av Nix-prosjektet og, i tillegg til de typiske pakkehåndteringsfunksjonene, støtter funksjoner som 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 applikasjonsbyggingsskript og pakkeregler, 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 Scheme funksjonelle programmeringsspråk.

Muligheten til å bruke pakker forberedt for Nix-pakkebehandleren og vert i Nixpkgs-depotet støttes. I tillegg til pakkeoperasjoner kan du lage skript for å administrere programkonfigurasjon. Når en pakke bygges, blir alle tilknyttede avhengigheter automatisk lastet ned og bygget. Det er mulig både å laste ned ferdige binære pakker fra depotet, og bygge fra kilde med alle avhengigheter. Implementerte verktøy for å holde versjoner av installerte programmer oppdatert ved å organisere installasjonen av oppdateringer fra et eksternt depot.

Byggemiljøet for pakker er dannet som en beholder som inneholder alle komponentene som er nødvendige for driften av applikasjoner, 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 hash-identifikatorene i katalogen over installerte pakker for å finne tilstedeværelsen av allerede installerte avhengigheter. Pakker er installert i et eget katalogtre eller underkatalog i brukerens katalog, som gjør at den kan sameksistere med andre pakkeadministratorer og gi støtte for et bredt spekter av eksisterende distribusjoner. For eksempel er en pakke installert som /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ der "452a59..." er den unike pakke-IDen som brukes til å kontrollere avhengigheter.

Distribusjonen inkluderer kun gratis komponenter og kommer med en GNU Linux-Libre-kjerne strippet for ikke-frie binære fastvareelementer. GCC 12.2 brukes til å bygge. GNU Shepherd service manager (tidligere dmd) brukes som et initialiseringssystem, utviklet som et alternativ til SysV-init med avhengighetsstøtte. Kontrolldemonen og Shepherd-verktøyene er skrevet på Guile-språket (en av implementeringene av Scheme-språket), som også brukes til å definere tjenesteoppstartsparametere. Grunnbildet støtter konsollmodus, men 20526 ferdige pakker er klargjort for installasjon, inkludert X.Org-baserte grafikkstabelkomponenter, dwm- og ratpoison-vindusbehandlere, GNOME- og Xfce-stasjonære datamaskiner, og et utvalg grafiske applikasjoner.

Kilde: opennet.ru

Legg til en kommentar