systemctl: التحكم الكامل في Linux في 12 خطوة

أوامر systemctl 12 التي تتقن لينكس

systemctl: 12 أمرًا لإتقان لينكس 🚀

يحتوي الأمر systemctl على العديد من الميزات التي غالبًا ما يتم تجاهلها. بالإضافة إلى بدء وإيقاف الخدمات في Linux، يمكنك أيضًا سرد الخدمات المثبتة والتحقق من حالتها. دعونا نقوم بمراجعة سريعة! 🚀

ما هو الأمر Systemctl؟

يعد الأمر systemctl أداة الإدارة المركزية لنظام init systemd، والمعروف في المقام الأول بأنه الأداة المستخدمة لبدء الخدمات وإيقافها. ولكن هناك الكثير أكثر من ذلك، كما يتضح من كتاباته. صفحة الرجل الذي يحتوي على أكثر من 1600 سطر. 📖

نظرًا لأن systemctl عبارة عن أداة إدارة، وليس مجرد مشغل خدمة، فيمكنك استخدامه للوصول إلى معلومات مفيدة حول نظامك وخدمات systemd الخاصة به. 💻

لقد اعتمدت معظم توزيعات Linux نظام systemd، ولكن بعضها اختار الاحتفاظ بنظام init التقليدي SystemV. إذا لم تكن متأكدًا من البرنامج الذي يستخدمه توزيعك، فمن السهل معرفة ذلك. سنستخدم الأمر stat لإلقاء نظرة على ملف init.

إحصائية /sbin/init 
استخدام الأمر stat لمعرفة ما إذا كان تثبيت Linux يستخدم SystemV أو systemd.

ملف /sbin/init القابل للتنفيذ هو أول عملية يتم تشغيلها في التوزيعات المستندة إلى SystemV. في التوزيعات المستندة إلى systemd، يشير الارتباط الرمزي بهذا الاسم إلى systemd.

يُظهر لنا السطر الأول من الإخراج أنه على جهاز اختبار Ubuntu هذا، يعد /sbin/init رابطًا رمزيًا للملف /lib/systemd/systemd. من الواضح أن تثبيت Linux هذا يستخدم systemd. إذا كانت توزيعة تعتمد على SystemV، فإن السطر سوف يحتوي فقط على "ملف: /sbin/init".

استجواب الخدمات باستخدام systemctl

يتم تعريف الخدمات في ملفات الوحدة، وسوف ترى كلمة الوحدة منتشرة في جميع أنحاء خيارات systemctl. على سبيل المثال، يمكننا الحصول على قائمة بالخدمات باستخدام الأمر list-units باستخدام الخيار –type.

نظام التحكم قائمة-الوحدات --النوع=الخدمة
مخرجات أمر systemctl list-units، والتي تُظهر الخدمات قيد التشغيل والمتوقفة.

يتم عرض الإخراج في عارض الملفات الأقل، مما يسمح لك بالتنقل واستخدام مفتاح / للبحث.

  • وحدة: اسم ملف الوحدة.
  • يحمل:إذا تمت قراءة ملف وحدة الخدمة في الذاكرة دون أخطاء نحوية، فسيحتوي هذا العمود على "محمل". هذا لا يعني أن الخدمة نشطة.
  • أصل:نظرة عامة حول ما إذا كانت الخدمة نشطة أم لا. قد لا تكون الخدمة النشطة قيد التشغيل.
  • فرعي:عرض أكثر تفصيلاً حول ما إذا كانت الخدمة قيد التشغيل. على سبيل المثال، قد يتم جدولة خدمة نشطة لمؤقت، وقد تكون خرجت من تشغيلها الأخير.
  • وصف:سطر نصي يهدف إلى تحديد الخدمة أو وصفها.

العرض يتضمن الخدمات النشطة فقط. لرؤية كافة الخدمات، نحتاج إلى تضمين الخيار –all.

نظام التحكم قائمة-الوحدات --الكل --النوع=الخدمة
مخرجات أمر systemctl list-units، والتي تُظهر كافة الخدمات.

إذا كان عرض كل شيء أمرًا مرهقًا، فيمكننا تصفية الناتج باستخدام خيار –state.

نظام التحكم قائمة-الوحدات --النوع=الخدمة --الحالة=التشغيل
مخرجات أمر systemctl list-units، تمت تصفيتها لإظهار الخدمات قيد التشغيل فقط.

سيقبل خيار الحالة التشغيل، والتوقف، والتمكين، والتعطيل، والفشل.

للتركيز على الخدمات الفاشلة، استخدم الخيار –failed.

نظام التحكم قائمة-وحدات --فشل
مخرجات أمر systemctl list-units، تم تصفيتها لإظهار الخدمات الفاشلة فقط. لا توجد خدمات فاشلة.

لا يوجد محركات أقراص فاشلة على هذا الكمبيوتر.

إذا رأيت أي خدمات فاشلة، فاستخدم خيار list-dependencies للتحقق من التبعيات غير الملباة.

نظام التحكم قائمة-تبعيات sshd.service
مخرجات أمر systemctl list-dependencies الذي يظهر التبعيات لخدمة sshd.

تحتوي التبعيات على دائرة مرمزة بالألوان تمثل حالتها. قد يكون:

  • الدائرة البيضاء:غير نشط أو تحت الصيانة
  • النقطة الخضراء: أصل.
  • وايت بوينت:إلغاء التنشيط.
  • النقطة الحمراء:فشل أو خطأ.

للتحقق مما إذا كانت خدمة واحدة ممكّنة، استخدم الأمر is-enabled وقم بتوفير اسم ملف وحدة الخدمة.

نظام التحكم es-تمكين خدمة htg-example.service
استخدام systemctl is-enabled لتحديد ما إذا كانت خدمة معينة ممكّنة.

التحكم في الخدمات باستخدام systemctl

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

لبدء تشغيل الخدمة، استخدم أمر البدء متبوعًا باسم الخدمة.

انا اتعرق نظام التحكم يبدأ مثال htg.خدمة
بدء تشغيل الخدمة باستخدام الأمر systemctl start.

إذا سارت الأمور على ما يرام، فسيتم إرجاعك بصمت إلى موجه الأوامر. إذا كنت تفضل الحصول على تأكيد إيجابي، فيمكنك التحقق منه باستخدام أمر الحالة.

انا اتعرق نظام التحكم حالة مثال htg.خدمة
التحقق من حالة الخدمة باستخدام أمر systemctl status.

إن إيقاف الخدمة أمر سهل مثل بدئها.

انا اتعرق نظام التحكم قف مثال htg.خدمة
إيقاف الخدمة باستخدام الأمر systemctl stop.

يمكنك إعادة تشغيل الخدمة دون الحاجة إلى المرور بعملية مكونة من خطوتين لإيقافها ثم تشغيلها. هو أمر إعادة التشغيل يفعل كل شيء من أجلك.

انا اتعرق نظام التحكم إعادة تشغيل مثال htg.خدمة
إعادة تشغيل الخدمة باستخدام الأمر systemctl restart.

إذا كنت تريد أن تبدأ الخدمة عند بدء التشغيل، فيجب عليك تمكينها.

انا اتعرق نظام التحكم يُمكَِن مثال htg.خدمة
تمكين الخدمة باستخدام الأمر systemctl enable.

لاحظ أن هذا يشير فقط إلى بدء الخدمة عند بدء التشغيل، وليس بدء تشغيلها على الفور. إذا كان هذا ما تريده، فقد أضفت خيار –now.

انا اتعرق نظام التحكم يُمكَِن --الآن مثال htg.خدمة
تمكين الخدمة وبدء تشغيلها في نفس الوقت باستخدام الأمر systemctl enable --now.

عندما لم تعد بحاجة إلى خدمة لبدء التشغيل عند بدء التشغيل، قم بتعطيلها.

انا اتعرق نظام التحكم إبطال مثال htg.خدمة
تعطيل الخدمة باستخدام الأمر systemctl disable.

بإمكانك استخدام الأمر journalctl، وهو جزء آخر من systemd، للبحث عن الإدخالات المتعلقة بخدمتك. يسمح لك الخيار -u (الوحدة) بتحديد الخدمة التي أنت مهتم بها. باستخدام الخيار -S (منذ)، يمكنك عرض الإدخالات التي حدثت منذ الوقت الذي تقدمه.

Journalctl  "08:00:00" -أو مثال htg.خدمة
استخدام الأمر journalctl لعرض إدخالات سجل النظام المتعلقة بخدمة معينة.

أي أداة تساعدك الحصول على معلومات حول العملية ستكون المعلومات الداخلية لتوزيعة Linux الخاصة بك ذات قيمة لا تقدر بثمن، سواء للإدارة اليومية أو لاستكشاف الأخطاء وإصلاحها وتشخيص المشكلات. إن الأمر systemctl ليس أداة واحدة. إنه أشبه بصندوق أدوات متخصص، ويستحق التعرف عليه. 🔧🛠️

5 1 تصويت
تقييم المقال
الاشتراك
إشعار
ضيف

0 تعليقات
أقدم
الجديد أكثر الأكثر تأييدا
التعليقات على الإنترنت
انظر جميع التعليقات