Distribuția sistemului Guix

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 23 februarie 2022; verificările necesită 2 modificări .
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 ) ( 2021-05-11 )
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] ..

Caracteristici

GNU Guix

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] .

GNU Shepherd

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] .

Vezi și

Note

  1. Despre - Sistemul Guix . Preluat la 27 aprilie 2022. Arhivat din original la 27 aprilie 2022.
  2. Întrebări GNU/Linux - Proiectul GNU - Free Software Foundation . Preluat la 7 iulie 2018. Arhivat din original la 7 septembrie 2013.
  3. GNU Guix 1.3.0 lansat . Preluat la 13 mai 2021. Arhivat din original la 13 mai 2021.
  4. Portarea GuixSD la ARMv7 - 2017 - Blog - GuixSD . Consultat la 7 iulie 2018. Arhivat din original la 25 decembrie 2017.
  5. 1 2 3 4 https://guix.gnu.org/ru/manual/devel/en/guix.html#Limitations
  6. Distribuții gratuite GNU/Linux - Proiectul GNU - Free Software Foundation . Consultat la 7 iulie 2018. Arhivat din original la 16 decembrie 2014.
  7. Guix: Un nou manager de pachete și distribuție GNU - Phoronix . Consultat la 7 iulie 2018. Arhivat din original pe 2 februarie 2015.
  8. GNU Guix & GuixSD 0.12.0 lansat . Preluat la 7 iulie 2018. Arhivat din original la 1 august 2020.
  9. FSF adaugă Guix System Distribution la lista de distribuții aprobate - Free Software Foundation - care lucrează împreună pentru software gratuit . Consultat la 7 iulie 2018. Arhivat din original pe 3 februarie 2015.
  10. Interfață de programare (Manual de referință GNU Guix) . Preluat la 7 iulie 2018. Arhivat din original la 2 iunie 2019.
  11. noul nume dmd . Preluat la 7 iulie 2018. Arhivat din original la 19 septembrie 2019.
  12. 1 2 Compoziția serviciului (Manual de referință GNU Guix) . Preluat la 7 iulie 2018. Arhivat din original la 7 iulie 2018.
  13. systemd: Dependențe și ordine de unități - Fedora Magazine . Preluat la 7 iulie 2018. Arhivat din original la 1 august 2020.
  14. Jump Start (Manualul GNU Shepherd) . Preluat la 7 iulie 2018. Arhivat din original la 1 august 2020.
  15. Shepherd Services (Manual de referință GNU Guix) . Preluat la 7 iulie 2018. Arhivat din original la 7 iulie 2018.
  16. Introducere (Manualul GNU Shepherd) . Preluat la 7 iulie 2018. Arhivat din original la 1 august 2020.
  17. Servicii (Manual de referință GNU Guix) . Preluat la 7 iulie 2018. Arhivat din original la 7 iulie 2018.
  18. Tipuri și servicii de servicii (Manual de referință GNU Guix) . Preluat la 7 iulie 2018. Arhivat din original la 7 iulie 2018.
  19. Utilizarea sistemului de configurare (Manual de referință GNU Guix) . Preluat la 7 iulie 2018. Arhivat din original la 7 iulie 2018.
  20. The Shepherd - Proiectul GNU - Free Software Foundation . Preluat la 7 iulie 2018. Arhivat din original pe 12 februarie 2016.

Link -uri