GNU Guix 1.0-pakkehåndtering og GuixSD-baseret distribution tilgængelig

tog sted pakkehåndteringsudgivelse GNU Guix 1.0 og distributionssættet GuixSD GNU/Linux (Guix System Distribution) bygget på dets basis. En væsentlig ændring i versionsnummeret skyldes færdiggørelsen af ​​implementeringen af ​​alle målindstillet til at danne en skelsættende udgivelse. Udgivelsen opsummerede syv års arbejde på projektet og anses for klar til hverdagsbrug. Til lastning dannet billeder til installation på USB Flash (243 Mb) og brug i virtualiseringssystemer (474 ​​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:

  • Tilføjet nyt interaktiv installatør, som fungerer i teksttilstand;

    GNU Guix 1.0-pakkehåndtering og GuixSD-baseret distribution tilgængelig

  • Forberedt et nyt image til virtuelle maskiner, velegnet både til at stifte bekendtskab med distributionssættet og til at skabe arbejdsmiljøer til udvikling;
  • Tilføjet nye systemtjenester cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent og zabbix-server;
  • Opdaterede softwareversioner i 2104 pakker, tilføjet 1102 nye pakker. Inklusive opdaterede versioner af clojure 1.10.0, cups 2.2.11, emacs 26.2, gcc 8.3.0, gdb 8.2.1, ghc 8.4.3,
    gimp 2.10.10, glibc 2.28, gnome 3.28.2, gnupg 2.2.15, go 1.12.1,
    guile 2.2.4, icecat 60.6.1-guix1, icedtea 3.7.0, inkscape 0.92.4,
    libreoffice 6.1.5.2, linux-libre 5.0.10, mate 1.22.0, ocaml 4.07.1,
    oktav 5.1.0, openjdk 11.28, python 3.7.0, rust 1.34.0, r 3.6.0,
    sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1 og xorg-server 1.20.4;

  • GNU Shepherd service manager opdateret til version 0.6, som implementerer one-shot-servicetilstanden, hvor tjenesten markeres som stoppet umiddelbart efter en vellykket lancering, hvilket kan være nødvendigt for at starte engangsarbejde før andre tjenester, for eksempel for at udføre rensning eller initialisering;
  • For kommandoen "guix package" er aliaserne "install", "remove", "upgrade" og "search", der er typiske for andre pakkeadministratorer, blevet tilføjet. For at søge efter en pakke kan du bruge kommandoen "guix search", for at installere "guix install", og til at opdatere "guix pull" og "guix upgrade";
  • Tilføjet en fremskridtsindikator til pakkehåndteringen og fremhæver diagnostiske meddelelser med farver. Som standard køres de fleste kommandoer nu uden ordlyd, hvilket er aktiveret af en separat "-v" (--uddybende) mulighed;
  • Ny kommando "guix system delete-generations" og muligheder "guix pack --save-provenance", "guix pull --news", "guix environment --preserve", "guix gc --list-roots", "guix gc --delete-generations", "guix vejr -dækning";
  • Nye muligheder tilføjet pakkekonverteringer "--with-git-url" og "--with-branch";
  • Distributionen tilføjede konfigurationsfelter "tastatur-layout" for at definere tastaturlayoutet, "xorg-konfiguration" for at konfigurere X-serveren, "label" for at mærke sektionen og "essentielle tjenester" til at definere grundlæggende tjenester;
  • Tilføjet "guix pack -RR"-kommando for at skabe flytbare eksekverbare tarballs, der kan køres i forhold til både usernamespace-stier og PRoot;
  • 'guix pull' giver en pakkecache for at fremskynde navneopslag og indlejrer pakken 'glibc-utf8-locales';
  • Sikret fuld repeterbarhed (bit for bit) af ISO-billeder genereret af kommandoen "guix system";
  • GDM bruges som login manager i stedet for SLiM;
  • Support til at bygge Guix ved hjælp af Guile 2.0 er afbrudt.

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 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/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/ hvor "f42d58..." er den 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 8.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 9714 færdigpakkede pakker, inklusive X.Org-baserede grafikstakkomponenter, dwm- og ratpoison-vindueadministratorer, Xfce-skrivebordet og et udvalg af grafikapplikationer.

Kilde: opennet.ru

Tilføj en kommentar