مدیریت سرویس ها به روش System V
بعد از انجام فعالیت های لازم توسط BIOS و همچنین فاز دومStartup و آماده شدن فایل سیستم Root،
پروسه init از مسیر sbin/init/ با شماره شناسه PID=1 اجرا (exec) می شود.
برنامه init به عنوان اولین برنامه فضای کاربر برای به اجرا درآوردن پروسه های دیگر از طریق Fork به فایل etc/inittab/ مراجعه می کند.
فایل inittab تعیین می کند که Runlevel جاری (که سیستم با آن بالا می آید) چیست
و init را به مسیری دیگری برای اجرای برنامه های مورد نظر هر Runlevel هدایت می کند.
به عنوان مثال در فایلی که بر روی سیستم ما موجود است،
سطری به صورت wait:/etc/rc.d/rc 5: وجود دارد که باعث به اجرا درآمدن برنامه هایی در مسیر etc/rc.d/rc5.d/ می شود که با S شروع می شوند.
نحوه رفتار برنامه ها توسط کلید واژه های Once، Wait، Respawn و غیره قابل تعریف است که در ادامه به طور کامل توضیح داده خواهد شد.
تذکر : اگر در هر یک از بخشهای زیر دستوری بود که بر روی سیستم شما اجرا نشد،
معمولا ًبه این خاطر است که سیستم شما مبتنی بر توزیع های جدیدتر است که مبتنی بر Systemd هستند،
ولی شما به عنوان مدیر سیستم باید با توزیع های مختلف و ساز و کارهای آنها آشنا باشید.
مزایای سرویس SystemV
سادگی : برای فعال یا غیرفعال کردن یک سرویس، کافی است یک یا چند Symbolic link در یک یا چند مسیر ایجاد و یا حذف شوند.
حتی دستور chkconfig این مسئله را ساده تر نیز کرده است.
(برای اطلاعات بیشتر man chkconfig را ببینید.) در صورتی که chkconfig بر روی سیستمتان نصب نیست
با استفاده از apt-get install chkconfig یا yum install chkconfig آن را نصب کنید.
تضمین اجرای برنامه ها به ترتیب تعیین شده : به عنوان مثال S10network قطعاً قبل از S55sshd اجرا می شود، چون عدد 10 کوچکتر از 55 است.
اگر سیستم شما از System Vاستفاده می کند
کافی است به مسیر etc/rc2.d/ یا etc/rc?.d/ که در آن ? یک عدد دلخواه کمتر از ۵ است، مراجعه کنید.
ایرادهای مدیریت سرویس ها با System V1
- کارایی (Performance) بالایی ندارد، که به همین دلیل سیستم های جدیدتر و به خصوص Systemd توسعه پیدا کرده است.
- کارکرد آن ترتیبی است ، اصولا ًبرای راه اندازی چندین سرویس به صورت همزمان طراحی نشده است.
- برخلاف یک سرور، Desktop ها ممکن است ده ها بار در روز خاموش و روشن شوند که از این جهت بهینه نشده است.
- با سخت افزارهای Hotplug مثلا RAM هایی که هنگام روشن بودن سیستم به آن اضافه می شود سازگاری چندانی ندارد.
3.Script های آن سنگین و پیچیده اند. مثلاً پاسخ دادن به سؤال های زیر کمی دشوار است :
آیا نمونه دیگری از این سرویس در حال اجرا هست ؟
آیا فایل یا دایرکتوری لازم وجود دارد؟
آیا سرویس های پیش نیاز بالا هستند؟
تلاش هایی صورت گرفت که سیستمی طراحی شود که بهینه تر باشد. سیستم Upstart در نسخه های جدید لینوکس استفاده می شود
که مبتنی بر رویداد (event-based) است. به موازات Upstart سیستم دیگری با نام Systemd هم توسط تیم دیگری در حال توسعه بود
که به همراه توزیع های جدیدتر لینوکس نیز انتشار پیدا کرده است.
مدیریت سرویس ها به روش System V – نویسنده : موسی رشوند
خدمات شبکه فراز نتورک | پیشرو در ارائه خدمات دیتاسنتری و کلود