الدليل العملي الشامل لأمر systemctl في لينكس

نظرة عامة

عوضاً عن التيه في تفاصيل صفحات التوثيق الطويلة (man pages)، يقدم هذا المقال دليلاً تطبيقياً مباشراً يركز على السيناريوهات الواقعية التي يحتاجها كل مدير نظام للتعامل مع أداة systemctl. سنعتمد في شرحنا على خادم الويب Nginx كنموذج تطبيقي؛ حيث سنبدأ بتثبيته، ثم نتدرج في فحص حالته، والتحكم في تشغيله وإيقافه، وصولاً إلى إعداده للعمل تلقائياً فور إقلاع النظام.

تهيئة بيئة العمل واستكشاف حالة الخدمة (status)

نبدأ أولاً بتجهيز بيئة الاختبار عبر تثبيت حزمة خادم الويب nginx على النظام:

تحديث المستودعات وتثبيت خادم Nginx عبر مدير الحزم apt

تُستخدم التعليمة systemctl status لتشخيص وضع الخدمة المستهدفة، وعرض مؤشرات أدائها، وحالة العمليات المرتبطة بها في الوقت الفعلي.
توضح المخرجات أدناه أن خادم Nginx مُهيأ ليبدأ ذاتياً عند إقلاع النظام (enabled)، إلا أن الخدمة متوقفة في الوقت الحالي (inactive).
⚙️ [أهم المعاملات والخيارات الإضافية]

-l (أو --full): تمنع تقليص الأسطر وتُظهر سجلات الأحداث ووصف الوحدات كاملاً دون اقتطاع بناءً على أبعاد نافذة الطرفية.
--no-pager): تعرض النتائج مباشرة على شاشة الطرفية بدلاً من تحويل المخرجات تلقائياً إلى برامج التصفح مثل less.
-t (أو --type): تتيح فرز النتائج حسب تصنيف الوحدة، مثل حصر العرض في الخدمات (service)، أو المقابس (socket)، أو نقاط التوصيل (mount).
-a (أو --all): تدرج كافة الوحدات الخاضعة لإشراف systemd حتى لو كانت غير محملة أو غير مفعلة.
--failed: تقتصر على عرض الوحدات المتعثرة التي واجهت أخطاء أثناء التشغيل أو الانهيار.

استعراض الحالة الفنية الشاملة لخدمة Nginx في الطرفية

التحكم الفعلي بالخدمات: التشغيل، الإيقاف، وإعادة التحميل (start, stop, restart)

لإيقاف خادم Nginx فوراً، نلجأ إلى تشغيل الأمر sudo systemctl stop nginx.
نظراً لأن إدارة الخدمات تتطلب امتيازات إدارية، فإن استخدام sudo إلزامي؛ وعند إتمام الإيقاف بنجاح يعود المؤشر إلى سطر الأوامر دون إخراج نصوص إضافية.

إيقاف تشغيل خدمة Nginx باستخدام صلاحيات الجذر

للتحقق البرمجي السريع من نشاط الخدمة دون إغراق الشاشة بالمعلومات، يكفي تنفيذ systemctl is-active nginx.
وبما أننا قمنا بإنهاء عمل الخدمة في الخطوة السابقة، ستكون النتيجة كلمة inactive للإشارة إلى أنها متوقفة.

التأكد من حالة الخمود لخدمة Nginx باستخدام is-active

لإعادة إطلاق الخدمة بعد توقفها، ننفذ الأمر sudo systemctl start nginx.
يتم التشغيل بصلاحيات الإدارة، وفي حال عدم ظهور رسائل خطأ، فهذا يؤكد نجاح الإجراء.

بدء تشغيل خادم Nginx في الخلفية بنجاح

وعند إجراء تعديلات جوهرية على ملفات الإعداد أو الرغبة في تصفير جلسات العمل، يُستخدم الأمر sudo systemctl restart nginx لقطع الخدمة وإعادة تشغيلها مباشرة.

إعادة تشغيل خدمة Nginx لتطبيق التغييرات

يمكننا التأكد من استجابة الخدمة لعملية التشغيل عبر الاستعلام مجدداً بواسطة systemctl is-active nginx.
ظهور القيمة active يؤكد أن الخدمة تباشر عملها بنجاح دون مشاكل.

التحقق من عمل خادم Nginx ونشاطه في النظام

جدولة الخدمات مع إقلاع النظام وإلغاؤها (enable, disable)

يضمن الأمر sudo systemctl enable nginx تشغيل الخدمة ذاتياً بمجرد إقلاع نظام التشغيل.
تتحقق هذه الآلية داخلياً من خلال إنشاء رابط رمزي (symlink) لملف الوحدة داخل المسار الهيكلي /etc/systemd/system/.

تفعيل التشغيل التلقائي لخدمة Nginx عند بدء تشغيل لينكس

للتأكد مما إذا كانت الخدمة مبرمجة للإقلاع الذاتي، نستعلم عبر systemctl is-enabled nginx.
ظهور النتيجة enabled يعني أن الرابط الرمزي جاهز وأن النظام سيطلق الخدمة تلقائياً في الإقلاع القادم.

فحص جاهزية الخدمة للإقلاع الذاتي مع النظام

إذا أردنا منع الخدمة من الانطلاق تلقائياً عند تشغيل الحاسوب، فإننا نلغي هذا السلوك بتنفيذ sudo systemctl disable nginx.
يقوم هذا الإجراء بحذف الرابط الرمزي السابق، مما يعزل الخدمة عن مسار بدء التشغيل التلقائي.

تعطيل خاصية بدء تشغيل Nginx التلقائي عند الإقلاع

نكرر تشغيل systemctl is-enabled nginx للتحقق من زوال الربط التلقائي،
فتؤكد النتيجة disabled نجاح عملية فك الارتباط.

التأكد من تعطيل الإقلاع التلقائي للخدمة

لإعادة ضبط الخدمة لتعمل مجدداً مع الإقلاع، نمرر التعليمة sudo systemctl enable nginx مرة أخرى؛
حيث يعيد النظام بناء الرابط الرمزي في مساره الصحيح لضمان الجاهزية عند بدء التشغيل المقبل.

إعادة تفعيل الربط التلقائي للخدمة مع الإقلاع

مراقبة وحدات النظام واكتشاف الخدمات المعطلة (list-units, failed)

باستخدام الأمر المركب systemctl list-units --type=service --state=running --no-pager | head -n 15، نستطيع فرز الخدمات التي تعمل بكفاءة حالياً واقتطاع أول 15 سجلاً منها.
تعكس المخرجات استقرار منظومة العمل وتوضح تشغيل nginx.service جنباً إلى جنب مع الخدمات الحيوية الأخرى في النظام.

عرض الخدمات النشطة قيد التشغيل حالياً في النظام

تُعد أداة الفرز السريع systemctl --failed --no-pager ركيزة أساسية لاستكشاف الأخطاء، إذ تقتصر على سرد الخدمات التي تعثر تشغيلها أو واجهت انهياراً مفاجئاً.
تدل العبارة 0 loaded units listed على خلو النظام تماماً من أي خدمات متعثرة، مما يبرهن على استقرار البيئة التشغيلية.

فحص الخدمات المعطلة والتأكد من سلامة النظام

استعرضنا خلال هذه التجربة العملية أبرز أدوات التحكم بالخدمات ومراقبة سلوكها وإعدادها للإقلاع الذاتي تحت مظلة systemctl.
تمثل هذه المهارات حجر الأساس للتعامل السلس والموثوق مع خوادم لينكس المعتمدة على مدير النظام systemd.