GNU Guix 1.4 pakketbeheerder en distributie op basis daarvan beschikbaar

De GNU Guix 1.4-pakketbeheerder en de op basis daarvan gebouwde GNU/Linux-distributie zijn uitgebracht. Om te downloaden zijn er afbeeldingen gegenereerd voor installatie op USB Flash (814 MB) en gebruik in virtualisatiesystemen (1.1 GB). Ondersteunt werking op i686, x86_64, Power9, armv7 en aarch64 architecturen.

De distributie maakt installatie mogelijk als een stand-alone besturingssysteem in virtualisatiesystemen, in containers en op conventionele apparatuur, en kan worden gelanceerd in reeds geïnstalleerde GNU/Linux-distributies, en fungeert als een platform voor het inzetten 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. .

Belangrijkste innovaties:

  • Verbeterd beheer van softwareomgevingen. Het commando “guix Environment” is vervangen door het nieuwe commando “guix shell”, waarmee je niet alleen build-omgevingen voor ontwikkelaars kunt creëren, maar ook omgevingen kunt gebruiken om vertrouwd te raken met programma’s zonder dat dit in het profiel wordt weerspiegeld en zonder “ guix-installatie”. Om bijvoorbeeld het supertuxkart-spel te downloaden en te starten, kunt u "guix shell supertuxkart - supertuxkart" uitvoeren. Na het downloaden wordt het pakket in de cache opgeslagen en hoeft het bij de volgende lancering niet opnieuw te worden uitgepakt.

    Om het creëren van omgevingen voor ontwikkelaars te vereenvoudigen, biedt de “guix shell” ondersteuning voor guix.scm en manifest.scm bestanden die de samenstelling van de omgeving beschrijven (de optie “--export-manifest” kan worden gebruikt om bestanden te genereren). Om containers te maken waarin de klassieke systeemmaphiërarchie wordt geëmuleerd, biedt de “guix shell” de “—container —emulate-fhs” opties.

  • "guix home"-opdracht toegevoegd om de thuisomgeving te controleren. Met Guix kunt u alle componenten van uw thuisomgeving definiëren, inclusief pakketten, services en bestanden die beginnen met een punt. Met behulp van het commando "guix home" kunnen instances van de beschreven thuisomgeving opnieuw worden aangemaakt in de directory $HOME of in een container, bijvoorbeeld om uw omgeving naar een nieuwe computer over te zetten.
  • Optie "-f deb" toegevoegd aan het commando "guix pack" om afzonderlijke deb-pakketten te maken die op Debian kunnen worden geïnstalleerd.
  • Om verschillende soorten systeemimages te maken (raw, QCOW2, ISO8660 CD/DVD, Docker en WSL2), wordt een universele opdracht “guix system image” voorgesteld, waarmee u het opslagtype, de partities en het besturingssysteem voor de gemaakte image kunt bepalen .
  • De optie “—tune” is toegevoegd aan de opdrachten voor het bouwen van pakketten, waarmee u de microarchitectuur van de processor kunt specificeren waarvoor specifieke optimalisaties worden ingeschakeld (AVX-512 SIMD-instructies kunnen bijvoorbeeld worden gebruikt op nieuwe AMD- en Intel-CPU's) .
  • Het installatieprogramma implementeert een mechanisme om automatisch belangrijke foutopsporingsinformatie op te slaan in het geval van een installatiefout.
  • De opstarttijd van applicaties is verkort door het gebruik van een cache tijdens dynamisch koppelen, waardoor het aantal oproepen naar de statistiek en open systeemaanroepen bij het zoeken naar bibliotheken wordt verminderd.
  • Er is gebruik gemaakt van een nieuwe release van het GNU Shepherd 0.9-initialisatiesysteem, dat het concept van tijdelijke services (transient) implementeert en de mogelijkheid om services te creëren die worden geactiveerd door netwerkactiviteit (in de stijl van systemd socket-activatie).
  • Een nieuwe interface toegevoegd voor het instellen van de swappartitiegrootte in de besturingssysteemconfiguratie.
  • De interface voor het instellen van een statische netwerkconfiguratie is opnieuw ontworpen en biedt nu een declaratieve analoog van instellingen in de stijl van de ip-opdracht.
  • 15 nieuwe systeemservices toegevoegd, waaronder Jami, Samba, fail2ban en Gitile.
  • Gelanceerd pakketten.guix.gnu.org voor pakketnavigatie.
  • Programmaversies in 6573 pakketten zijn bijgewerkt, 5311 nieuwe pakketten zijn toegevoegd. Onder andere bijgewerkte versies van GNOME 42, Qt 6, GCC 12.2.0, Glibc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2, Emacs 28.2. Meer dan 500 pakketten verwijderd met Python 2.

GNU Guix 1.4 pakketbeheerder en distributie op basis daarvan beschikbaar

Laten we niet vergeten dat de GNU Guix-pakketbeheerder gebaseerd is op de ontwikkelingen van het Nix-project en, naast de typische pakketbeheerfuncties, functies ondersteunt zoals het uitvoeren van transactionele updates, de mogelijkheid om updates terug te draaien, werken zonder superuser-rechten te verkrijgen, het ondersteunen profielen gekoppeld aan individuele gebruikers, de mogelijkheid om tegelijkertijd verschillende versies van één programma te installeren, tools voor het verzamelen van afval (het 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.

De mogelijkheid om pakketten te gebruiken die zijn voorbereid voor de Nix-pakketbeheerder en in de Nixpkgs-repository zijn geplaatst, wordt ondersteund. 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 parallel naast andere pakketbeheerders kunnen bestaan ​​en ondersteuning kunnen bieden voor een breed scala aan bestaande distributies. Het pakket wordt bijvoorbeeld geïnstalleerd als /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, waarbij "452a59..." 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 12.2 gebruikt. De GNU Shepherd servicemanager (voorheen dmd) wordt gebruikt als initialisatiesysteem, 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 het werken in consolemodus, maar er zijn 20526 kant-en-klare pakketten voorbereid voor installatie, inclusief componenten van de op X.Org gebaseerde grafische stapel, dwm- en ratpoison-vensterbeheerders, GNOME- en Xfce-desktops, evenals een selectie van grafische toepassingen.

Bron: opennet.ru

Voeg een reactie