Systemd

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

خطا در ایجاد بندانگشتی: نمی‌توان تصویر بندانگشتی را در مقصد ذخیره کرد
این مقاله یا بخش نیازمند این است که ترجمه شود.
خطا در ایجاد بندانگشتی: نمی‌توان تصویر بندانگشتی را در مقصد ذخیره کرد

یادداشت: نیاز به ترجمه است. (در بحث:Systemd# در این مورد تبادل نظر کنید.)

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


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

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


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

لیست واحدهای (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 برابر است.

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

نکته: نام بعضی از واحدها شامل علامت @ می‌باشد ( مانند ‎name@string.service‎ )، که به این معناست این یک نمونه از قالب واحد فوق است.برای اطلاعات بیشتر instance را ببینید.

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

 # 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