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.