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

tog sted pakkehåndteringsudgivelse GNU Guix 1.1 og GNU/Linux-distributionen bygget på dens basis. Til lastning dannet billeder til installation på USB Flash (241 Mb) og brug i virtualiseringssystemer (479 ​​Mb). Arbejdet er understøttet på arkitekturerne i686, x86_64, armv7 og aarch64.

Fordelingssættet tillader installation både som selvstændigt OS i virtualiseringssystemer, i containere og på konventionelt udstyr, og lancering 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.

The main innovationer:

  • En ny "guix deploy"-kommando er blevet tilføjet, designet til at implementere hardwaren på flere computere på én gang, for eksempel nye miljøer i en VPS eller fjernsystemer, der er tilgængelige via SSH.
  • Forfattere af tredjeparts pakkelager (kanaler) er forsynet med værktøjer til at skrive nyhedsmeddelelser, som brugeren kan læse, når han udfører kommandoen "guix pull --news".
  • Tilføjet kommandoen "guix system describe", som gør det muligt at evaluere ændringer mellem to forskellige forekomster af systemet under udrulning.
  • Tilføjet understøttelse til generering af billeder til Singularity og Docker til kommandoen "guix pack".
  • Tilføjet kommandoen "guix time-machine", som giver dig mulighed for at rulle tilbage til enhver udgivelse af en pakke gemt i arkivet Heritage software.
  • Tilføjet "--target"-mulighed til "guix-system", hvilket giver delvis støtte til krydskompilering;
  • Sikret udførelse af Guix vha Svindel 3, hvilket har en positiv effekt på produktiviteten.
  • Pakkeafhængighedsgrafen er begrænset til et reduceret sæt binære frøkomponenter, hvilket er et stort skridt i retning af implementering af fuldt verificerbar bootstrap.
  • En ramme for automatiseret test af det grafiske installationsprogram er blevet implementeret. Installationsprogrammet er nu bygget i et kontinuerligt integrationssystem og testet i forskellige konfigurationer (krypteret og almindelig rodpartition, installation med desktops osv.).
  • Tilføjede byggesystemer til Node.js, Julia og Qt, hvilket forenkler skrivningen af ​​pakker til applikationer relateret til disse projekter.
  • Tilføjet nye systemtjenester auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    knudeopløser, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-hjul, herkomst, pulsaudio, fornuftig, singularitet, usb-modeswitch

  • Versioner af programmer i 3368 pakker blev opdateret, 3514 nye pakker blev tilføjet. Inklusive opdaterede versioner af 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.

Husk på, at GNU Guix-pakkehåndteringen er baseret på udviklingen af ​​projektet Nix og ud over de typiske pakkehåndteringsfunktioner understøtter den sådanne funktioner som transaktionsopdateringer, muligheden for at rulle opdateringer tilbage, arbejde uden at opnå superbrugerprivilegier, understøttelse af 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 placeret i depotet, understøttes
Nixpkgs. 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 i form af en beholder, der indeholder alle de komponenter, der er nødvendige for, at applikationen kan fungere, hvilket 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 identifikator-hashes 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 parallelt med andre pakkeadministratorer og yde support til en bred vifte af eksisterende distributioner. For eksempel er pakken installeret som /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, hvor "f42a58..." er den unikke pakke-id, der bruges til afhængighedsovervågning.

Distributionen inkluderer kun gratis komponenter og leveres med en GNU Linux-Libre-kerne, der er strippet for ikke-frie binære firmware-elementer. GCC 9.3 bruges til at bygge. Servicemanageren bruges som initialiseringssystem GNU Shepherd (eks dmd) 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 at installere forberedt 13162 færdige pakker, inklusive komponenter i grafikstakken baseret på X.Org, dwm- og ratpoison-vindueadministratorerne, Xfce-skrivebordet samt et udvalg af grafiske applikationer.

Kilde: opennet.ru

Tilføj en kommentar