Sistemul GNU Guix | |
---|---|
Fișier:GNU Guix System logo.svg | |
Sistemul Guix cu Xfce și cu GNU IceCat și GNU Emacs incluse | |
Dezvoltator | Proiect GNU [1] [2] |
Familia OS | Sistem de operare asemănător Unix |
Sursă | deschis |
ultima versiune | 1.3.0 [3] (11 mai 2021 ) |
Manageri de pachete | GNU Guix |
Platforme acceptate | x86_64, i686, braț [4] |
Tipul de kernel |
Monolitic : Linux-libre (operațional) Microkernel : GNU Hurd (în dezvoltare) |
Interfață | GNOME [5] , Xfce [5] , Enlightenment [5] și LXDE [5] |
Licență | GPL |
Stat | în curs de dezvoltare |
site web | guix.gnu.org |
Fișiere media la Wikimedia Commons |
GNU Guix System este o distribuție Linux construită cu managerul de pachete GNU Guix [6] [7] . Utilizează nucleul Linux-libre cu suport pentru elementele GNU Hurd [8] . Pe 3 februarie 2015 , distribuția a fost adăugată la lista de distribuții gratuite GNU+Linux a Free Software Foundation [9] ..
GuixSD folosește GNU Guix , un manager funcțional de pachete și un manager de configurare a sistemului bazat pe managerul de pachete Nix , folosind GNU Guile , care este o implementare a limbajului de programare Scheme . Toate definițiile pachetelor, precum și toate configurațiile sistemului, sunt scrise în limbajul specific domeniului Guile Scheme [10] .
GuixSD folosește GNU Daemon Shepherd ca sistem de inițializare , care este dezvoltat în tandem cu Guix și este, de asemenea, scris în Guile . Anterior a fost numit „dmd”, adică „Daemon management Daemons” sau „Daemons-management Daemon”, dar numele a fost schimbat pentru a evita conflictul cu compilatorul Digital Mars D [11] .
Shepherd expune funcționalitatea spațiului utilizator în mod asincron ca servicii, care pentru Shepherd sunt funcții generice și tipuri de date obiect . Exportul lor este folosit de Shepherd pentru a extinde sistemul de operare de bază într-un anumit fel. Spre deosebire de systemd , procesul de userspace shepherd rulează ca utilizator. La baza modelului de inițializare a spațiului utilizator al lui Shepherd se află conceptul de extensie, o formă de composabilitate în care serviciile sunt concepute pentru a fi stratificate peste alte servicii, sporindu-le cu comportamente mai complexe sau specializate, după cum se dorește. [12] Aceasta exprimă relațiile de dependență bazate pe instanțiere găsite în multe sisteme moderne de furnizare, [13] făcând sistemul modular, permițând, de asemenea, serviciilor să interacționeze variabil între ele în moduri arbitrare.
Shepherd oferă, de asemenea, așa-numitele servicii virtuale , care permit trimiterea dinamică într-o clasă de obiecte de serviciu înrudite, cum ar fi toate acele obiecte care creează o implementare de server de e-mail pentru un sistem [14] . Un sistem gestionat prin demonul Shepherd își poate reprezenta spațiul utilizatorului ca un grafic aciclic direcționat , iar „serviciul de sistem” responsabil pentru fazele de pornire timpurie și de pornire este atât rădăcina sa, cât și toate serviciile inițializate ulterioare ca extensii ale funcționalității serviciului de sistem. , fie direct, fie prin alte servicii [12] [15] .
GNU Shepherd este scris și configurat folosind Schema Guile și este destinat să permită un grad ridicat de programare a administratorului de sistem, dar poate fi folosit și pentru a gestiona profiluri individuale de utilizator pentru demoni și servicii neprivilegiate. [16] . Serviciile și configurația acestuia sunt stocate uniform ca cod Scheme orientat pe obiect și, în timp ce un set de bază de servicii este furnizat prin sistemul de bază GuixSD [17] , servicii noi arbitrare pot fi declarate în mod flexibil. Și prin sistemul de obiecte Guile (GOOPS), serviciile existente pot fi suprascrise la discreția utilizatorului, cerându-i lui Shepherd să schimbe dinamic serviciile în modurile specificate atunci când sunt instanțiate [18] [19] .
GNU Shepherd a fost dezvoltat inițial pentru a lucra cu GNU Hurd și a fost folosit ulterior în GuixSD [20] .
Proiectul GNU | ||
---|---|---|
Poveste | ||
Licențe |
| |
software _ |
| |
Personalități |
| |
Alte subiecte |
|
distribuție Linux | Familiile de|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Debian |
| ||||||||||||||
ubuntu |
| ||||||||||||||
Fedora |
| ||||||||||||||
palarie rosie |
| ||||||||||||||
Mandriva |
| ||||||||||||||
Slackware | |||||||||||||||
Gentoo | |||||||||||||||
Arc | |||||||||||||||
Independent | |||||||||||||||
Special |
| ||||||||||||||
Categorie Wikimedia Commons Wikiștiri Wikidata |