Systemd configuration


مطالعه این قسمت مطابق با سرفصل از روی کتاب LPIC 2


مسیر ذخیره سازی یونت های مربوط به systemd ( به عنوان مثال sshd.service ) به صورت زیر است :


همان طور که در تصویر بالا مشخص است، به صورت دقیق مشخص شده است که قبل و بعد این سرویس چه سرویس هایی راه اندازی می شوند یا مثلا فایل اجرایی مربوطه usr/sbin/sshd/ می باشد و …


همان طور که در runlevel مطرح بود که چه سطحی به عنوان پیش فرض باید برای سیستم در نظر گرفته شود. برای systemd نیز باید یک default target مشخص شود. این کانفیگ در مسیر زیر قرار دارد :

اگر فایل بالا را با یک ویرایشگر باز کنید در قسمت مربوط به description می توان دید که چه نوع target یا runlevel ای به صورت پیش فرض برای سیستم در نظر گرفته شده است. به عنوان مثال :

همچنین فایل بالا یک symbolic link بیشتر نیست لذا در صورتی که از آن stat بگیرید می بینید که به یکی از target ها متصل شده است که در واقع آن تارگت می شود به عنوان default برای سیستم


جهت مدیریت target ها و یا service ها و … در سیستم systemd باید از دستور systemctl استفاده کرد.

  • جهت startup یک سرویس با default target سیستم :

  • جهت غیر فعال کردن startup یک سرویس با default target سیستم :

  • جهت متوقف کردن یک سرویس و یا استارت و همچنین مشاهده وضعیت آن :

نکته : تفاوت restart و reload در بعضی برنامه ها و سرویس ها وجود ندارد اما کلا reload به خواندن دوباره کانفیگ ها و … گفته می شود در صورتی که restart به معنی واقعی کلمه سرویس را غیرفعال و سپس فعال می کند.
جهت مشاهده تارگت یا runlevel فعلی سیستم :

جهت مشاهده تارگت یا runlevel پیش فرض سیستم :

جهت تغییر به یک runlevel یا target دیگر :

جهت تعیین rulevel یا target پیش فرض سیستم :

نکته : در صورتی که سرور به صورت GUI نصب شده باشد؛ runlevel یا target پیشفرض همان graphical.target در نظر گفته می شود.
فرضا runlevel یا target سیستم را تغییر دادید. جهت برگشت به همان target ای که به صورت پیشفرض در نظر گرفته شده است؛ بدون این که سیستم ریست شود به صورت زیر عمل می کنیم :

همچنین می توان سیستم را اصطلاحا به حالت single user برد و عیب یابی را از آنجا دنبال کرد :