GNU Guix 1.4 pakkehåndtering og distribution baseret på det tilgængelig

GNU Guix 1.4-pakkehåndteringen og GNU/Linux-distributionen baseret på den er blevet frigivet. Billeder til installation på USB Flash (814 MB) og brug i virtualiseringssystemer (1.1 GB) er blevet genereret til download. Det understøtter i686, x86_64, Power9, armv7 og aarch64 arkitekturer.

Distributionssættet kan installeres både som et selvstændigt OS i virtualiseringssystemer, i containere og på konventionelt udstyr, og køres i allerede installerede GNU/Linux-distributioner, der fungerer som en platform til implementering af applikationer. Brugeren er udstyret med funktioner som afhængighedsregnskab, gentagelige builds, arbejde uden root, rollback til tidligere versioner i tilfælde af problemer, konfigurationsstyring, miljøkloning (oprettelse af en nøjagtig kopi af softwaremiljøet på andre computere) osv.

Vigtigste innovationer:

  • Forbedret softwaremiljøstyring. Kommandoen "guix environment" er blevet erstattet af en ny "guix shell"-kommando, som ikke kun giver mulighed for at skabe byggemiljøer for udviklere, men også at bruge miljøer til at sætte dig ind i programmer uden at blive afspejlet i profilen og uden at udføre "guix" installere". For eksempel, for at downloade og køre spillet supertuxkart, kan du køre "guix shell supertuxkart - supertuxkart". Når den er downloadet, vil pakken blive gemt i cachen, og næste kørsel kræver ikke genudpakning.

    For at forenkle dannelsen af ​​miljøer for udviklere i "guix-skallen", er der understøttet guix.scm- og manifest.scm-filerne med en beskrivelse af miljøsammensætningen (muligheden "--export-manifest" kan bruges til at generere filer). For at skabe containere, der emulerer det klassiske systemkataloghierarki, tilbyder "guix-skallen" mulighederne "-container --emulate-fhs".

  • Tilføjet "guix home" kommando til at styre hjemmemiljøet. Guix giver dig mulighed for at definere alle komponenter i hjemmemiljøet, inklusive pakker, tjenester og filer, der starter med en prik. Ved at bruge kommandoen "guix home" kan forekomster af det beskrevne hjemmemiljø genskabes i mappen $HOME eller i en container, for eksempel for at overføre ens miljø til en ny computer.
  • Tilføjet "-f deb"-mulighed til kommandoen "guix pack" for at skabe selvstændige deb-pakker, der kan installeres på Debian.
  • For at oprette forskellige typer systembilleder (rå, QCOW2, ISO8660 CD / DVD, Docker og WSL2) foreslås en universel kommando "guix system image", som giver dig mulighed for at bestemme typen af ​​lager, partitioner og operativsystem for det oprettede billede.
  • Muligheden "-tune" er blevet tilføjet til pakkesamlingskommandoerne, som giver dig mulighed for at specificere processormikroarkitekturen, for hvilken specifikke optimeringer vil blive aktiveret (f.eks. kan AVX-512 SIMD-instruktioner bruges på nye AMD- og Intel-CPU'er).
  • Installationsprogrammet implementerer en mekanisme til automatisk at gemme vigtige fejlfindingsoplysninger i tilfælde af en unormal installation.
  • Reduceret applikationens opstartstid ved at bruge dynamisk linking-cache for at reducere brugen af ​​statistiske og åbne systemkald ved søgning efter biblioteker.
  • En ny udgivelse af GNU Shepherd 0.9 initialiseringssystemet er involveret, som implementerer konceptet med midlertidige tjenester (forbigående) og evnen til at skabe tjenester, der aktiveres under netværksaktivitet (i stil med systemd socket-aktivering).
  • En ny grænseflade er blevet tilføjet for at indstille størrelsen på swap-partitionen i operativsystemets konfiguration.
  • Interfacet til indstilling af en statisk netværkskonfiguration er blevet redesignet, som nu tilbyder en deklarativ analog af indstillinger i stil med ip-kommandoen.
  • Tilføjet 15 nye systemtjenester inklusive Jami, Samba, fail2ban og Gitile.
  • Packages.guix.gnu.org websted lanceret til pakkenavigation.
  • Opdaterede softwareversioner i 6573 pakker, tilføjet 5311 nye pakker. Blandt andet opdaterede versioner af 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. Fjernede over 500 pakker ved hjælp af Python 2.

GNU Guix 1.4 pakkehåndtering og distribution baseret på det tilgængelig

Husk på, at GNU Guix-pakkehåndteringen er baseret på udviklingen af ​​Nix-projektet og, ud over de typiske pakkehåndteringsfunktioner, understøtter funktioner som transaktionsopdateringer, muligheden for at rulle opdateringer tilbage, arbejde uden at opnå superbrugerprivilegier, support til profiler forbundet med individuelle brugere, muligheden for samtidig at installere flere versioner af et program, affaldsindsamlingsværktøjer (identifikation og fjernelse af ubrugte versioner af pakker). For at definere applikationsopbygningsscripts og pakkeregler foreslås det at bruge et specialiseret domænespecifikt sprog på højt niveau og Guile Scheme API-komponenter, der giver dig mulighed for at udføre alle pakkehåndteringsoperationer i Scheme funktionelle programmeringssprog.

Muligheden for at bruge pakker, der er forberedt til Nix-pakkehåndteringen og hostet i Nixpkgs-lageret, understøttes. Ud over pakkehandlinger kan du oprette scripts til at administrere applikationskonfiguration. Når en pakke er bygget, downloades og bygges alle tilknyttede afhængigheder automatisk. Det er muligt både at downloade færdige binære pakker fra depotet, og bygge fra kilde med alle afhængigheder. Implementerede værktøjer til at holde versioner af installerede programmer opdaterede ved at organisere installationen af ​​opdateringer fra et eksternt lager.

Byggemiljøet til pakker er dannet som en beholder, der indeholder alle de komponenter, der er nødvendige for driften af ​​applikationer, som giver dig mulighed for at oprette et sæt pakker, der kan fungere uden hensyn til sammensætningen af ​​distributionens basissystemmiljø, hvor Guix bruges som en tilføjelse. Afhængigheder kan bestemmes mellem Guix-pakker ved at scanne hash-id'erne i mappen med installerede pakker for at finde tilstedeværelsen af ​​allerede installerede afhængigheder. Pakker installeres i et separat bibliotekstræ eller underbibliotek i brugerens bibliotek, hvilket gør det muligt at sameksistere med andre pakkeadministratorer og yde support til en lang række eksisterende distributioner. For eksempel installeres en pakke som /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ hvor "452a59..." er det unikke pakke-id, der bruges til at kontrollere afhængigheder.

Distributionen inkluderer kun gratis komponenter og leveres med en GNU Linux-Libre-kerne, der er strippet for ikke-frie binære firmware-elementer. GCC 12.2 bruges til at bygge. GNU Shepherd service manager (tidligere dmd) bruges som et initialiseringssystem, udviklet som et alternativ til SysV-init med afhængighedsunderstøttelse. Kontroldæmonen og Shepherd-værktøjerne er skrevet i Guile-sproget (en af ​​implementeringerne af Scheme-sproget), som også bruges til at definere servicestartparametre. Basisbilledet understøtter konsoltilstand, men 20526 færdiglavede pakker er blevet forberedt til installation, inklusive X.Org-baserede grafikstakkomponenter, dwm- og ratpoison-vindueadministratorer, GNOME- og Xfce-desktops og et udvalg af grafiske applikationer.

Kilde: opennet.ru

Tilføj en kommentar