GNU Guix 1.0 pakethanterare och GuixSD-baserad distribution tillgänglig

tog plats pakethanterarens release GNU Guix 1.0 och distributionssatsen GuixSD GNU/Linux (Guix System Distribution) byggd på dess bas. En betydande förändring av versionsnumret beror på att implementeringen av alla har slutförts målinställd på att bilda ett landmärke. Releasen sammanfattade sju års arbete med projektet och anses vara redo för dagligt bruk. För lastning bildas bilder för installation på USB Flash (243 Mb) och användning i virtualiseringssystem (474 ​​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:

  • Lagt till nytt interaktivt installationsprogram, som fungerar i textläge;

    GNU Guix 1.0 pakethanterare och GuixSD-baserad distribution tillgänglig

  • Beredd en ny bild för virtuella maskiner, lämplig både för att bekanta sig med distributionspaketet och för att skapa arbetsmiljöer för utveckling;
  • Lade till nya systemtjänster cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent och zabbix-server;
  • Uppdaterade mjukvaruversioner i 2104 paket, lagt till 1102 nya paket. Inklusive uppdaterade versioner av 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, rost 1.34.0, r 3.6.0,
    sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1 och xorg-server 1.20.4;

  • GNU Shepherd service manager uppdaterad till version 0.6, som implementerar engångsserviceläget, där tjänsten markeras som stoppad omedelbart efter en framgångsrik lansering, vilket kan krävas för att starta engångsarbete före andra tjänster, till exempel för att utföra rengöring eller initiering;
  • Lade till "installera", "ta bort", "uppgradera" och "sök" alias som är typiska för andra pakethanterare till kommandot "guix package". För att söka efter ett paket kan du använda kommandot "guix search", för att installera "guix install" och för att uppgradera "guix pull" och "guix upgrade";
  • Lade till en förloppsindikator i pakethanteraren och markerade diagnostiska meddelanden med färger. Som standard körs de flesta kommandon nu utan utförlighet, vilket är aktiverat av ett separat "-v" (--verbosity) alternativ;
  • Nytt kommando "guix system delete-generations" och alternativ "guix pack --save-provenance", "guix pull --news", "guix environment --preserve", "guix gc --list-roots", "guix gc --delete-generations", "guix väder -täckning";
  • Nya alternativ har lagts till paketkonverteringar "--with-git-url" och "--with-branch";
  • Distributionen har lagt till konfigurationsfälten "tangentbordslayout" för att definiera tangentbordslayouten, "xorg-konfiguration" för att konfigurera X-servern, "etikett" för att märka sektionen och "essentiella tjänster" för att definiera grundläggande tjänster;
  • Lade till kommandot "guix pack -RR" för att skapa flyttbara körbara tarballs som kan köras i förhållande till både användarnamnutrymmessökvägar och PROot;
  • 'guix pull' tillhandahåller en paketcache för att snabba upp namnsökningar och bäddar in paketet 'glibc-utf8-locales';
  • Säkerställd full repeterbarhet (bit för bit) för ISO-bilder genererade av kommandot "guix system";
  • GDM används som inloggningshanterare istället för SLiM;
  • Stöd för att bygga Guix med Guile 2.0 har tagits bort.

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 är utformad som en behållare som innehåller alla komponenter som är nödvändiga för driften av applikationer, 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 hash-identifierarna i katalogen med 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 den kan samexistera med andra pakethanterare och ge stöd för ett brett utbud av befintliga distributioner. Till exempel installeras ett paket som /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/ där "f42d58..." är den unika paketidentifieraren som används för att styra beroenden.

Distributionen inkluderar endast fria komponenter och levereras med en GNU Linux-Libre-kärna avskalad från icke-fria binära firmware-element. GCC 8.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 9714 förpackade paket, inklusive X.Org-baserade grafikstackkomponenter, dwm- och ratpoison-fönsterhanterare, Xfce-skrivbordet och ett urval av grafikapplikationer.

Källa: opennet.ru

Lägg en kommentar