GNU Shepherd ، مدير خدمة تم تطويره بواسطة Guix

بعد عامين من تشكيل آخر نسخة رئيسية ، عندما نشر إطلاق الإصدار الجديد من مدير الخدمة GNU Shepherd 0.9 تحديث (المعروف سابقًا باسم dmd) ، والذي يجري تم تطويره بواسطة مطوري توزيع GNU Guix كبديل لتهيئة SysV-init المدركة لتبعية النظام.

الراعي يوفر وظائف مساحة المستخدم بشكل غير متزامن كخدمات، والتي في Shepherd هي وظائف عامة وأنواع بيانات كائن يتم تصديرها للاستخدام بواسطة Shepherd لتوسيع نظام التشغيل الأساسي بطريقة محددة. على عكس systemd ، تعمل عملية مراقبة مساحة المستخدم على أنه هذا المستخدم.

عن الراعي

في صميم نموذج Shepherd لتهيئة مساحة المستخدم هو مفهوم الامتداد ، وهو شكل من أشكال التركيب يتم فيه تصميم الخدمات لتراكب الخدمات الأخرى ، وزيادتها بسلوك أكثر تفصيلاً أو تخصصًا حسب الرغبة. هذا يعبر عن علاقات التبعية القائمة على إنشاء مثيل الموجودة في العديد من أنظمة التمهيد الحديثة ، والتي يجعل النظام نمطيًا ، ولكنه يسمح أيضًا للخدمات بالتفاعل بشكل متغير مع بعضها البعض الخدمات بشكل تعسفي.

الراعي كما يوفر ما يسمى بالخدمات الافتراضية التي تسمح بالإرسال الديناميكي على فئة من كائنات الخدمة ذات الصلة ، مثل تلك التي تنشئ وكيل نقل البريد (MTA) للنظام.

يمكن للنظام الذي يحكمه برنامج Shepherd الخفي أن يمثل مساحة المستخدم الخاصة به كرسم بياني دوري موجه ، مع "خدمة النظام" (المسؤولة عن مرحلتي التمهيد وبدء التشغيل المبكرة) كجذر وجميع الخدمات التي تمت تهيئتها لاحقًا كإمتدادات لوظيفة خدمة النظام ، إما بشكل مباشر أو انتقالي على الخدمات الأخرى.

يجري كتابتها وتكوينها في Guile Scheme ، تم تصميم GNU Shepherd ليكون قابلاً للبرمجة بدرجة عالية بواسطة مسؤول النظام ، ولكن يمكن استخدامها أيضًا لإدارة ملفات تعريف كل مستخدم للشياطين والخدمات التي لا تتمتع بامتيازات.

يتم تخزين خدماتك وإعداداتك بشكل موحد كرمز مخطط موجهة للكائنات وعلى الرغم من تقديم مجموعة أساسية من الخدمات مع نظام Guix الأساسي ، يمكن الإعلان عن الخدمات الجديدة التعسفية بمرونة ومن خلال نظام كائن Guile ، GOOPS ، يمكن إعادة تعريف الخدمات الحالية وفقًا لتقدير المستخدم من خلال مطالبة Shepherd بإعادة كتابة الخدمات ديناميكيًا في طرق محددة في إنشاء مثيل.

تم تصميم GNU Shepherd في الأصل للعمل مع GNU Hurd وتم اعتماده لاحقًا بواسطة نظام Guix.

الميزات الرئيسية الجديدة لـ GNU Shepherd 0.9

في هذا الإصدار الجديد الذي تم تقديمه ، تم تسليط الضوء على أن يتم تنفيذ مفهوم الخدمات المؤقتة (عابر) ، والتي يتم فصلها تلقائيًا بعد الإنهاء بسبب إنهاء العملية أو استدعاء طريقة "الإيقاف" ، والتي قد تكون مطلوبة للخدمات المركبة التي لا يمكن إعادة تشغيلها بعد الإنهاء.

من التغييرات البارزة الأخرى للخدمات التي لا تحتوي على معلمة "" #: log-file ", يتم توفير الإخراج إلى سجل النظام وللخدمات التي تحتوي على معلمة "#: log-file" ، تتم كتابة السجل في ملف منفصل يشير إلى وقت السجلات في عملية Shepherd غير المميزة والمخزنة في الدليل $ XDG_DATA_DIR.

بالإضافة إلى ذلك ، تجدر الإشارة إلى أنه تمت إضافة إجراء "make-inetd-constructor" لإنشاء خدمات مشابهة لـ inetd وأنه تمت إضافة إجراء "make-systemd-constructor" لإنشاء الخدمات التي يتم تنشيطها في نشاط الشبكة ( نمط تنشيط مقبس systemd).

من التغييرات الأخرى التي تتميز عن هذا الإصدار الجديد:

  • تمت إضافة إجراء لبدء خدمة الخلفية:
  • تمت إضافة معلمات ": plugary-groups" و "#: create-session" و "#: Resource-limits" إلى إجراء "make-forkexec-constructor".
  • عملية مضمونة بدون قفل أثناء انتظار ملفات PID.
  • تمت إزالة دعم التجميع باستخدام Guile 2.0. تم إصلاح المشكلات عند استخدام إصدارات Guile 3.0.5-3.0.7.
  • مكتبة الألياف 1.1.0 أو أحدث مطلوب الآن للعمل.
  • تحسين التوثيق والأمثلة
  • لم يعد من الممكن بناء Shepherd باستخدام Guile 2.0
  • الإصلاح في خطأ مترجم Guile 3.0. [5-7]
  • الترجمات المحدثة

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها أو إذا كنت ترغب في الحصول على هذا الإصدار الجديد ، يمكنك الرجوع إلى التفاصيل والوثائق والتنزيل من الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.