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

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

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

از جمله تغییرات:

  • توصیف‌کننده‌های فایل مورد استفاده در Shepherd اکنون با پرچم O_CLOEXEC (close-on-exec) علامت‌گذاری می‌شوند تا اینکه بلافاصله پس از اجرای یک فرمان exec بسته شوند، و این امکان را می‌دهد تا دسته‌ها به سرویس‌هایی که به‌طور غیرمستقیم توسط یک فرمان exec شروع شده‌اند، ارسال شوند.
  • اتصالات کلاینت اکنون به روشی غیر مسدود کننده پردازش می شود، که از معلق ماندن شپرد هنگام ارسال یک فرمان ناقص جلوگیری می کند.
  • اطمینان حاصل می کند که یک دایرکتوری برای فایل های گزارش تعریف شده در تنظیمات "log-file" در صورتی که وجود نداشته باشد ایجاد شده است.

منبع: opennet.ru

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