GNU Shepherd, ένας διαχειριστής υπηρεσιών που αναπτύχθηκε από την Guix

Μετά από δύο χρόνια από τη δημιουργία της τελευταίας μεγάλης έκδοσης, ανακοινώθηκε όταν δημοσίευσε την έναρξη του τη νέα έκδοση του διαχειριστή υπηρεσιών GNU Shepherd 0.9 (παλαιότερα γνωστό ως dmd), το οποίο είναι το ον αναπτύχθηκε από τους προγραμματιστές της διανομής GNU Guix ως εναλλακτική λύση για την αρχικοποίηση SysV-init με γνώση της εξάρτησης του συστήματος.

Βοσκός παρέχει λειτουργικότητα χώρου χρήστη ασύγχρονα ως υπηρεσίες, που στο Shepherd είναι γενικές συναρτήσεις και τύποι δεδομένων αντικειμένων που εξάγονται για χρήση από τον Shepherd για την επέκταση του βασικού λειτουργικού συστήματος με κάποιο καθορισμένο τρόπο. Σε αντίθεση με το systemd, μια διαδικασία παρακολούθησης χώρου χρήστη εκτελείται ως χρήστης.

Σχετικά με τον Shepherd

Στον πυρήνα του μοντέλου Shepherd της αρχικοποίησης του χώρου χρήστη βρίσκεται η έννοια της επέκτασης, μια μορφή συνθεσιμότητας στην οποία οι υπηρεσίες έχουν σχεδιαστεί για να επικαλύπτουν άλλες υπηρεσίες, αυξάνοντάς τις με πιο περίπλοκη ή εξειδικευμένη συμπεριφορά όπως επιθυμείτε. Αυτό εκφράζει τις σχέσεις εξάρτησης που βασίζονται σε στιγμιότυπα που βρίσκονται σε πολλά σύγχρονα συστήματα εκκίνησης, τα οποία κάνει το σύστημα αρθρωτό, αλλά επιτρέπει επίσης στις υπηρεσίες να αλληλεπιδρούν ποικίλα μεταξύ τους υπηρεσίες αυθαίρετα.

Βοσκός παρέχει επίσης τις λεγόμενες εικονικές υπηρεσίες που επιτρέπουν τη δυναμική παράδοση σε μια κλάση σχετικών αντικειμένων υπηρεσίας, όπως αυτά που δημιουργούν ένα πράκτορα μεταφοράς αλληλογραφίας (MTA) για το σύστημα.

Ένα σύστημα που διέπεται από τον δαίμονα Shepherd μπορεί να αναπαραστήσει τον χώρο χρήστη του ως κατευθυνόμενο άκυκλο γράφημα, με την "υπηρεσία συστήματος" (υπεύθυνη για τις πρώτες φάσεις εκκίνησης και εκκίνησης) ως root και όλες τις επόμενες αρχικοποιημένες υπηρεσίες ως επεκτάσεις της λειτουργικότητας της υπηρεσίας συστήματος , είτε άμεσα είτε μεταβατικά έναντι άλλων υπηρεσιών.

Γράφεται και διαμορφώνεται στο Guile Scheme, Το GNU Shepherd έχει σχεδιαστεί για να είναι εξαιρετικά προγραμματιζόμενο από τον διαχειριστή του συστήματος, αλλά μπορεί επίσης να χρησιμοποιηθεί για τη διαχείριση των προφίλ ανά χρήστη μη προνομιούχων δαιμόνων και υπηρεσιών.

Οι υπηρεσίες και οι ρυθμίσεις σας αποθηκεύονται ομοιόμορφα ως κώδικας σχήματος αντικειμενοστρεφές και παρόλο που παρέχεται ένα βασικό σύνολο υπηρεσιών με το βασικό σύστημα Guix, οι αυθαίρετες νέες υπηρεσίες μπορούν να δηλωθούν με ευελιξία και μέσω του συστήματος αντικειμένων του Guile, GOOPS, οι υπάρχουσες υπηρεσίες μπορούν να επαναπροσδιοριστούν κατά την κρίση του χρήστη ζητώντας από τον Shepherd να ξαναγράψει δυναμικά τις υπηρεσίες στο συγκεκριμένους τρόπους για την εγκατάσταση.

Το GNU Shepherd σχεδιάστηκε αρχικά για να λειτουργεί με το GNU Hurd και αργότερα υιοθετήθηκε από το σύστημα Guix.

Κύρια νέα χαρακτηριστικά του GNU Shepherd 0.9

Σε αυτή τη νέα έκδοση που παρουσιάζεται, επισημαίνεται ότι εφαρμόζεται η έννοια των προσωρινών υπηρεσιών (παροδικά), τα οποία αποσυνδέονται αυτόματα μετά τον τερματισμό λόγω τερματισμού διεργασίας ή κλήσης μεθόδου "stop", η οποία μπορεί να απαιτείται για συνθετικές υπηρεσίες που δεν μπορούν να επανεκκινηθούν μετά τον τερματισμό.

Μια άλλη από τις αλλαγές που ξεχωρίζει είναι για υπηρεσίες χωρίς την παράμετρο ""#:log-file"., παρέχεται έξοδος στο syslog και για υπηρεσίες με την παράμετρο "#:log-file", το αρχείο καταγραφής γράφεται σε ένα ξεχωριστό αρχείο που υποδεικνύει τον χρόνο των αρχείων καταγραφής στη μη προνομιούχα διαδικασία Shepherd που είναι αποθηκευμένη στον κατάλογο $XDG_DATA_DIR.

Επιπλέον, είναι αξιοσημείωτο ότι η διαδικασία "make-inetd-constructor" προστέθηκε για τη δημιουργία υπηρεσιών παρόμοιων με το inetd και ότι η διαδικασία "make-systemd-constructor" προστέθηκε για τη δημιουργία υπηρεσιών που ενεργοποιούνται στη δραστηριότητα δικτύου (style systemd socket δραστηριοποίηση).

Από τις άλλες αλλαγές που ξεχωρίζουν από αυτήν τη νέα έκδοση:

  • Προστέθηκε μια διαδικασία για την έναρξη της υπηρεσίας παρασκηνίου:
  • Προστέθηκαν οι παράμετροι ":supplementary-groups", "#:create-session" και "#:resource-limits" στη διαδικασία "make-forkeexec-constructor".
  • Εγγυημένη λειτουργία χωρίς κλείδωμα κατά την αναμονή αρχείων PID.
  • Καταργήθηκε η υποστήριξη για μεταγλώττιση με το Guile 2.0. Διορθώθηκαν προβλήματα κατά τη χρήση των εκδόσεων Guile 3.0.5-3.0.7.
  • Η βιβλιοθήκη Fibers 1.1.0 ή νεότερη έκδοση απαιτείται πλέον για να λειτουργήσει.
  • Βελτιωμένη τεκμηρίωση και παραδείγματα
  • Το Shepherd δεν μπορεί πλέον να κατασκευαστεί με το Guile 2.0
  • Διόρθωση σφάλματος μεταγλωττιστή Guile 3.0.[5-7]
  • Ενημερωμένες μεταφράσεις

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό ή θέλετε να αποκτήσετε αυτήν τη νέα έκδοση, μπορείτε να συμβουλευτείτε τις λεπτομέρειες, την τεκμηρίωση και να πραγματοποιήσετε λήψη από τον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.