نحوه فهرست کردن خدمات لینوکس با دستور systemctl

اگر کاربر یا مدیر لینوکس هستید، باید بدانید که چگونه خدمات را در سیستم خود مدیریت کنید. سرویس‌ها برنامه‌هایی هستند که در پس‌زمینه اجرا می‌شوند و عملکردهای ضروری مانند شبکه‌سازی، چاپ، گزارش‌گیری و غیره را ارائه می‌کنند.

اما چگونه خدمات را در لینوکس لیست، شروع، متوقف، فعال، غیرفعال یا راه اندازی مجدد می کنید؟ پاسخ فرمان systemctlاست. این دستور بخشی از systemd، یک مدیر سیستم و سرویس مدرن برای توزیع‌های لینوکس مانند اوبونتو و دبیان است.

اگر مبتدی لینوکس هستید و می‌خواهید این سرویس‌ها را با استفاده از systemctelمدیریت کنید، مراحل زیر را دنبال کنید.

لیست تمام خدمات با systemctl

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

sudo systemctl list-units –type service

این جدولی با پنج ستون به شما نشان می‌دهد: UNIT، LOAD، ACTIVE، SUB، و DESCRIPTION.

ستون UNITنام فایل واحد خدمات را نشان می‌دهد که فایل پیکربندی و تعریف سرویس است. این فایل حاوی اطلاعاتی درباره کارهایی که سرویس انجام می دهد و نحوه مدیریت آن است. همچنین می‌توانید یک توصیفگر سریع برای سرویس را در ستون DESCRIPTIONمشاهده کنید.

ستون LOADنشان می دهد که آیا فایل واحد خدمات در حافظه بارگذاری شده است یا خیر. ستون ACTIVEنشان می دهد که آیا سرویس در حال اجرا است یا خیر. در نهایت، ستون SUBوضعیت فرعی سرویس را نشان می‌دهد، مانند در حال اجرا، خروج یا شکست.

همچنین می‌توانید از گزینه -aیا –allبه جای سرویس–typeبرای فهرست کردن همه نوع واحدها، نه فقط خدمات استفاده کنید. .

لیست خدمات فعال با systemctl

اگر فقط می‌خواهید سرویس‌هایی را ببینید که در حال حاضر در سیستم شما فعال هستند (در حال اجرا هستند)، این دستور را در ترمینال لینوکس اجرا کنید:

sudo systemctl list-units –type service –state active

این کار سرویس‌هایی را که غیرفعال (توقف شده) یا ناموفق هستند فیلتر می‌کند.

خدمات غیرفعال را با systemctl فهرست کنید

به همین ترتیب، اگر می‌خواهید فقط سرویس‌هایی را ببینید که در حال حاضر غیرفعال هستند (توقف شده) در سیستم شما، این دستور را در ترمینال اجرا کنید:.

sudo systemctl list-units –type service –state inactive

این کار سرویس‌هایی را که فعال (در حال اجرا) یا ناموفق هستند فیلتر می‌کند.

لیست خدمات ناموفق با systemctl

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

sudo systemctl list-units –type service –state شکست خورد

با این کار تمام سرویس‌های فعال (در حال اجرا) یا غیرفعال (متوقف شده) در حال حاضر فیلتر می‌شوند.

لیست خدمات فعال شده با systemctl

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

sudo systemctl list-unit-files –type service –state enabled

این جدولی را با دو ستون به شما نشان می دهد: UNIT FILEو STATE. ستون UNIT FILE نام فایل واحد خدمات را نشان می دهد. ستون STATE نشان می دهد که آیا این سرویس فعال است یا خیر.

لیست خدمات غیرفعال شده با systemctl

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

sudo systemctl list-unit-files –type service –state disabled

این کار سرویس‌هایی را که فعال یا پوشانده شده‌اند فیلتر می‌کند.

نمایش جزئیات یک سرویس با systemctl

برای نمایش جزئیات بیشتر در مورد یک سرویس خاص در سیستم خود، این دستور را در ترمینال اجرا کنید:

وضعیت sudo systemctl

را با نام فایل واحد خدماتی که می خواهید بررسی کنید جایگزین کنید.

این اطلاعات به شما اطلاعاتی مانند توضیحات، وضعیت بارگذاری، وضعیت فعال، وضعیت فرعی، شناسه فرآیند (PID)، استفاده از حافظه، استفاده از CPU و گزارش‌های اخیر سرویس را نشان می‌دهد.

همچنین می‌توانید از فرمان فرعی show به‌جای وضعیت برای نمایش همه ویژگی‌های سرویس در قالب name=valueاستفاده کنید.

یک سرویس را با systemctl شروع کنید

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

sudo systemctl شروع

را با نام فایل واحد خدماتی که می خواهید شروع کنید جایگزین کنید.

این سرویس را در پس‌زمینه شروع می‌کند و به درخواست باز می‌گردد. می توانید از دستور فرعی وضعیت برای تأیید اینکه سرویس در حال اجرا است استفاده کنید.

توقف یک سرویس با systemctl

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

sudo systemctl stop

را با نام فایل واحد خدماتی که می‌خواهید متوقف کنید جایگزین کنید

با این کار سرویس در پس‌زمینه متوقف می‌شود و به درخواست باز می‌گردد. می توانید از دستور فرعی وضعیت برای تأیید اینکه سرویس متوقف شده است استفاده کنید.

یک سرویس را با systemctl راه اندازی مجدد کنید

می‌خواهید فایل پیکربندی سرویس را ویرایش و بارگیری مجدد کنید و تغییرات را اعمال کنید؟ اگر این کار را انجام دادید، پس از آن باید سرویس را مجدداً راه اندازی کنید.

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

sudo systemctl راه اندازی مجدد

را با نام فایل واحد خدماتی که می‌خواهید راه‌اندازی مجدد کنید، جایگزین کنید.

این کار باعث توقف و شروع سرویس در پس‌زمینه می‌شود و به درخواست باز می‌گردد. می توانید از دستور فرعی وضعیت برای تأیید اینکه سرویس در حال اجرا است استفاده کنید.

بارگیری مجدد یک سرویس با systemctl

برخی از سرویس‌ها از بارگیری مجدد پیکربندی خود بدون توقف و شروع پشتیبانی می‌کنند. بارگذاری مجدد یک سرویس به شما امکان می دهد بدون راه اندازی مجدد، تغییرات جزئی در فایل های پیکربندی آن سرویس ایجاد کنید. این سریعتر و کمتر از راه اندازی مجدد است.

برای بارگیری مجدد سرویسی که از این ویژگی پشتیبانی می کند، از دستور systemctlزیر در ترمینال استفاده کنید:

sudo systemctl بارگذاری مجدد

را با نام فایل واحد خدماتی که می‌خواهید دوباره بارگیری کنید، جایگزین کنید.

این سرویس را در پس‌زمینه بارگیری مجدد می‌کند و به درخواست باز می‌گردد. می توانید از دستور فرعی وضعیت برای تأیید اینکه سرویس در حال اجرا است استفاده کنید.

یک سرویس را با systemctl فعال کنید

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

sudo systemctl را فعال می کند.

را با نام فایل واحد خدماتی که می خواهید فعال کنید جایگزین کنید.

این یک پیوند نمادین از فایل واحد خدمات به مکانی در زیر /etc/systemd/systemایجاد می‌کند، که به systemd می‌گوید آن را در زمان راه‌اندازی راه‌اندازی کند.

همچنین می توانید از گزینه –nowبرای فعال کردن و راه اندازی یک سرویس به طور همزمان استفاده کنید. به عنوان مثال:

sudo systemctl enable –now

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

برای غیرفعال کردن راه‌اندازی خودکار سرویس در زمان راه‌اندازی سیستم، این دستور را در ترمینال لینوکس اجرا کنید:

sudo systemctl

را غیرفعال کنید

را با نام فایل واحد خدماتی که می‌خواهید غیرفعال کنید، جایگزین کنید.

این پیوند نمادین را از /etc/systemd/system حذف می‌کند، که به systemd می‌گوید آن را در زمان راه‌اندازی راه‌اندازی نکند.

همچنین می‌توانید از گزینه –nowبرای غیرفعال کردن و توقف یک سرویس به طور همزمان استفاده کنید:

sudo systemctl غیرفعال -now

خدمات ماسک شده را با systemctl فهرست کنید

ماسک کردن یک سرویس به معنای پیوند دادن فایل واحد آن به /dev/nullاست که از بارگیری یا دستکاری آن توسط systemd جلوگیری می‌کند. این یک لایه حفاظتی اضافی اضافه می کند.

برای اینکه ببینید کدام سرویس‌ها پوشانده شده‌اند و نمی‌توان آنها را به صورت دستی یا خودکار در سیستمتان راه‌اندازی یا متوقف کرد، این دستور را در ترمینال رایانه لینوکس خود اجرا کنید:

sudo systemctl list-unit-files –type service –state masked

لیست سرویس‌های پوشانده شده در فهرستی ظاهر می‌شود (با ماسک شدهدر زیر ستون STATEفهرست شده است)

نقاب یک سرویس با systemctl

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

sudo systemctl mask

را با نام فایل واحد خدماتی که می‌خواهید پنهان کنید، جایگزین کنید.

این پیوند نمادین را از فایل واحد خدمات به /dev/nullایجاد می‌کند تا از بارگیری یا دستکاری آن توسط systemd جلوگیری کند..

نقاب یک سرویس را با systemctl بردارید

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

برای رفع نقاب سرویسی که قبلاً در سیستم شما ماسک شده بود، این دستور را اجرا کنید:

sudo systemctl

را باز می کند

را با نام فایل واحد خدماتی که می‌خواهید نقاب بردارید جایگزین کنید.

کنترل رایانه لینوکس شما

اگر رایانه لینوکس شما از systemd برای مدیریت سرویس های سیستم استفاده می کند، می توانید از دستور systemctlبرای مدیریت آنها استفاده کنید. می‌توانید سرویس‌های خود را راه‌اندازی، توقف، بارگیری مجدد، غیرفعال و کنترل کنید، که به شما کنترل بیشتری بر رایانه لینوکس خود می‌دهد.

راه دیگری که می توانید رایانه شخصی خود را مدیریت کنید محدود کردن دسترسی به فایل های خاص است. می‌توانید از دستور chmod استفاده کنید در رایانه لینوکس خود برای اجازه (یا غیرمجاز) دسترسی.

مطمئن نیستید که توزیع لینوکس شما مناسب است؟ در عوض باید یکی دیگر از توزیع های برتر لینوکس را امتحان کنید، یا حتی یک توزیع لینوکس قابل حمل را امتحان کنید. استفاده از توزیع قابل حمل به شما امکان می دهد به راحتی بین آنها جابجا شوید.

.

پست های مرتبط:


26.04.2023