牧羊者 1.0.0 发布!— GNU 牧羊者

  • Shepherd 1.0 Release: After 21 years since its inception, Shepherd leaves ZeroVer territory and enters a 1.0 era. It's a major milestone for Guix, with a new logo and a proper website.
  • What Shepherd Is: A minimalist but featureful service manager that "herds services", keeping track of their state and dependencies. Consists of shepherd (daemon) and herd (command to interact).
  • Service Examples: Shows how to use herd to check status (e.g., sudo herd status ntpd), stop services (e.g., herd stop ntpd), and get custom actions (e.g., sudo herd configuration ntpd). Also presents a service dependency graph.
  • Blurring User/Developer Line: Configured and extended in Guile Scheme. Configuration file is a Scheme snippet with examples like defining ntpd service. Supports various startup mechanisms.
  • New in 0.10.x: Added support for timed services, improved herd status command, separated herd status root, added log rotation, system log, timer, and transient service features, and removed the deprecated GOOPS interface.
  • Cute Code: Minimal with 7.4K lines of Scheme (excluding tests) due to high-level language and extensibility. Uses concurrent sequential processes (CSP) model and Fibers, inspired by the actor model, resulting in simpler code and better separation of concern.
  • What's Next: Possible improvements like dynamic reconfigurable services, integration with cgroups and software suspend. Long-term vision is a distributed and capability-style Shepherd using Spritely Goblins.
  • Enjoy: Hope users enjoy Shepherd 1.0. Encourages contributions through various means like graphics, translation, and documentation.
阅读 28
0 条评论