Guix systemdistribution

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 23 februari 2022; kontroller kräver 2 redigeringar .
GNU Guix System
Fil:GNU Guix System logo.svg

Guix System med Xfce och med GNU IceCat och GNU Emacs inkluderade
Utvecklaren GNU-projektet [1] [2]
OS-familjen Unix-liknande OS
Källa öppna
senaste versionen 1.3.0 [3]  (11 maj 2021 ) ( 2021-05-11 )
Pakethanterare GNU Guix
Plattformar som stöds x86_64, i686, arm [4]
Typ av kärna Monolitisk : Linux-fri (operativ)
Mikrokärna : GNU Hurd (under utveckling)
Gränssnitt GNOME [5] , Xfce [5] , Enlightenment [5] och LXDE [5]
Licens GPL
stat under utveckling
Hemsida guix.gnu.org
 Mediafiler på Wikimedia Commons

GNU Guix System är en Linux-distribution byggd med GNU Guix [6] [7] pakethanterare . Den använder den Linux-fria kärnan med stöd för GNU Hurd - element [8] . Den 3 februari 2015 lades distributionen till Free Software Foundations lista över gratis GNU+Linux-distributioner [9] ..

Funktioner

GNU Guix

GuixSD använder GNU Guix , en funktionell pakethanterare, och en systemkonfigurationshanterare baserad på Nix-pakethanteraren , med hjälp av GNU Guile , som är en implementering av programmeringsspråket Scheme . Alla paketdefinitioner, såväl som all systemkonfiguration, är skrivna i det domänspecifika språket Guile Scheme [10] .

GNU Shepherd

GuixSD använder GNU Daemon Shepherd som sitt init- system , som är utvecklat i tandem med Guix och också är skrivet i Guile . Det kallades tidigare "dmd", vilket betyder "Daemon management Daemons" eller "Daemons-management Daemon", men namnet har ändrats för att undvika konflikt med Digital Mars D- kompilatorn [11] .

Shepherd exponerar användarutrymmesfunktionalitet asynkront som tjänster, vilket för Shepherd är generiska funktioner och objektdatatyper . Deras export används av Shepherd för att utöka basoperativsystemet ett visst sätt. I motsats till systemd körs userspace process shepherd som en användare. Kärnan i Shepherds modell för initiering av användarutrymme är konceptet förlängning, en form av komponerbarhet där tjänster är utformade för att läggas ovanpå andra tjänster, förstärka dem med mer komplexa eller specialiserade beteenden efter önskemål. [12] Detta uttrycker de instansieringsbaserade beroendeförhållandena som finns i många moderna provisioneringssystem, [13] vilket gör systemet modulärt samtidigt som det tillåter tjänster att interagera variabelt med varandra på godtyckliga sätt.

Shepherd tillhandahåller också så kallade virtuella tjänster , som tillåter dynamisk sändning över en klass av relaterade tjänsteobjekt, såsom alla de objekt som skapar en e-postserverimplementering för ett system [14] . Ett system som hanteras genom Shepherd-demonen kan representera sitt användarutrymme som en riktad acyklisk graf , och "systemtjänsten" som ansvarar för de tidiga start- och init-faserna är både dess rot och alla efterföljande initierade tjänster som tillägg till funktionaliteten hos systemtjänsten , antingen direkt eller genom andra tjänster [12] [15] .

GNU Shepherd är skrivet och konfigurerat med hjälp av Guile Scheme och är avsett att tillåta en hög grad av systemadministratörsprogrammering, men det kan också användas för att hantera individuella användarprofiler för oprivilegierade demoner och tjänster. [16] . Dess tjänster och konfiguration lagras enhetligt som objektorienterad Scheme -kod , och medan en kärnuppsättning tjänster tillhandahålls genom bassystemet GuixSD [17] , kan godtyckliga nya tjänster deklareras flexibelt. Och genom Guile Object System (GOOPS) kan befintliga tjänster åsidosättas efter användarens gottfinnande genom att be Shepherd att dynamiskt ändra tjänster på de specificerade sätten när de instansieras [18] [19] .

GNU Shepherd utvecklades ursprungligen för att fungera med GNU Hurd och användes senare i GuixSD [20] .

Se även

Anteckningar

  1. Om - Guix System . Hämtad 27 april 2022. Arkiverad från originalet 27 april 2022.
  2. GNU/Linux-frågor - GNU-projektet - Free Software Foundation . Hämtad 7 juli 2018. Arkiverad från originalet 7 september 2013.
  3. GNU Guix 1.3.0 släppt . Hämtad 13 maj 2021. Arkiverad från originalet 13 maj 2021.
  4. Portera GuixSD till ARMv7 - 2017 - Blogg - GuixSD . Hämtad 7 juli 2018. Arkiverad från originalet 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-projekt - Free Software Foundation . Hämtad 7 juli 2018. Arkiverad från originalet 16 december 2014.
  7. Guix: En ny pakethanterare & GNU-distribution - Phoronix . Hämtad 7 juli 2018. Arkiverad från originalet 2 februari 2015.
  8. GNU Guix & GuixSD 0.12.0 släppt . Hämtad 7 juli 2018. Arkiverad från originalet 1 augusti 2020.
  9. FSF lägger till Guix System Distribution till listan över godkända distributioner - Free Software Foundation - som arbetar tillsammans för fri programvara . Hämtad 7 juli 2018. Arkiverad från originalet 3 februari 2015.
  10. Programmeringsgränssnitt (GNU Guix referensmanual) . Hämtad 7 juli 2018. Arkiverad från originalet 2 juni 2019.
  11. dmds nya namn . Hämtad 7 juli 2018. Arkiverad från originalet 19 september 2019.
  12. 1 2 Servicesammansättning (GNU Guix referensmanual) . Hämtad 7 juli 2018. Arkiverad från originalet 7 juli 2018.
  13. systemd: Enhetsberoenden och ordning - Fedora Magazine . Hämtad 7 juli 2018. Arkiverad från originalet 1 augusti 2020.
  14. Jump Start (GNU Shepherd Manual) . Hämtad 7 juli 2018. Arkiverad från originalet 1 augusti 2020.
  15. Shepherd Services (GNU Guix Reference Manual) . Hämtad 7 juli 2018. Arkiverad från originalet 7 juli 2018.
  16. Inledning (GNU Shepherd Manual) . Hämtad 7 juli 2018. Arkiverad från originalet 1 augusti 2020.
  17. Tjänster (GNU Guix Referensmanual) . Hämtad 7 juli 2018. Arkiverad från originalet 7 juli 2018.
  18. Tjänstetyper och tjänster (GNU Guix Reference Manual) . Hämtad 7 juli 2018. Arkiverad från originalet 7 juli 2018.
  19. Använda konfigurationssystemet (GNU Guix referensmanual) . Hämtad 7 juli 2018. Arkiverad från originalet 7 juli 2018.
  20. Shepherd - GNU Project - Free Software Foundation . Hämtad 7 juli 2018. Arkiverad från originalet 12 februari 2016.

Länkar