إصلاح: الأمر Systemctl غير موجود
Systemctl هي أداة مساعدة Systemd للتحكم في الخدمات والعمليات على توزيعات Linux. باستخدام الأمر systemctl ، يمكنك بسهولة تشغيل الخدمات وإيقافها من خلال Terminal. ومع ذلك ، يحصل العديد من المستخدمين على خطأ " systemctl: command لم يتم العثور عليه " عند محاولة تشغيل الأمر systemctl. يمكن أن تحدث هذه المشكلة في الغالب على الإصدارات القديمة من أنظمة تشغيل Linux ، والتي لا تدعم Systemd.
ما الذي يسبب خطأ "لم يتم العثور على أمر Systemctl"؟
وفقًا لتحقيقاتنا ، فإن السبب الرئيسي للمشكلة هو نظام التشغيل القديم. تستخدم بعض توزيعات Linux القديمة SysV init و Upstart بدلاً من Systemd ، نظرًا لأن أوامر systemctl لن تعمل في المحطة الطرفية. تم تقديم Systemd في أحدث إصدارات أنظمة التشغيل وهو غير متوفر للإصدارات القديمة.
الآن بعد أن عرفت سبب حدوث المشكلة ، سننتقل إلى الحل.
قيادة الخدمة لتوزيعات لينكس القديمة
إذا كان نظامك يستخدم Upstart بدلاً من Systemd ، فيجب عليك تجربة الأوامر التي تعمل مع Upstart. تحتاج إلى تجربة أمر مكافئ لـ systemctl لأنظمة التشغيل القديمة لبدء تشغيل خدمة. أيضًا ، يجب تثبيت الخدمة على النظام الخاص بك قبل بدء تشغيله باستخدام أمر عبر Terminal.
نصيحة : استخدم أمر sudo لتثبيت وبدء وإيقاف التطبيقات التي تتطلب امتيازات الجذر.
- اضغط على مفاتيح CTRL + ALT + T مع بعضها لفتح "المحطة الطرفية" واكتب الأمر التالي لبدء تشغيل خدمة:
sudo خدمة بداية elasticsearch
ملاحظة : سوف يستغرق 5-10 ثواني للبدء.
- يمكنك تأكيد حالة الخدمة باستخدام هذا الأمر:
حالة سودو خدمة elasticsearch
بدء الخدمة والتحقق من الحالة - وبعض الخدمات مثل elasticsearch لها أمر خاص بها لاختبار:
curl –X GET '// localhost: 9200'
اختبار خدمة elasticsearch
المكافأة: الأمر Systemctl لأحدث توزيعات Linux
حل Systemd محل SysV init كنظام init في معظم توزيعات Linux. سيعمل أمر Systemctl على أحدث توزيعات Linux دون أي أخطاء كما هو موضح أدناه:
- اضغط على مفاتيح CTRL + ALT + T معًا لفتح المحطة الطرفية
- اكتب الأمر systemctl لبدء تشغيل الخدمة:
sudo systemctl بدء elasticsearch
بدء تشغيل الخدمة باستخدام الأمر systemctl