Systemd

از ArchWiki پارسی
پرش به: ناوبری، جستجو
Systemd.gif

Tango-mail-mark-junk.pngThis article or section needs language, wiki syntax or style improvements.Tango-mail-mark-junk.png

Reason: نیاز به چپ چینی کد ها (Discuss in بحث:Systemd#)

سرویس systemd یک مجموعه بلوک های اساسی برای راه اندازی مدیر سیستم و سرویس های لینوکس است. systemd با PID برابر با ۱ ایجاد شده و مابقی سیستم را راه اندازی میکند.صفحه رسمی systemd

systemd کاملا با یونیکس sysV و اسکریپت‌های اساسی و استاندارد راه‌انداز لینوکس (LBS Init Script) مطابق است. systemd قابلیت انجام موازی کارها را فراهم می‌کند، از Socket و D-Bus برای فعال‌سازی سرویس‌ها استفاده می‌کند، در هنگام وجود تقاضا سرویس‌ها را فعال می‌کند، مسیر اجرا فرآیندها در اختیار control groups قرار میدهد، از تصاویر لحظه ای و قابلیت بازگرداندن حالت سیستم پشتیبانی می‌کند، نقاط اتصال و نقاط اتصال اتوماتیک را حفظ کرده و کنترل منطقی جابجایی داده‌ها بر‌اساس نیازمندی سرویس‌ها را انجام می‌دهد.


استفاده‌های عمومی systemd

فرمان اصلی برای کنترل systemd دستور systemctl می‌باشد. بعضی از کاربردهای رایج این دستور بررسی حالت سیستم و مدیریت سیستم و سرویس‌ها است. برای اطلاعات بیشتر به man 1 systemctl مراجعه کنید.


تحلیل حالت سیستم

لیست واحدهای (units) در حال اجرا:

systemctl list-units$

یا

systemctl list-units$

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

 systemctl --failed$

فایل‌های واحدهای موجود در سیستم را از مسیر /usr/lib/systemd/system/ یا از مسیر /etc/systemd/system/ می‌توان مشاهده کرد . (استفاده از مسیر دوم توصیه می‌شود)

لیست فایل‌های واحدهای نصب شده:

systemctl list-unit-files$

استفاده از واحدها

یک واحد می‌تواند برای مثال یک سرویس (service.) ، یک نقطه اتصال (mount.) ، یک وسیله جانبی (device.) یا یک سوکت (socket.) باشد.

هنگامی که از systemctl استفاده می‌کنید، بطور کلی باید اسم کامل واحد را به همراه پسوند آن مشخص کنید، بعنوان مثال sshd.socket اما در بعضی حالات خاص می‌توان از حالت کوتاه شده اسم واحدها در فرمان systemctl استفاده کرد:

  • در صورتیکه همراه با نام واحد از پسوند خاصی استفاده نکنیم، systemctl فرض می‌کند، منظور کاربر service. است، به‌عنوان مثال netctl و netctl.service از لحاظ عملکرد یکسان هستند.
  • نقاط اتصال بصورت اتوماتیک به واحد mount. مناسب ترجمه می‌شوند. به عنوان مثال، مشخصا home/ با home.mount/ برابر است.
  • مانند نقاط اتصال، وسایل جانبی نیز بصورت اتوماتیک به واحد device. مناسب ترجمه می‌شوند. به‌عنوان مثال dev/sda2/ با dev-sda2.device برابر است.

برای مشاهده جزئیات بیشتر به man systemd.unit مراجعه نمایید .

توجه: نام بعضی از واحدها شامل علامت @ می‌باشد ( مانند name@string.service )، که به این معناست این یک نمونه از قالب واحد فوق است.[۱]

اجرای بلادرنگ یک واحد:

systemctl start unit#

توقف بلادرنگ یک واحد:

systemctl stop unit#

راه‌اندازی مجدد یک واحد:

systemctl restart unit#

برای درخواست پیکربندی مجدید یک واحد:

systemctl reload unit#

کنترل وضعیت یک واحد و اینکه آیا واحد درحال اجرا است یا نه:

systemctl status unit#

چک کردن این مورد که آیا واحد فعال است یا نه:

systemctl  is-enabled unit#

تنظیم فعال شدن یک واحد حین شروع به کار سیستم:

systemctl  enabled unit#

غیرفعال کردن شروع به‌کار یک واحد در هنگام بوت سیستم:

systemctl  disable unit#

ماسک کردن یک واحد برای جلوگیری از شروع به‌کار آن:

systemctl  mask unit#

از ماسک خارج کردن:

systemctl  unmask unit# 

نمایش Manual Page یک واحد:

systemctl  help unit#

بارگذاری مجدد systemd جهت پویش واحد جدید یا تغییرات یک واحد:

systemctl  daemon-reload#

مدیریت توان

نرم افزار Polkit اجرای دستورات مدیریت توان سیستم را برای کاربران غیر از root میسر می‌کند. در صورتیکه شما تنها کاربری باشید که از یک session در ترمینال استفاده میکنید، و کاربر دیگری از ترمینال استفاده نمی‌کند، می‌توانید به راحتی این دستورات را با حساب کاربری غیر root اجرا کنید. در غیر این‌صورت به وارد کردن رمزعبور کاربر root نیاز است.

خاموش کردن و راه اندازی دوباره سیستم:

systemctl reboot$

خاموش کردن سیستم بطور دائم:

systemctl poweroff$

تعلیق کردن - suspend- سیستم :

systemctl suspend$

وارد کردن سیستم به حالت خواب زمستانی - hibernate- :'

systemctl hibernate$

وارد کردن سیستم به حالت خواب ترکیبی -hybrid sleep state -:'

systemctl hybrid-sleep$