GNU Guix 1.1 pakethanterare och distribution baserad på den tillgängliga

tog plats pakethanterarens release GNU Guix 1.1 och GNU/Linux-distributionen byggd på dess bas. För lastning bildas bilder för installation på USB Flash (241 Mb) och användning i virtualiseringssystem (479 ​​Mb). Arbete stöds på arkitekturerna i686, x86_64, armv7 och aarch64.

Distributionssatsen möjliggör installation både som fristående OS i virtualiseringssystem, i containrar och på konventionell utrustning, och lansering i redan installerade GNU/Linux-distributioner, fungerar som en plattform för att distribuera applikationer. Användaren förses med funktioner som beroenderedovisning, repeterbara builds, arbete utan root, rollback till tidigare versioner vid problem, konfigurationshantering, miljökloning (skapa en exakt kopia av mjukvarumiljön på andra datorer) etc.

Den huvudsakliga innovationer:

  • Ett nytt "guix deploy"-kommando har lagts till, designat för att distribuera hårdvaran för flera datorer samtidigt, till exempel nya miljöer i en VPS eller fjärrsystem som är tillgängliga via SSH.
  • Författare till tredjepartspaketförråd (kanaler) förses med verktyg för att skriva nyhetsmeddelanden som användaren kan läsa när man kör kommandot "guix pull --news".
  • Lade till kommandot "guix system describe", som gör det möjligt att utvärdera ändringar mellan två olika instanser av systemet under driftsättning.
  • Lade till stöd för att generera bilder för Singularity och Docker till kommandot "guix pack".
  • Lade till kommandot "guix time-machine", som låter dig gå tillbaka till valfri version av ett paket som sparats i arkivet Heritage programvara.
  • Lade till "--target"-alternativet till "guix-system", vilket ger partiellt stöd för korskompilering;
  • Säkerställd utförande av Guix med hjälp av Guile 3, vilket har en positiv effekt på produktiviteten.
  • Grafen för paketberoende är begränsad till en reducerad uppsättning binära frökomponenter, vilket är ett stort steg mot att implementera fullt verifierbar bootstrap.
  • Ett ramverk för automatiserad testning av det grafiska installationsprogrammet har implementerats. Installationsprogrammet är nu byggt i ett kontinuerligt integrationssystem och testat i olika konfigurationer (krypterad och vanlig rotpartition, installation med stationära datorer, etc.).
  • Lade till byggsystem för Node.js, Julia och Qt, vilket förenklar skrivningen av paket för applikationer relaterade till dessa projekt.
  • Lade till nya systemtjänster auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wheel, proveniens, pulsaudio, sane, singularity, usb-modeswitch

  • Versioner av program i 3368 paket uppdaterades, 3514 nya paket lades till. Inklusive uppdaterade versioner 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,
    rost 1.39.0.

Kom ihåg att GNU Guix-pakethanteraren är baserad på utvecklingen av projektet Nix och förutom de typiska pakethanteringsfunktionerna, stöder den sådana funktioner som transaktionsuppdateringar, möjligheten att återställa uppdateringar, arbeta utan att erhålla superanvändarprivilegier, stöd för profiler associerade med enskilda användare, möjligheten att samtidigt installera flera versioner av ett program, sophämtningsverktyg (identifiera och ta bort oanvända versioner av paket). För att definiera applikationsbyggande skript och paketeringsregler, föreslås det att du använder ett specialiserat domänspecifikt språk på hög nivå och Guile Scheme API-komponenter som låter dig utföra alla pakethanteringsoperationer i Scheme funktionella programmeringsspråk.

Möjligheten att använda paket förberedda för Nix-pakethanteraren och placerade i förvaret stöds
Nixpkgs. Förutom paketoperationer kan du skapa skript för att hantera programkonfigurationen. När ett paket byggs, laddas och byggs alla associerade beroenden automatiskt. Det är möjligt både att ladda ner färdiga binära paket från förvaret, och bygga från källkod med alla beroenden. Verktyg har implementerats för att hålla versionerna av installerade program uppdaterade genom att organisera installationen av uppdateringar från ett externt arkiv.

Byggmiljön för paket bildas i form av en behållare som innehåller alla komponenter som behövs för att applikationen ska fungera, vilket gör att du kan skapa en uppsättning paket som kan fungera utan hänsyn till sammansättningen av distributionens bassystemmiljö, där Guix används som ett tillägg. Beroenden kan fastställas mellan Guix-paket genom att skanna identifierarhashar i katalogen för installerade paket för att hitta förekomsten av redan installerade beroenden. Paketen installeras i ett separat katalogträd eller underkatalog i användarens katalog, vilket gör att det kan samexistera parallellt med andra pakethanterare och ge stöd för ett brett utbud av befintliga distributioner. Till exempel är paketet installerat som /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, där "f42a58..." är den unika paketidentifieraren som används för beroendeövervakning.

Distributionen inkluderar endast fria komponenter och levereras med en GNU Linux-Libre-kärna avskalad från icke-fria binära firmware-element. GCC 9.3 används för att bygga. Servicehanteraren används som initieringssystem GNU Shepherd (ex dmd) utvecklat som ett alternativ till SysV-init med beroendestöd. Kontrolldemonen och Shepherd-verktygen är skrivna på Guile-språket (en av implementeringarna av Scheme-språket), som också används för att definiera tjänstens startparametrar. Basbilden stöder konsolläge, men för att installera beredd 13162 färdiga paket, inklusive komponenter i grafikstacken baserade på X.Org, fönsterhanterarna för dwm och ratpoison, Xfce-skrivbordet, samt ett urval av grafiska applikationer.

Källa: opennet.ru

Lägg en kommentar