Opublikowany menedżer systemowy GNU Shepherd 1.0.0

Przedstawiono menedżera systemu GNU Shepherd 1.0.0 (wcześniej dmd), który łączy funkcje systemu inicjalizacji oraz narzędzia do zarządzania usługami systemowymi. Zauważono, że nadanie numeru 1.0 po 21 latach rozwoju oznacza uznanie gotowości projektu oraz jego zgodności z wymaganiami funkcjonalnymi współczesnych systemów inicjalizacji i menedżerów usług.

Projekt jest rozwijany przez programistów dystrybucji GNU Guix System jako alternatywa dla systemu inicjalizacji SysV-init, wspierającego zależności. Menedżer demonów i narzędzia Shepherd są napisane w języku Guile (jedna z implementacji języka Scheme), który jest również używany do definiowania ustawień i parametrów uruchamiania usług. Shepherd jest już wykorzystywany w dystrybucji GNU Guix System i ma być również używany w GNU/Hurd, ale może działać w każdej zgodnej z POSIX OS, dla której dostępny jest język Guile.

Shepherd wykonuje pracę polegającą na uruchamianiu i zatrzymywaniu usług, uwzględniając wzajemne powiązania między usługami, dynamicznie określając i uruchamiając usługi, od których zależy wybrana usługa. Shepherd wspiera również definiowanie konfliktów między usługami i zapobiega ich jednoczesnemu uruchamianiu. Projekt może być używany zarówno jako główny system inicjalizacji (init z PID 1), jak i w wydzielonym trybie do zarządzania procesami w tle pojedynczych użytkowników (na przykład do uruchamiania tor, privoxy, mcron itp.) z uprawnieniami danych użytkowników.

Główne nowości w GNU Shepherd 1.0.0:

  • Dodano wsparcie dla usług, które okresowo uruchamiają polecenia lub kod w języku Scheme zgodnie z ustalonym harmonogramem.
  • W poleceniu „herd status SERVICE” wprowadzono wyświetlanie informacji na wysokim poziomie o usługach, takich jak PID, polecenie i adresy, na których przyjmowane są żądania sieciowe, a także podsumowanie niedawno dodanych komunikatów do logu. Dodatkowo, to polecenie teraz pokazuje stosowne do usługi działania użytkownika oraz informuje o dostępności zastępczej usługi, która zostanie zastosowana po ponownym uruchomieniu bieżącej usługi.
  • Polecenie „herd status root” nie jest już synonimem „herd status” i wyświetla informacje o procesie głównym shepherd.
  • Dla platformy Linux wprowadzono możliwość ponownego uruchomienia przy użyciu mechanizmu kexec („reboot —kexec”) w celu zastąpienia jądra Linux bez fizycznego restartu.
  • Dodano usługi log-rotation, która odpowiada za okresową rotację logów i usuwanie przestarzałych logów.
  • Dodano usługę system-log, którą można wykorzystać jako zamiennik tradycyjnego systemu syslogd.
  • Dodano usługę timer do uruchamiania poleceń o wskazanej porze, podobnie jak narzędzie „at”. Na przykład, „herd schedule timer at 07:00 — mpg123 alarm.mp3”.
  • Dodano usługę transient do uruchamiania poleceń w tle, podobnie jak narzędzie systemd-run. Na przykład, „herd spawn transient -d $PWD — make -j4”.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster