GNU Guix System | |
---|---|
Fil:GNU Guix System logo.svg | |
| |
Udvikler | GNU Project [1] [2] |
OS familie | Unix-lignende OS |
Kilde | åben |
nyeste version | 1.3.0 [3] (11. maj 2021 ) |
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] ..
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] .
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 på 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] .
GNU projekt | ||
---|---|---|
Historie | ||
Licenser |
| |
Software _ |
| |
Personligheder |
| |
Andre emner |
|
Linux distributionsfamilier | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Debian |
| ||||||||||||||
ubuntu |
| ||||||||||||||
Fedora |
| ||||||||||||||
rød hat |
| ||||||||||||||
Mandriva |
| ||||||||||||||
Slackware | |||||||||||||||
Gentoo | |||||||||||||||
Arch | |||||||||||||||
Uafhængig | |||||||||||||||
Særlig |
| ||||||||||||||
Kategori Wikimedia Commons Wikinews Wikidata |