GNU Guix 1.1 pakketbeheerder en distributie op basis daarvan beschikbaar

vond plaats pakketbeheerder release GNU Guix 1.1 en de GNU/Linux-distributie die op deze basis is gebouwd. Voor laden gevormd images voor installatie op USB Flash (241 MB) en gebruik in virtualisatiesystemen (479 ​​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:

  • Er is een nieuwe opdracht “guix deploy” toegevoegd, ontworpen om de hardware van meerdere computers tegelijk te implementeren, bijvoorbeeld nieuwe omgevingen in een VPS of externe systemen die toegankelijk zijn via SSH.
  • Auteurs van pakketopslagplaatsen (kanalen) van derden worden voorzien van hulpmiddelen om nieuwsberichten te schrijven die de gebruiker kan lezen bij het uitvoeren van de opdracht "guix pull --news".
  • De opdracht “guix system write” toegevoegd, die het mogelijk maakt om veranderingen tussen twee verschillende exemplaren van het systeem tijdens de implementatie te evalueren.
  • Ondersteuning toegevoegd voor het genereren van afbeeldingen voor Singularity en Docker aan de opdracht "guix pack".
  • De opdracht "guix time-machine" toegevoegd, waarmee u terug kunt gaan naar elke release van een pakket dat in het archief is opgeslagen Heritage-software.
  • “--target” optie toegevoegd aan “guix-systeem”, wat gedeeltelijke ondersteuning biedt voor cross-compilatie;
  • Zorgde voor de uitvoering van Guix met behulp van Schuld 3, wat een positief effect heeft op de productiviteit.
  • De pakketafhankelijkheidsgrafiek is beperkt tot een beperkte set binaire zaadcomponenten, wat een grote stap is in de richting van de implementatie van volledig verifieerbare bootstrap.
  • Er is een raamwerk geïmplementeerd voor het geautomatiseerd testen van het grafische installatieprogramma. Het installatieprogramma is nu gebouwd in een continu integratiesysteem en getest in verschillende configuraties (gecodeerde en reguliere rootpartitie, installatie met desktops, enz.).
  • Bouwsystemen toegevoegd voor Node.js, Julia en Qt, waardoor het schrijven van pakketten voor applicaties gerelateerd aan deze projecten wordt vereenvoudigd.
  • Nieuwe systeemservices auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader toegevoegd,
    knoopoplosser, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wiel, herkomst, pulseaudio, gezond, singulariteit, usb-modeswitch

  • Versies van programma's in 3368 pakketten zijn bijgewerkt, er zijn 3514 nieuwe pakketten toegevoegd. Inclusief bijgewerkte versies van 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, ga 1.13.9, bedrog 2.2.7,
    ijscat 68.7.0-guix0-preview1, ijsthee 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, openjdk 12.33, perl 5.30.0, python 3.7.4,
    roest 1.39.0.

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/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, waarbij "f42a58..." de unieke pakket-ID is die wordt gebruikt voor afhankelijkheidsmonitoring.

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 9.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 13162 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