چگونه می توان خدمات سیستمی را با Systemctl مدیریت کرد؟

مدیر سیستم پیش فرض و سرویس برای اکثر توزیع های لینوکس اکنون سیستمی شده است.


فرایند systemd جایگزین اولیه SysV می شود. این اولین فرآیند پس از بوت هسته است و وظیفه دارد میزبان لینوکس را به حالت دیگری برساند که در آن استفاده شود. این مسئول شروع و مدیریت خدمات ، نصب سیستم های فایل ، مدیریت سخت افزار ، تولید سریع ورود به سیستم و موارد دیگر.

یکی از مزایای مهم SysV اینست که سیستم به صورت موازی هرچه بیشتر خدمات را شروع می کند ، بنابراین روند کار را سریع تر می کند و باعث می شود صفحه ورود سریعتر شود..

واحدها

مواردی که توسط systemd مدیریت می شود واحد نامیده می شوند. پرونده های واحد در / lib / systemd / system قرار دارند.

واحد خدمات

برای مدیریت خدمات ، واحدهای هدف واحدهای خدماتی هستند که پرونده های واحدی با پسوند آن دارند .سرویس.

مدیریت خدمات سیستمی

دستور مدیریت واحدهای سیستمی systemctl است.

شروع و متوقف کردن خدمات

برای شروع یک سرویس سیستمی ، از دستور startup systemctl استفاده کنید:

$ sudo systemctl name start.service

می توانید پسوند سرویس ارائه دهید. به عنوان مثال ، برای شروع سرور apache در اوبونتو:

$ sudo systemctl شروع apache2

برای متوقف کردن سرویس در حال اجرا:

$ sudo systemctl stop name.service

بنابراین ، برای متوقف کردن سرور apache در اوبونتو:

$ sudo systemctl stop apache2

خدمات راه اندازی مجدد و راه اندازی مجدد

برای راه اندازی مجدد سرویس در حال اجرا ، از دستور Restart استفاده کنید:

$ sudo systemctl name.service restart

و جایی که تنها پرونده بارگیری مجدد مورد نیاز است

$ sudo systemctl را بارگذاری مجدد کنید. service

فعال کردن و غیرفعال کردن خدمات

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

$ sudo systemctl name.service را فعال کنید

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

$ sudo systemctl name.service را غیرفعال کنید

غیرفعال کردن سرویس در حال اجرا را متوقف نمی کند.

مشاهده وضعیت خدمات

برای مشاهده اطلاعات در مورد یک سرویس:

$ sudo systemctl name status.service

با این کار وضعیت سرویس و چند خط اول پرونده log به شما نشان داده می شود. بنابراین ، در حالی که سرویس در حال اجراست ، بازده از

sudo systemctl وضعیت apache2

است

apache2.service – سرور Apache HTTP
بارگذاری شده: بارگذاری شده (/lib/systemd/system/apache2.service؛ فعال شده؛ پیش فرض فروشنده: فعال شده)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
فعال: فعال (در حال اجرا) از سه شنبه 2020-05-19 22:11:36 UTC؛ 4 روز پیش
فرآیند: 116002 ExecRelload = / usr / sbin / apachectl برازنده (کد = خارج شده ، وضعیت = 0 / موفقیت)
PID اصلی: 104165 (apache2)
وظایف: 55 (حد مجاز: 1024)
CGroup: /system.slice/apache2.service
41104165 / usr / sbin / apache2 -k شروع
├─116006 / usr / sbin / apache2 -k شروع
6116007 / usr / sbin / apache2 -k شروع

19 مه 22:11:36 ubuntu18 systemd [1]: راه اندازی سرور Apache HTTP…
19 مه 22:11:36 ubuntu18 systemd [1]: سرور Apache HTTP آغاز شد.
21 مه 06:25:01 ubuntu18 systemd [1]: بارگیری مجدد سرور Apache HTTP.
21 مه 06:25:01 ubuntu18 systemd [1]: سرور Apache HTTP را دوباره انجام داد.
22 مه 06:25:01 ubuntu18 systemd [1]: در حال بارگیری مجدد سرور Apache HTTP.

برای بررسی اینکه یک سرویس فعال است:

$ sudo systemctl name.service فعال است

بنابراین ، در حالی که سرویس apache2 در حال اجرا است ، خروجی فرمان systemctl is-activated است:

$ sudo systemctl apache2 فعال است
فعال

برای بررسی اینکه آیا یک سرویس فعال است:

$ sudo systemctl name.service فعال شده است.

مشاهده وضعیت سیستم

تمام فرمانی که تا الان مشاهده کرده اید برای مدیریت یک سرویس واحد استفاده می شود. وقتی می خواهید یک وضعیت کلی از سیستم داشته باشید ، از مجموعه دستورات زیر استفاده کنید:

برای دیدن انواع واحد

$ sudo systemctl – به شما کمک می کند
انواع واحد موجود:
سرویس
سوکت
هدف
دستگاه
کوه
خودکار
تعویض
تایمر
مسیر
تکه
محدوده

برای لیست کردن تمام واحدهای نصب شده ، از فایل های list-unit استفاده کنید

$ sudo systemctl list-unit-files
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount استاتیک
-.کوه تولید شده است
boot-efi.mount تولید شد
dev-greatpages.mount استاتیک
dev-mqueue.mount استاتیک
mnt.mount تولید شد
proc-sys-fs-binfmt_misc.mount استاتیک
sys-fs-fuse -actions.mount استاتیک
sys-kernel-config.mount static
sys-kernel-debug.mount استاتیک
acpid.path فعال شد
apport-autoreport.path فعال شده است
systemd-ask-password-console.path static
systemd-ask-password-plymouth.path استاتیک
systemd-ask-password-wall.path استاتیک
session-161.scope گذرا
حساب-daemon.service فعال شد

خروجی فقط دو ستون Unit File و State دارد. حالت معمولاً فعال ، غیرفعال ، استاتیک یا ماسک خواهد بود.

  • استاتیک: این بدان معنی است که واحد نمی تواند فعال باشد ، یک عمل یک طرفه را انجام می دهد ، یا وابستگی واحدی دیگر است و به خودی خود قابل اجرا نیست.
  • نقاب دار: واحدی که به عنوان ماسک ذکر شده است به معنای آن است که کاملاً غیرقابل کنترل است ، زیرا به / dev / null پیوند می یابد. به این روش ماسک زدن به واحد گفته می شود. این مانع از شروع خدمات ، دستی یا خودکار می شود.

کلیه خدمات نصب شده را لیست کنید

فرمان systemctl list-unit-files با فیلتر خدمات نوع یا نوع فقط وضعیت خدمات نصب شده را نشان می دهد.

$ sudo systemctl list-unit-files-service

UNIT FILE STATE
حساب-daemon.service فعال شد
acpid.service غیرفعال شد
apache-htcacheclean.service غیرفعال شد
[ایمیل محافظت شده] معلول
apache2.service فعال شد
[ایمیل محافظت شده] معلول
apparmor.service فعال شد
apport-autoreport.service static
[ایمیل محافظت شده] ایستا
apport.service ایجاد شد
apt-day-upgrade.service static
apt-daily.service static
atd.service فعال شد
[ایمیل محافظت شده] فعال شده
blk-available.service فعال شد
bootlogd.service نقاب شده است
bootlogs.service نقاب شده است

برای دیدن همه واحدهای سرویس فعال ، از واحدهای لیست با فیلتر سرویس tt استفاده کنید

$ sudo systemctl لیست واحدها – خدمات

توضیحات زیر توضیحات فعال UNIT LOAD ACTIVE
Account-daemon.service خدمات حسابهای فعال را بارگیری کرد
سرور فعال apache2.service در حال اجراست سرور Apache HTTP
apparmor.service فعال شده است و از آغاز اولیه AppArmor خارج شده است
apport.service LSB خارج شده فعال بارگذاری شده است: تولید گزارش خرابی خودکار
برنامه زمانبندی اجرای برنامه معوق ، atd.service فعال شد
blk-available.service لود شده فعال خارج از دسترس در دسترس بودن دستگاه های بلوک
cloud-config.service لود شده فعال خارج شد اعمال تنظیمات مشخص شده در cloud con
cloud-final.service لود شده فعال خارج شده اجرای برنامه ابر کاربر / اسکریپت های نهایی را اجرا کنید
cloud-init-local.service بارگیری فعال خارج شده کار اولیه cloud-init (پیش از شبکه سازی)
cloud-init.service فعال بارگذاری شده در اولیه کار ابر شروع (سرویس ابرداده) را بارگیری کرد
کنسول setup.service بارگیری فعال خارج شد تنظیم قلم و نقشه کلید کنسول
cron.service فعال در حال اجرا فعال اجرای برنامه پس زمینه منظم دائم

خروجی ستون های زیر را دارد:

  • واحد: نام واحد خدمات systemd
  • بار: نشان می دهد که تعریف واحد به درستی خوانده شده یا بارگذاری شده است
  • فعال: در صورت فعال بودن واحد توضیح می دهد.
  • زیر: وضعیت فعال سازی سطح پایین واحد ، ارائه اطلاعات دقیق تر در مورد واحد. این بسته به نوع واحد متفاوت خواهد بود.
  • شرح: توضیحات واحد خدمات.

نتیجه

امیدوارم که این ایده در مورد استفاده از systemctl برای مدیریت خدمات در لینوکس به شما ایده دهد. اگر علاقه مند به یادگیری بیشتر هستید ، می توانید این موضوع را بررسی کنید دوره تسلط بر لینوکس.

برچسب ها:

  • لینوکس

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map