Guix System Distribution

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 23. februar 2022; checks kræver 2 redigeringer .
GNU Guix System
Fil:GNU Guix System logo.svg

Guix System med Xfce og med GNU IceCat og GNU Emacs inkluderet
Udvikler GNU Project [1] [2]
OS familie Unix-lignende OS
Kilde åben
nyeste version 1.3.0 [3]  (11. maj 2021 ) ( 2021-05-11 )
Pakkeansvarlige GNU Guix
Understøttede platforme x86_64, i686, arm [4]
Kernel type Monolitisk : Linux-fri (operationel)
Mikrokerne : GNU Hurd (under udvikling)
Interface GNOME [5] , Xfce [5] , Enlightenment [5] og LXDE [5]
Licens GPL
Stat i at udvikle
Internet side guix.gnu.org
 Mediefiler på Wikimedia Commons

GNU Guix System er en Linux-distribution bygget med GNU Guix [6] [7] pakkehåndtering . Den bruger den Linux-fri kerne med understøttelse af GNU Hurd - elementer [8] . Den 3. februar 2015 blev distributionen tilføjet til Free Software Foundations liste over gratis GNU+Linux-distributioner [9] ..

Funktioner

GNU Guix

GuixSD bruger GNU Guix , en funktionel pakkehåndtering, og en systemkonfigurationsmanager baseret på Nix-pakkehåndtering , ved hjælp af GNU Guile , som er en implementering af Scheme -programmeringssproget . Alle pakkedefinitioner såvel som al systemkonfiguration er skrevet i det domænespecifikke sprog Guile Scheme [10] .

GNU Shepherd

GuixSD bruger GNU Daemon Shepherd som sit init -system , som er udviklet i tandem med Guix og også er skrevet i Guile . Det blev tidligere kaldt "dmd", hvilket betyder "Daemon management Daemons" eller "Daemons-management Daemon", men navnet er blevet ændret for at undgå konflikt med Digital Mars D compileren [11] .

Shepherd eksponerer brugerrumsfunktionalitet asynkront som tjenester, som for Shepherd er generiske funktioner og objektdatatyper . Deres eksport bruges af Shepherd til at udvide basisoperativsystemet en bestemt måde. I modsætning til systemd kører userspace process shepherd som en bruger. Kernen i Shepherds initialiseringsmodel for brugerrum er begrebet udvidelse, en form for komponerbarhed, hvor tjenester er designet til at blive lagt oven på andre tjenester, og udvide dem med mere kompleks eller specialiseret adfærd efter ønske. [12] Dette udtrykker de instansieringsbaserede afhængighedsforhold, der findes i mange moderne leveringssystemer, [13] hvilket gør systemet modulært, mens det også tillader tjenester at interagere variabelt med hinanden på vilkårlige måder.

Shepherd leverer også såkaldte virtuelle tjenester , som tillader dynamisk afsendelse på tværs af en klasse af relaterede serviceobjekter, såsom alle de objekter, der skaber en mailserverimplementering for et system [14] . Et system, der styres gennem Shepherd-dæmonen, kan repræsentere sit brugerrum som en rettet acyklisk graf , og "systemtjenesten", der er ansvarlig for de tidlige opstarts- og initfaser, er både dens rod og alle efterfølgende initialiserede tjenester som udvidelser til funktionaliteten af ​​systemtjenesten , enten direkte eller gennem andre tjenester [12] [15] .

GNU Shepherd er skrevet og konfigureret ved hjælp af Guile Scheme og er beregnet til at tillade en høj grad af systemadministratorprogrammering, men det kan også bruges til at administrere individuelle brugerprofiler for uprivilegerede dæmoner og tjenester. [16] . Dets tjenester og konfiguration lagres ensartet som objektorienteret skemakode , og mens et kernesæt af tjenester leveres gennem GuixSD [17] -basesystemet , kan vilkårlige nye tjenester fleksibelt erklæres. Og gennem Guile Object System (GOOPS) kan eksisterende tjenester tilsidesættes efter brugerens skøn ved at bede Shepherd om dynamisk at ændre tjenester på de specificerede måder, når de instansieres [18] [19] .

GNU Shepherd blev oprindeligt udviklet til at arbejde med GNU Hurd og blev senere brugt i GuixSD [20] .

Se også

Noter

  1. Om - Guix System . Hentet 27. april 2022. Arkiveret fra originalen 27. april 2022.
  2. GNU/Linux-spørgsmål - GNU-projektet - Free Software Foundation . Hentet 7. juli 2018. Arkiveret fra originalen 7. september 2013.
  3. GNU Guix 1.3.0 udgivet . Hentet 13. maj 2021. Arkiveret fra originalen 13. maj 2021.
  4. Portering af GuixSD til ARMv7 - 2017 - Blog - GuixSD . Hentet 7. juli 2018. Arkiveret fra originalen 25. december 2017.
  5. 1 2 3 4 https://guix.gnu.org/ru/manual/devel/en/guix.html#Limitations
  6. Gratis GNU/Linux-distributioner - GNU Project - Free Software Foundation . Hentet 7. juli 2018. Arkiveret fra originalen 16. december 2014.
  7. Guix: A New Package Manager & GNU Distribution - Phoronix . Hentet 7. juli 2018. Arkiveret fra originalen 2. februar 2015.
  8. GNU Guix & GuixSD 0.12.0 udgivet . Hentet 7. juli 2018. Arkiveret fra originalen 1. august 2020.
  9. FSF tilføjer Guix System Distribution til listen over godkendte distributioner - Free Software Foundation - arbejder sammen om fri software . Hentet 7. juli 2018. Arkiveret fra originalen 3. februar 2015.
  10. Programmeringsgrænseflade (GNU Guix Reference Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 2. juni 2019.
  11. dmds nye navn . Hentet 7. juli 2018. Arkiveret fra originalen 19. september 2019.
  12. 1 2 Servicesammensætning (GNU Guix Reference Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 7. juli 2018.
  13. systemd: Enhedsafhængigheder og orden - Fedora Magazine . Hentet 7. juli 2018. Arkiveret fra originalen 1. august 2020.
  14. Jump Start (GNU Shepherd Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 1. august 2020.
  15. Shepherd Services (GNU Guix Reference Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 7. juli 2018.
  16. Introduktion (GNU Shepherd Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 1. august 2020.
  17. Tjenester (GNU Guix Reference Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 7. juli 2018.
  18. Tjenestetyper og tjenester (GNU Guix Reference Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 7. juli 2018.
  19. Brug af konfigurationssystemet (GNU Guix Reference Manual) . Hentet 7. juli 2018. Arkiveret fra originalen 7. juli 2018.
  20. Shepherd - GNU Project - Free Software Foundation . Hentet 7. juli 2018. Arkiveret fra originalen 12. februar 2016.

Links