GNU Shepherd, một trình quản lý dịch vụ do Guix phát triển

Sau hai năm hình thành phiên bản chính cuối cùng, đã được công bố khi anh ấy xuất bản sự ra mắt của phiên bản mới của trình quản lý dịch vụ Người chăn cừu GNU 0.9 (trước đây được gọi là dmd), đang được được phát triển bởi các nhà phát triển của bản phân phối GNU Guix như một giải pháp thay thế cho việc khởi tạo SysV-init nhận biết sự phụ thuộc của hệ thống.

Shepherd cung cấp chức năng không gian người dùng một cách không đồng bộ như các dịch vụ, trong Shepherd là các hàm chung và kiểu dữ liệu đối tượng được xuất ra để Shepherd sử dụng để mở rộng hệ điều hành cơ sở theo một số cách xác định. Không giống như systemd, một quy trình giám sát không gian người dùng chạy với tư cách là người dùng đó.

Về Shepherd

Cốt lõi của mô hình Shepherd khởi tạo không gian người dùng là khái niệm về phần mở rộng, một dạng khả năng kết hợp trong đó các dịch vụ được thiết kế để phủ lên các dịch vụ khác, tăng cường chúng với các hành vi phức tạp hơn hoặc chuyên biệt hơn như mong muốn. Điều này thể hiện các mối quan hệ phụ thuộc dựa trên khởi tạo được tìm thấy trong nhiều hệ thống khởi động hiện đại, làm cho hệ thống trở nên mô-đun, nhưng cũng cho phép các dịch vụ tương tác với nhau một cách khác nhau các dịch vụ một cách tùy tiện.

Shepherd cũng cung cấp cái gọi là dịch vụ ảo cho phép điều phối động trên một lớp các đối tượng dịch vụ liên quan, chẳng hạn như những đối tượng khởi tạo tác nhân chuyển thư (MTA) cho hệ thống.

Một hệ thống được quản lý bởi Shepherd daemon có thể biểu diễn không gian người dùng của nó dưới dạng biểu đồ xoay chiều có hướng, với "dịch vụ hệ thống" (chịu trách nhiệm cho các giai đoạn khởi động và khởi động sớm) là gốc và tất cả các dịch vụ được khởi tạo tiếp theo là phần mở rộng của chức năng của dịch vụ hệ thống , trực tiếp hoặc chuyển tiếp qua các dịch vụ khác.

Được viết và cấu hình trong Đề án Guile, GNU Shepherd được thiết kế để có thể lập trình cao bởi quản trị viên hệ thống, nhưng cũng có thể được sử dụng để quản lý hồ sơ mỗi người dùng của các daemon và dịch vụ không có đặc quyền.

Các dịch vụ và cài đặt của bạn được lưu trữ thống nhất dưới dạng mã Đề án hướng đối tượng và mặc dù một tập hợp dịch vụ cốt lõi được cung cấp với hệ thống Guix cơ bản, các dịch vụ mới tùy ý có thể được khai báo một cách linh hoạt và thông qua hệ thống đối tượng của Guile, GOOPS, các dịch vụ hiện có có thể được xác định lại theo quyết định của người dùng bằng cách yêu cầu Shepherd tự động viết lại các dịch vụ trong các cách cụ thể về khởi tạo.

GNU Shepherd ban đầu được thiết kế để hoạt động với GNU Hurd và sau đó được Hệ thống Guix chấp nhận.

Các tính năng mới chính của GNU Shepherd 0.9

Trong phiên bản mới này được trình bày, nó được nhấn mạnh rằng khái niệm về các dịch vụ tạm thời được thực hiện (tạm thời), được ngắt kết nối tự động sau khi kết thúc do quá trình kết thúc hoặc lệnh gọi phương thức "dừng", có thể được yêu cầu đối với các dịch vụ tổng hợp không thể khởi động lại sau khi chấm dứt.

Một trong những thay đổi nổi bật là cho các dịch vụ không có tham số "" #: log-file ", đầu ra cho nhật ký hệ thống được cung cấp và đối với các dịch vụ có tham số "#: log-file", nhật ký được ghi vào một tệp riêng cho biết thời gian của nhật ký trong quy trình Shepherd không đặc quyền được lưu trữ trong thư mục $ XDG_DATA_DIR.

Ngoài ra, đáng chú ý là thủ tục "make-inetd-constructor" đã được thêm vào để tạo các dịch vụ tương tự như inetd và thủ tục "make-systemd-constructor" đã được thêm vào để tạo các dịch vụ được kích hoạt trong hoạt động mạng (kiểu socket systemd kích hoạt).

Những thay đổi khác nổi bật so với phiên bản mới này:

  • Đã thêm một thủ tục để bắt đầu dịch vụ nền:
  • Đã thêm các tham số “: bổ sung-nhóm”, “#: tạo-phiên” và “#: tài nguyên-giới hạn” vào thủ tục “make-forkexec-constructor”.
  • Đảm bảo hoạt động không bị khóa trong khi chờ tệp PID.
  • Đã xóa hỗ trợ biên dịch với Guile 2.0. Đã khắc phục sự cố khi sử dụng phiên bản Guile 3.0.5-3.0.7.
  • Thư viện Fibers 1.1.0 trở lên bây giờ được yêu cầu để hoạt động.
  • Tài liệu và ví dụ được cải thiện
  • Shepherd không còn có thể được xây dựng bằng Guile 2.0
  • Sửa lỗi trình biên dịch Guile 3.0. [5-7]
  • Bản dịch cập nhật

Cuối cùng nếu bạn muốn biết thêm về nó hoặc bạn muốn tải phiên bản mới này, bạn có thể tham khảo thông tin chi tiết, tài liệu và tải xuống từ liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.