إطلاق نظام GNU Shepherd 0.6 init

مقدم من مدير الخدمة GNU Shepherd 0.6 تحديث (دي ام دي السابق)، والذي يتم تطويره بواسطة مطوري توزيعة GuixSD GNU/Linux كبديل يدعم التبعية لنظام تهيئة SysV-init. تتم كتابة البرنامج الخفي والأدوات المساعدة للتحكم في Shepherd بلغة Guile (أحد تطبيقات لغة المخطط)، والتي تُستخدم أيضًا لتحديد الإعدادات والمعلمات لبدء الخدمات. يتم استخدام Shepherd بالفعل في توزيعة GuixSD GNU/Linux ويهدف أيضًا إلى استخدامه في GNU/Hurd، ولكن يمكن تشغيله على أي نظام تشغيل متوافق مع POSIX تتوفر له لغة Guile.

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

الابتكارات الرئيسية:

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

  • التأكد من حذف الملفات ذات المقابس بعد إيقاف التشغيل
    الراعي؛

  • لم يعد أمر "herd stop" يعرض خطأ عند تنفيذه على خدمة متوقفة بالفعل؛
  • تقوم أداة القطيع الآن بإرجاع رمز إرجاع غير صفري في حالة فشل تشغيل المهمة؛
  • عند التشغيل في حاوية، يتم تجاهل الأخطاء المتعلقة بالتحميل.

المصدر: opennet.ru

إضافة تعليق