اگر کاربر یا مدیر لینوکس هستید، باید بدانید که چگونه خدمات را در سیستم خود مدیریت کنید. سرویسها برنامههایی هستند که در پسزمینه اجرا میشوند و عملکردهای ضروری مانند شبکهسازی، چاپ، گزارشگیری و غیره را ارائه میکنند.
اما چگونه خدمات را در لینوکس لیست، شروع، متوقف، فعال، غیرفعال یا راه اندازی مجدد می کنید؟ پاسخ فرمان 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 استفاده کنید در رایانه لینوکس خود برای اجازه (یا غیرمجاز) دسترسی.
مطمئن نیستید که توزیع لینوکس شما مناسب است؟ در عوض باید یکی دیگر از توزیع های برتر لینوکس را امتحان کنید، یا حتی یک توزیع لینوکس قابل حمل را امتحان کنید. استفاده از توزیع قابل حمل به شما امکان می دهد به راحتی بین آنها جابجا شوید.
.