انتشار سرویس مدیر s6-rc 0.5.3.0 و سیستم اولیه سازی s6-linux-init 1.0.7

نسخه قابل توجهی از مدیر سرویس s6-rc 0.5.3.0 آماده شده است که برای مدیریت راه اندازی اسکریپت ها و سرویس های اولیه با در نظر گرفتن وابستگی ها طراحی شده است. جعبه ابزار s6-rc را می توان هم در سیستم های اولیه سازی و هم برای سازماندهی راه اندازی سرویس های دلخواه در ارتباط با رویدادهایی که منعکس کننده تغییرات در وضعیت سیستم هستند استفاده کرد. ردیابی درخت وابستگی کامل و راه‌اندازی یا خاموش شدن خودکار خدمات برای رسیدن به یک وضعیت مشخص را فراهم می‌کند. کد به زبان C نوشته شده و تحت مجوز ISC توزیع می شود.

مدیر سرویس s6-rc، که می‌توان آن را آنالوگ sysv-rc یا OpenRC در نظر گرفت، شامل مجموعه‌ای از ابزارها برای شروع و توقف فرآیندهای طولانی‌مدت (شیطان‌ها) یا اسکریپت‌های اولیه‌سازی فوری پایان‌یافته است. در حین کار، وابستگی‌های بین مؤلفه‌ها در نظر گرفته می‌شود، راه‌اندازی موازی اسکریپت‌ها و سرویس‌هایی که با یکدیگر تلاقی ندارند تضمین می‌شود، و ترتیب اجرای اسکریپت تضمین می‌شود که در راه‌اندازی‌های مختلف تکرار شود. تمام تغییرات حالت با در نظر گرفتن وابستگی ها پردازش می شوند و اطمینان حاصل می شود که وابستگی ها نقض نمی شوند (به عنوان مثال، هنگامی که یک سرویس راه اندازی می شود، وابستگی های لازم برای عملکرد آن به طور خودکار راه اندازی می شوند و در صورت توقف، خدمات وابسته نیز متوقف می شوند).

به جای runlevels، s6-rc مفهوم جهانی تری از باندل ها را ارائه می دهد که به شما امکان می دهد خدمات را بر اساس ویژگی های دلخواه و وظایفی که باید حل شوند گروه بندی کنید. برای بهبود کارایی کار، از یک پایگاه داده وابستگی کامپایل شده استفاده می شود که توسط ابزار s6-rc-compile بر اساس محتویات دایرکتوری ها با فایل هایی برای شروع/توقف خدمات ایجاد شده است. ابزارهای s6-rc-db و s6-rc-update برای تجزیه و دستکاری پایگاه داده ارائه شده اند. این سیستم از اسکریپت های init سازگار با sysv-init پشتیبانی می کند و می تواند اطلاعات وابستگی را از sysv-rc یا OpenRC وارد کند.

از جمله مزایای s6-rc یک پیاده سازی فشرده است که شامل هیچ چیز اضافی به جز اجزای حل مشکلات مستقیم نیست و حداقل منابع را مصرف می کند. برخلاف سایر مدیران سرویس، s6-rc از ساخت پیشگیرانه (آفلاین) یک نمودار وابستگی برای مجموعه ای از سرویس های موجود پشتیبانی می کند، که به شما امکان می دهد تجزیه و تحلیل وابستگی منابع فشرده را به طور جداگانه انجام دهید، نه در حین بارگذاری یا تغییرات حالت. در عین حال، سیستم یکپارچه نیست و به یک سری ماژول های جداگانه و قابل تعویض تقسیم می شود که هر کدام مطابق با فلسفه یونیکس، تنها یک کار خاص را حل می کنند.

در ترکیب با ابزارهای s6 که بر عملکرد فرآیندها نظارت می کنند (مشابه ابزارهای daemontool و runit)، این جعبه ابزار به شما امکان می دهد تا به طور همزمان بر عملکرد سرویس های طولانی مدت نظارت داشته باشید، به عنوان مثال، در صورت پایان غیرعادی آنها را مجدداً راه اندازی کنید و اطمینان حاصل کنید که یک دنباله دستورات به شکلی تکرارشونده راه اندازی می شود و در راه اندازی های مختلف تکرار می شود. ویژگی های پشتیبانی شده شامل فعال کردن یک سرویس هنگام دسترسی به سوکت (راه اندازی یک کنترلر هنگام دسترسی به پورت شبکه)، ثبت رویدادهای فرآیند (جایگزینی syslogd) و اعطای کنترل شده امتیازات اضافی (مشابه با sudo) است.

همزمان، انتشار بسته s6-linux-init 1.0.7.0 در دسترس است که اجرای فرآیند init را برای ساخت سیستم‌های init آماده برای سیستم‌های عامل مبتنی بر هسته لینوکس ارائه می‌دهد که در آن s6 و s6 ابزارهای -rc برای مدیریت سرویس ها و اسکریپت های اولیه استفاده می شوند. در عین حال، s6 و s6-rc به s6-linux-init متصل نیستند و در صورت تمایل، می توانند با هر سیستم اولیه سازی استفاده شوند.

علاوه بر این، پروژه ارائه می دهد:

  • s6-networking مجموعه ای از ابزارهای کمکی برای ایجاد سرویس های شبکه، مشابه ucspi است.
  • s6-frontend - چارچوبی برای بازسازی عملکرد daemontools و runit در بالای s6.
  • s6-portable-utils مجموعه ای از ابزارهای استاندارد یونیکس مانند cut، chmod، ls، sort و grep است که برای حداقل مصرف منابع بهینه شده و تحت مجوز ISC عرضه می شود.
  • s6-linux-utils - مجموعه ای از ابزارهای کاربردی خاص لینوکس مانند chroot، freeramdisk، logwatch، mount و swapon.
  • s6-dns مجموعه ای از کتابخانه ها و ابزارهای سرویس گیرنده است که جایگزین ابزارهای استاندارد DNS از BIND و djbdns می شود.

در نسخه جدید s6-rc، ابزار s6-rc-compile خواندن داده‌های مربوط به وابستگی‌ها و مجموعه‌ای از خدمات از دایرکتوری‌ها را به جای فایل‌ها پیاده‌سازی می‌کند. استفاده از دایرکتوری ها اضافه کردن خدمات به پایگاه داده با اطلاعات مربوط به وابستگی ها هنگام نصب برنامه ها از طریق مدیر بسته را ساده می کند، زیرا به شما امکان می دهد بدون ایجاد تغییر در فایل ها این کار را انجام دهید. پشتیبانی از فرمت مبتنی بر فایل قدیمی برای اطمینان از سازگاری حفظ شده است. در نسخه جدید s6-linux-init، گزینه "-S" به ابزار s6-linux-init-maker برای همگام سازی داده ها در کانتینرها اضافه شده است.

منبع: opennet.ru

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