Release of service manager s6-rc 0.6.

The release of the service manager s6-rc 0.6.0.0 is available, designed for managing the initialization scripts and service launches. It supports tracking the dependency tree and automatically starting or stopping services to achieve a specified state. The s6-rc toolkit can be used in both initialization systems and for organizing the launch of arbitrary services tied to events reflecting changes in system state. The system supports initialization scripts compatible with sysv-init and can import dependency information from sysv-rc or OpenRC. The code is written in C and is distributed under the ISC license.

The s6-rc service manager includes a set of utilities for starting and stopping long-running processes (daemons) or scripts that terminate immediately. During operation, it ensures parallel execution of non-overlapping services and guarantees a consistent execution sequence of scripts across different launches. All state changes are handled with respect to dependencies, for example, when starting a service, the necessary dependencies for its operation will be automatically started, and when stopping, dependent services will also be halted.

Unlike other service managers, s6-rc supports proactive (in offline mode) construction of a dependency graph for the existing set of services, allowing resource-intensive dependency analysis to be completed separately, rather than during boot or state change. The system is not monolithic and is divided into a series of separate and replaceable modules, each of which, in accordance with Unix philosophy, addresses only a specific task. The s6-rc project adheres to minimalism (it contains nothing superfluous) and consumes minimal resources.

Instead of runlevels, s6-rc offers the concept of bundles, allowing services to be grouped by arbitrary criteria and tasks being addressed. To enhance efficiency, a compiled dependency database is created by the s6-rc-compile utility based on the content of directories with files for launching/stopping services. The utilities s6-rc-db and s6-rc-update are provided for parsing and manipulating the database.

The new version includes collections of utilities s6-rc-repo-* and s6-rc-set-* for managing repositories with service definitions; support for shared libraries on the macOS platform has been added; a "--bootdb" option for setting up a boot database with information about services and their dependencies at the build stage has been introduced; the s6-rc-compile utility now includes a "-v2" option.

The project also develops companion packages that complement s6-rc:

  • s6 β€” utilities for monitoring and managing processes (similar to daemontools and runit). Features such as restarting processes after crashes, launching handlers (service activation) when a network port is accessed, event logging (replacement for syslogd), and controlled provision of additional privileges (like sudo) are supported.
  • s6-linux-init β€” an implementation of the init process for operating systems based on the Linux kernel, used for creating initialization systems where s6 and s6-rc packages manage services and scripts.
  • s6-networking β€” a set of utilities for creating network services, similar to ucspi.
  • s6-frontend β€” a wrapper to recreate the functionality of daemontools and runit on top of s6.
  • s6-portable-utils β€” a set of standard Unix utilities, such as cut, chmod, ls, sort, and grep, optimized for minimal resource consumption and distributed under the ISC license.
  • s6-linux-utils β€” a set of Linux-bound utilities, such as chroot, freeramdisk, logwatch, mount, and swapon.
  • mdevd β€” event manager (similar to udevd), designed for handling hot plugging of devices. According to its configuration, mdevd is compatible with mdev from Busybox.
  • bcnm β€” a network configurator with capabilities for configuring Wi-Fi on the client side.
  • execline β€” a scripting language.
  • skalibs β€” a library for creating secure system applications in the C programming language.
  • s6-dns β€” a set of client libraries and utilities that replace standard DNS utilities from BIND and djbdns.
  • dnsfunnel β€” redirects local DNS queries to external ones. server (DNS forwarder).
  • shibari β€” a simple DNS server.
  • tipidee β€” an HTTP server supporting HTTP/1.1.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers πŸ”₯ Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster