GNU Shepherd, menedżer usług opracowany przez Guix

Po dwóch latach powstawania ostatniej wersji majorowej, został ogłoszony, kiedy opublikował premierę nowa wersja menedżera usług Pasterz GNU 0.9 (wcześniej znany jako dmd), który jest opracowany przez twórców dystrybucji GNU Guix jako alternatywa dla inicjalizacji SysV-init z uwzględnieniem zależności systemowych.

pasterz zapewnia funkcjonalność przestrzeni użytkownika asynchronicznie jako usługi, które w Shepherd są funkcjami ogólnymi i typami danych obiektów, które są eksportowane do użycia przez Shepherda w celu rozszerzenia podstawowego systemu operacyjnego w określony sposób. W przeciwieństwie do systemd, proces monitorowania przestrzeni użytkownika działa jako ten użytkownik.

O Pasterzu

U podstaw modelu Shepherd inicjalizacji przestrzeni użytkownika leży koncepcja rozszerzenia, forma kompozycyjności, w której usługi są projektowane w taki sposób, aby nakładały się na inne usługi, rozszerzając je w razie potrzeby o bardziej złożone lub wyspecjalizowane zachowanie. Wyraża to oparte na instancjach relacje zależności, które można znaleźć w wielu nowoczesnych systemach rozruchowych, które: sprawia, że ​​system jest modułowy, ale także umożliwia różnorodną interakcję między usługami usług arbitralnie.

pasterz świadczy również tzw. usługi wirtualne które umożliwiają dynamiczne rozsyłanie do klasy powiązanych obiektów usług, takich jak te, które tworzą instancję agenta przesyłania poczty (MTA) dla systemu.

System zarządzany przez demona Shepherd może reprezentować swoją przestrzeń użytkownika jako ukierunkowany graf acykliczny, z „usługą systemową” (odpowiedzialną za wczesne fazy rozruchu i uruchamiania) jako root, a wszystkie kolejne zainicjowane usługi jako rozszerzenia funkcjonalności usługi systemowej , bezpośrednio lub przejściowo w stosunku do innych usług.

Będąc napisanym i skonfigurowanym w Guile Scheme, GNU Shepherd został zaprojektowany tak, aby był wysoce programowalny przez administratora systemu, ale może być również używany do zarządzania profilami poszczególnych użytkowników demonów i usług nieuprzywilejowanych.

Twoje usługi i ustawienia są przechowywane w jednolity sposób jako kod schematu zorientowane obiektowo i chociaż podstawowy zestaw usług jest dostarczany z podstawowym systemem Guix, dowolne nowe usługi można elastycznie deklarować, a za pomocą systemu obiektowego Guile, GOOPS, istniejące usługi można przedefiniować według uznania użytkownika, prosząc Shepherda o dynamiczne przepisywanie usług w konkretne sposoby tworzenia instancji.

GNU Shepherd został pierwotnie zaprojektowany do współpracy z GNU Hurd, a później został przyjęty przez system Guix.

Główne nowe funkcje GNU Shepherd 0.9

W tej nowej wersji, która jest prezentowana, podkreślono, że realizacja koncepcji usług tymczasowych (przejściowe), które są automatycznie odłączane po zakończeniu z powodu zakończenia procesu lub wywołania metody „stop”, co może być wymagane w przypadku usług syntezowanych, które nie mogą być ponownie uruchomione po zakończeniu.

Kolejną z wyróżniających się zmian jest dla usług bez parametru ""#:log-file", Dostępne są dane wyjściowe do syslog aw przypadku usług z parametrem „#:log-file” dziennik jest zapisywany w osobnym pliku wskazującym czas dzienników w nieuprzywilejowanym procesie Shepherd, który jest przechowywany w katalogu $XDG_DATA_DIR.

Dodatkowo warto zauważyćże procedura "make-inetd-constructor" została dodana do tworzenia usług podobnych do inetd oraz że procedura "make-systemd-constructor" została dodana do tworzenia usług aktywowanych w aktywności sieciowej (styl gniazdo systemd aktywacja).

Z innych zmian które wyróżniają się na tle nowej wersji:

  • Dodano procedurę uruchamiania usługi w tle:
  • Dodano parametry „:supplementary-groups”, „#:create-session” i „#:resource-limits” do procedury „make-forkexec-constructor”.
  • Gwarantowane działanie bez blokady podczas oczekiwania na pliki PID.
  • Usunięto wsparcie dla kompilacji z Guile 2.0. Naprawiono problemy podczas korzystania z wersji Guile 3.0.5-3.0.7.
  • Do działania wymagana jest teraz biblioteka Fibers 1.1.0 lub nowsza.
  • Ulepszona dokumentacja i przykłady
  • Pasterza nie można już zbudować za pomocą Guile 2.0
  • Naprawiono błąd kompilatora Guile 3.0.[5-7]
  • Zaktualizowane tłumaczenia

W końcu jeśli chcesz dowiedzieć się więcej na ten temat lub chcesz uzyskać tę nową wersję, możesz zapoznać się ze szczegółami, dokumentacją i pobrać z poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.