Wydanie systemu init GNU Shepherd 0.6

Przesłane przez kierownik serwisu Pasterz GNU 0.6 (były dmd), który jest rozwijany przez twórców dystrybucji GuixSD GNU/Linux jako obsługująca zależności alternatywa dla systemu inicjalizacji SysV-init. Demon kontroli Shepherd i narzędzia są napisane w języku Guile (jedna z implementacji języka Scheme), który służy również do definiowania ustawień i parametrów uruchamiania usług. Shepherd jest już używany w dystrybucji GuixSD GNU/Linux i ma być również używany w GNU/Hurd, ale może działać na dowolnym systemie operacyjnym zgodnym z POSIX, dla którego dostępny jest język Guile.

Shepherd może być używany zarówno jako główny system inicjujący (init z PID 1), jak i w osobnej formie do zarządzania procesami w tle poszczególnych użytkowników (na przykład do uruchamiania Tora, privoxy, mcron itp.) z wykonaniem z uprawnieniami tych użytkowników. Shepherd wykonuje pracę polegającą na uruchamianiu i zatrzymywaniu usług, biorąc pod uwagę relacje między usługami, dynamicznie identyfikując i uruchamiając usługi, od których zależy wybrana usługa. Shepherd obsługuje także wykrywanie konfliktów pomiędzy usługami i zapobieganie ich jednoczesnemu działaniu.

Główne innowacje:

  • Dodano tryb serwisowy jeden strzał,
    w którym usługa jest oznaczona jako zatrzymana natychmiast po pomyślnym uruchomieniu, co może wymagać uruchomienia jednorazowych zadań przed innymi usługami, na przykład w celu przeprowadzenia czyszczenia lub inicjalizacji;

  • Zapewniono, że pliki z gniazdami zostaną usunięte po wyłączeniu
    pasterz;

  • Polecenie „zatrzymanie stada” nie wyświetla już błędu, gdy jest wykonywane na już zatrzymanej usłudze;
  • Narzędzie stada zwraca teraz niezerowy kod powrotu, jeśli uruchomienie zadania nie powiedzie się;
  • Podczas uruchamiania w kontenerze błędy związane z ładowaniem są ignorowane.

Źródło: opennet.ru

Dodaj komentarz