GNU Guix 1.0 pakketbeheerder en op GuixSD gebaseerde distributie beschikbaar

vond plaats pakketbeheerder release GNU Guix 1.0 en de GuixSD GNU/Linux-distributie gebouwd op zijn basis (Guix System Distribution). Een aanzienlijke wijziging in het versienummer is het gevolg van de voltooiing van alle implementaties doelen, afgeleverd om een ​​historische release te vormen. De release vatte zeven jaar werk aan het project samen en werd gereed verklaard voor dagelijks gebruik. Voor laden gevormd images voor installatie op USB Flash (243 MB) en gebruik in virtualisatiesystemen (474 ​​MB). Ondersteunt werking op i686-, x86_64-, armv7- en aarch64-architecturen.

De distributie maakt installatie mogelijk als zelfstandig besturingssysteem in virtualisatiesystemen, in containers en op conventionele apparatuur, en запуск in reeds geïnstalleerde GNU/Linux-distributies en fungeert als platform voor de implementatie van applicaties. De gebruiker krijgt functies ter beschikking zoals rekening houden met afhankelijkheden, herhaalbare builds, werken zonder root, teruggaan naar eerdere versies in geval van problemen, configuratiebeheer, omgevingen klonen (een exacte kopie maken van de softwareomgeving op andere computers), enz. .

De belangrijkste innovaties:

  • Nieuw toegevoegd interactief installatieprogramma, werkend in tekstmodus;

    GNU Guix 1.0 pakketbeheerder en op GuixSD gebaseerde distributie beschikbaar

  • Voorbereid een nieuw image voor virtuele machines, geschikt voor zowel kennismaking met de distributie als voor het creëren van werkomgevingen voor ontwikkeling;
  • Nieuwe systeemservices cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent en zabbix-server toegevoegd;
  • Programmaversies in 2104 pakketten zijn bijgewerkt, er zijn 1102 nieuwe pakketten toegevoegd. Inclusief bijgewerkte versies van 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, ga 1.12.1,
    bedrog 2.2.4, ijskat 60.6.1-guix1, ijsthee 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,
    octaaf 5.1.0, openjdk 11.28, python 3.7.0, roest 1.34.0, r 3.6.0,
    sbcl 1.5.1, herder 0.6.0, xfce 4.12.1 en xorg-server 1.20.4;

  • GNU Shepherd Service Manager bijgewerkt naar versie 0.6, die de one-shot service-modus implementeert, waarbij de service onmiddellijk na een succesvolle lancering wordt gestopt, wat nodig kan zijn om eenmalige taken te starten vóór andere services, bijvoorbeeld om opschoning of initialisatie uit te voeren;
  • Voor de opdracht "guix package" zijn de aliassen "install", "remove", "upgrade" en "search" toegevoegd die typisch zijn voor andere pakketbeheerders. Om naar een pakket te zoeken kunt u het commando “guix search” gebruiken, om “guix install” te installeren, en om “guix pull” en “guix upgrade” bij te werken;
  • Een voortgangsindicator voor de werking en kleuraccentuering van diagnostische berichten zijn toegevoegd aan de pakketbeheerder. Standaard worden de meeste opdrachten nu uitgevoerd zonder gedetailleerde schermuitvoer, wat mogelijk wordt gemaakt met een aparte “-v” (--breedsprakigheid) optie;
  • Een nieuw commando “guix system delete-generations” en opties “guix pack —save-provenance”, “guix pull —new”, “guix Environment —preserve”, “guix gc —list-roots”, “guix” zijn toegevoegd naar de guix-pakketbeheerder gc -delete-generations", "guix Weather -coverage";
  • Nieuwe opties toegevoegd pakketconversies "--with-git-url" en "-with-branch";
  • Configuratievelden “keyboard-layout” voor het definiëren van de toetsenbordindeling, “xorg-configuration” voor het configureren van de X-server, “label” voor het sectielabel en “essential-services” voor het definiëren van de belangrijkste services zijn aan de distributie toegevoegd;
  • De opdracht "guix pack -RR" toegevoegd om tar-archieven van verplaatsbare uitvoerbare bestanden te maken die relatief ten opzichte van paden in de naamruimte van de gebruiker of ten opzichte van PRot kunnen worden uitgevoerd;
  • “guix pull” zorgt voor de vorming van een pakketcache om zoekbewerkingen op naam te versnellen en zorgt voor de inbedding van het pakket “glibc-utf8-locales”;
  • Volledige herhaalbaarheid (bit voor bit) van ISO-afbeeldingen gegenereerd door de opdracht “guix system” is verzekerd;
  • GDM wordt gebruikt als loginmanager in plaats van SLiM;
  • Ondersteuning voor het bouwen van Guix met Guile 2.0 is stopgezet.

Laten we u eraan herinneren dat de GNU Guix-pakketbeheerder gebaseerd is op de ontwikkelingen van het project Nix en naast de typische pakketbeheerfuncties ondersteunt het functies als het uitvoeren van transactionele updates, de mogelijkheid om updates terug te draaien, werken zonder superuser-rechten te verkrijgen, ondersteuning voor profielen die aan individuele gebruikers zijn gekoppeld, de mogelijkheid om tegelijkertijd meerdere versies van één programma te installeren, tools voor het verzamelen van afval (identificeren en verwijderen van ongebruikte versies van pakketten). Om applicatiebouwscenario's en pakketvormingsregels te definiëren, wordt voorgesteld om een ​​gespecialiseerde domeinspecifieke taal op hoog niveau en Guile Scheme API-componenten te gebruiken, waarmee u alle pakketbeheerbewerkingen in de functionele programmeertaal Scheme kunt uitvoeren.

Ondersteunt de mogelijkheid om pakketten te gebruiken die zijn voorbereid voor de Nix-pakketbeheerder en in de repository zijn geplaatst
Nixpkgs. Naast bewerkingen met pakketten is het mogelijk om scripts te maken om applicatieconfiguraties te beheren. Wanneer een pakket wordt gebouwd, worden alle bijbehorende afhankelijkheden automatisch gedownload en gebouwd. Het is mogelijk om kant-en-klare binaire pakketten uit de repository te downloaden of te bouwen op basis van bronteksten met alle afhankelijkheden. Er zijn tools geïmplementeerd om versies van geïnstalleerde programma's up-to-date te houden door de installatie van updates vanuit een externe opslagplaats te organiseren.

De bouwomgeving voor pakketten wordt gevormd in de vorm van een container die alle componenten bevat die nodig zijn om de applicatie te laten werken, waardoor u een reeks pakketten kunt maken die kunnen werken zonder rekening te houden met de samenstelling van de basissysteemomgeving van de distributie. waarin Guix als add-on wordt gebruikt. Afhankelijkheden tussen Guix-pakketten kunnen worden bepaald door identificatie-hashes in de map met geïnstalleerde pakketten te scannen om de aanwezigheid van reeds geïnstalleerde afhankelijkheden te vinden. Pakketten worden geïnstalleerd in een aparte mappenstructuur of submap in de gebruikersmap, waardoor deze naast andere pakketbeheerders naast elkaar kunnen bestaan ​​en ondersteuning kunnen bieden voor een breed scala aan bestaande distributies. Het pakket wordt bijvoorbeeld geïnstalleerd als /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, waarbij "f42d58..." de unieke pakket-ID is die wordt gebruikt voor het controleren van de afhankelijkheid.

De distributie bevat alleen gratis componenten en wordt geleverd met de GNU Linux-Libre-kernel, ontdaan van niet-vrije elementen van binaire firmware. Voor de montage wordt GCC 8.3 gebruikt. De servicemanager wordt gebruikt als initialisatiesysteem GNU Herder (voormalige dmd), ontwikkeld als alternatief voor SysV-init met afhankelijkheidsondersteuning. De Shepherd-controledaemon en hulpprogramma's zijn geschreven in Guile (een van de implementaties van de Scheme-taal), die ook wordt gebruikt om parameters te definiëren voor het starten van services. De basisimage ondersteunt de consolemodus, maar dan voor installatie voorbereid 9714 kant-en-klare pakketten, inclusief componenten van de grafische stapel gebaseerd op X.Org, de dwm- en ratpoison-vensterbeheerders, de Xfce-desktop, evenals een selectie grafische applicaties.

Bron: opennet.ru

Voeg een reactie