Phát hành hệ thống GNU Shepherd 0.9.2 init

Trình quản lý dịch vụ GNU Shepherd 0.9.2 (trước đây là dmd) đã được xuất bản, đang được phát triển bởi các nhà phát triển bản phân phối Hệ thống GNU Guix như một giải pháp thay thế cho hệ thống khởi tạo SysV-init hỗ trợ các phần phụ thuộc. Trình nền và tiện ích điều khiển Shepherd được viết bằng ngôn ngữ Guile (một trong những triển khai của ngôn ngữ Đề án), ngôn ngữ này cũng được sử dụng để xác định cài đặt và tham số cho việc khởi chạy dịch vụ. Shepherd đã được sử dụng trong bản phân phối GuixSD GNU/Linux và cũng nhằm mục đích sử dụng trong GNU/Hurd, nhưng có thể chạy trên bất kỳ HĐH tương thích POSIX nào có sẵn ngôn ngữ Guile.

Shepherd thực hiện công việc bắt đầu và dừng dịch vụ bằng cách tính đến mối quan hệ giữa các dịch vụ, xác định và khởi động động các dịch vụ mà dịch vụ được chọn phụ thuộc vào. Shepherd cũng hỗ trợ phát hiện xung đột giữa các dịch vụ và ngăn chúng chạy đồng thời. Dự án có thể được sử dụng làm hệ thống khởi tạo chính (init với PID 1) và ở dạng riêng biệt để quản lý các quy trình nền của từng người dùng (ví dụ: để chạy tor, Privoxy, mcron, v.v.) với việc thực thi với các quyền của những người dùng này.

Trong số những thay đổi:

  • Bộ mô tả tệp được sử dụng trong Shepherd hiện được đánh dấu bằng cờ O_CLOEXEC (đóng khi thực thi) thay vì bị đóng ngay lập tức khi lệnh thực thi được thực thi, cho phép các điều khiển được chuyển đến các dịch vụ được khởi động gián tiếp bằng lệnh thực thi.
  • Các kết nối máy khách hiện được xử lý theo cách không chặn, giúp ngăn Shepherd bị treo khi gửi lệnh chưa hoàn chỉnh.
  • Đảm bảo rằng một thư mục được tạo cho các tệp nhật ký được xác định trong cài đặt “tệp nhật ký” nếu nó không tồn tại.

Nguồn: opennet.ru

Thêm một lời nhận xét