انتشار سیستم GNU Shepherd 0.6 init

ارسال شده توسط مدیر خدمات گنو شپرد 0.6 (dmd سابق) که توسط توسعه دهندگان توزیع GuixSD GNU/Linux به عنوان جایگزینی برای پشتیبانی از وابستگی برای سیستم اولیه SysV-init در حال توسعه است. شبح کنترل Shepherd و ابزارهای کمکی به زبان Guile (یکی از پیاده سازی های زبان Scheme) نوشته شده اند که برای تعریف تنظیمات و پارامترهای راه اندازی سرویس ها نیز استفاده می شود. Shepherd قبلاً در توزیع GuixSD GNU/Linux استفاده می‌شود و همچنین هدف آن استفاده در GNU/Hurd است، اما می‌تواند روی هر سیستم‌عامل سازگار با POSIX که زبان Guile برای آن موجود است اجرا شود.

Shepherd را می توان هم به عنوان سیستم اولیه اولیه (init با PID 1) و هم در یک فرم جداگانه برای مدیریت فرآیندهای پس زمینه تک تک کاربران (مثلاً برای اجرای tor، privoxy، mcron و غیره) با اجرا با حقوق استفاده کرد. این کاربران شپرد کار شروع و توقف خدمات را با در نظر گرفتن روابط بین سرویس ها انجام می دهد، به صورت پویا خدماتی را که سرویس انتخابی به آن بستگی دارد، شناسایی و شروع می کند. Shepherd همچنین از شناسایی تضاد بین سرویس ها و جلوگیری از اجرای همزمان آنها پشتیبانی می کند.

نوآوری های اصلی:

  • حالت سرویس اضافه شد یک شات,
    که در آن یک سرویس بلافاصله پس از راه‌اندازی موفقیت‌آمیز متوقف شده است، که ممکن است برای اجرای کارهای یک‌باره قبل از سرویس‌های دیگر، به عنوان مثال، برای انجام تمیز کردن یا مقداردهی اولیه، لازم باشد.

  • اطمینان حاصل شود که فایل های دارای سوکت پس از خاموش شدن حذف می شوند
    شبان؛

  • دستور "herd stop" دیگر هنگام اجرا در سرویسی که قبلا متوقف شده است، خطایی را نشان نمی دهد.
  • اگر راه‌اندازی کار با شکست مواجه شود، ابزار گله اکنون یک کد بازگشتی غیر صفر برمی‌گرداند.
  • هنگام اجرا در یک کانتینر، خطاهای مربوط به بارگیری نادیده گرفته می شوند.

منبع: opennet.ru

اضافه کردن نظر