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

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

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

من بين التغييرات:

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

المصدر: opennet.ru

إضافة تعليق