مطالعه این قسمت مطابق با سرفصل از روی کتاب LPIC 2
با این که sysV به صورت درست و منطقی نوشته شده بود و اکثر توزیع ها ازش استفاده می کردند اما چون قدیمی بود دارای ایراد های پایه ای بود. لذا در نهایت sysV جای خودش رو به صورت کامل به systemd داد.
- systemd از فلسفه یونیکس دور است.
- systemd یک ابزار بزرگ برای خیلی از کار ها است که این خوب نیست
- در مقابل systemd مفاهیم جدیدی رو ارایه داده و یه مقدار هم سعی کرده بحث runlevel ها رو حداقل به صورت نمایشی در نظر بگیره
- در مجموع خیلی از لینوکس کار ها علاقه ای ندارد اما ناچار به استفاده هستند و توزیع های مختلف چه redhat base و چه debian base ها از این روش برای مدیریت init استفاده می کنند.
Units and Targets Instead(به جای) of using shell scripts and runlevels, the systemd method uses units and targets. A unit defines(تعریف می کند) a service or action on the system. It consists(متشکل از) of a name, a type, and a configuration file. There are currently eight different types of systemd units:
- automount
- device
- mount
- path
- service
- snapshot
- socket
- target
نحوه شناسایی و نام گذاری unit ها به صورت name.type. می باشد :
name.type.
به عنوان مثال :
نکته : در صورتی که سرویسی رو stop کنید وضعیت load آن همچنان loaded باقی مانده اما وضعیت Active آن از Active به inactive تغییر می کند.
The systemd initialization process uses targets similar to the way SysV uses runlevels. A target represents(نشان می دهد) a different group of services that should be running on the system. Instead(به جای) of changing runlevels to alter(تغییر می دهد) what’s running on the system, you just change targets.To make the transition(گذر از) from SysV to systemd smoother(آهسته), there are targets that mimic(تقلید کردن) the standard 0 through 6 SysV runlevels, called runlevel0.target through runlevel6.target.