Release of the GNU Shepherd 0.7 init system

Available service manager GNU Shepherd 0.7 (ex dmd), which is being developed by the developers of the GNU Guix System distribution as a dependency-supporting alternative to the SysV-init system. The Shepherd control daemon and utilities are written in the Guile language (one of the implementations of the Scheme language), which is also used to define settings and parameters for starting services. Shepherd is already used in the GuixSD GNU/Linux distribution and is also intended for use in GNU/Hurd, but can run on any POSIX-compliant OS for which the Guile language is available.

Shepherd can be used both as the main init system (init with PID 1), and in a separate form to manage background processes of individual users (for example, to run tor, privoxy, mcron, etc.) with execution with the rights of these users. Shepherd does the work of starting and stopping services by taking into account the relationship between services, dynamically determining and starting the services on which the selected service depends. Shepherd also supports conflict detection between services and prevents them from running concurrently.

Main innovations:

  • A new process failure handler has been implemented, which allows, when working under PID 1, to generate core dumps in GNU/Linux;
  • The service manager now has the ability to export environment variables defined in the "default-environment-variables" setting;
  • "make-forkexec-constructor" stopped deleting log files;
  • Reloading when pressing ctrl-alt-del is now disabled at the stage before the configuration file is processed;
  • Exception handling code adapted for Guile 3.0.0.

Source: opennet.ru

Add a comment