در سیستم‌عامل گنو/لینوکس سرویس مثل یک نرم افزار روی سیستم عامل ویندوز است. سرویس یک یا مجموعه‌ای از برنامه‌های کاربردی روی لینوکس است که در پس زمینه منتظر می‌مانند تا مورد استفاده قرار گیرند، یا وظایفی را انجام می‌دهند؛ از معروف‌ترین سرویس‌های لینوکس می‌توان به mySQL، nginx، apache اشاره کرد. در لینوکس اغلب فعال یا غیرفعال کردن اجرای خودکار برخی از سرویس‌ها لازم است.
در توزیع‌های مختلف گنو/لینوکسی، برنامه‌های مختلفی برای مدیریت سرویس‌ها طراحی شده‌اند؛ اما در اوبونتو و CentOS رایج ترین آنها سیستم‌های SysV، Upstart و systemd هستند؛ وابسته به مدل توزیع لینوکس، رفتار یک سرویس را در هنگام بوت سیستم در لینوکس می‌توان با دستور systemctl یا chkconfig تنظیم کرد.
در اینجا نحوه فعال یا غیرفعال کردن اجرای خودکار سرویس‌های سیستم در مشهورترین توزیع‌های لینوکس یعنی اوبونتو و CentOS آموزش داده می‌شود.

 

Ubuntu-18.04

روشی که در این بخش ارائه می‌شود نسخه‌های Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04 را پشتیبانی می‌نماید.
در ابونتو از پروسه systemd برای مدیریت سیستم‌ها و سرویس‌ها استفاده می‌شود.
این سیستم، اکنون به طور پیش فرض در اکثر توزیع‌های لینوکس مورد استفاده قرار می‌گیرد و در نسخه‌های Ubuntu-15.04  و نسخه‌های بعدی کاملاً پشتیبانی می‌شود.
systemd با ابزار خط فرمان systemctl می‌آید، که از جمله مواردی است که می‌تواند سرویس‌ها را در زمان بوت فعال و غیرفعال کند.
اگر بخواهید بررسی کنید که آیا سرویسی در زمان راه اندازی سیستم، فعال یا غیرفعال است، از دستور زیر استفاده نمایید

systemctl is-enabled SERVICE

به عنوان مثال، ما میخواهیم فعال بودن سرویس mysql را مورد بررسی قرار دهیم؛ دستور بالا را اجرا می‌کنیم و به جای عبارت "SERVICE" نام سرویس مورد نظر "mysql" را قرار می‌دهیم؛ خروجی این دستور به صورت زیر می‌باشد:

سپس برای غیرفعال کردن اجرای خودکار آن سرویس در Ubuntu-18.04 دستور زیر را تایپ کنید:

sudo systemctl disable SERVICE

به عنوان مثال، خروجی دستور بالا برای غیرفعال کردن سرویس "mysql" به صورت زیر می‌باشد:

همچنین برای فعال کردن اجرای خودکار آن سرویس در Ubuntu-18.04 می‌توانید از دستور زیر استفاده نمایید:

sudo systemctl enable SERVICE

به عنوان مثال، خروجی دستور بالا برای فعال کردن سرویس "mysql" به صورت زیر می‌باشد:

 

Ubuntu-14.04

روشی که در این بخش ارائه می‌شود، نسخه‌های Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10 را پشتیبانی می‌نماید.
ابتدا برای بررسی اینکه آیا سرویسی در هنگام راه اندازی سیستم فعال می‌شود یا غیرفعال، از دستور زیر استفاده می‌نماییم:

initctl show-config SERVICE

سپس برای غیرفعال کردن اجرای خودکار آن سرویس در Ubuntu-14.04 دستور زیر را وارد نمایید:

echo manual | sudo tee /etc/init/SERVICE.override

همچنین برای فعال کردن اجرای خودکار سرویس‌ها در Ubuntu-14.04 می‌توانید از دستور زیر استفاده کنید:

sudo rm /etc/init/SERVICE.override

 

CentOS-7

systemd مدیریت سیستم‌ها و سرویس‌ها را در سیستم عامل‌های Linux به عهده دارد و به طور گسترده ای تبدیل به یک استاندارد جدید برای دستگاه‌های لینوکسی شده است.
در CentOS-7، systemd با Upstart به عنوان سیستم اولیه پیش فرض جایگزین می‌شود.
systemd با ابزار خط فرمان systemctl همراه است که ابزار مدیریت مرکزی برای systemd و از جمله مواردی است که می‌تواند سرویس‌های مربوط به زمان بوت را فعال یا غیرفعال کند.
ابتدا با دستور زیر بررسی کنید که سرویس در هنگام راه اندازی، فعال یا غیرفعال است:

systemctl is-enabled SERVICE

سپس برای غیرفعال کردن اجرای خودکار آن سرویس درCentOS-7 از دستور زیر استفاده نمایید:

systemctl disable SERVICE

همچنین برای فعال کردن اجرای خودکار آن سرویس در CentOS-7 می‌توانید از دستور زیر استفاده کنید:

systemctl enable SERVICE

 

CentOS-6

ابتدا با استفاده از دستور زیر، بررسی کنید که سرویس در هنگام راه اندازی فعال یا غیرفعال است:

chkconfig --list | grep SERVICE

سپس برای غیرفعال کردن اجرای خودکار آن سرویس در CentOS-6 دستور زیر را تایپ کنید:

chkconfig SERVICE off

همچنین می‌توانید برای فعال کردن اجرای خودکار سرویس در CentOS-6 از دستور زیر استفاده نمایید:

chkconfig SERVICE on

 

منبع:

Enable or Disable Service Autostart in Linux