خصم 50% جميع الخطط، لفترة محدودة. ابتداء من $2.48/mo
7 دقائق متبقية
الخوادم ونظام التشغيل

كيفية إصلاح systemctl: خطأ لم يتم العثور على الأمر على أوبونتو

نيك سيلفر By نيك سيلفر 7 دقائق قراءة تم التحديث في 20 فبراير 2025
كيفية إصلاح systemctl: لم يتم العثور على الأمر

واحدة من أقوى الأدوات المفيدة لمستخدمي Linux، وخاصة التوزيعات الحديثة مثل Ubuntu، هي أمر سيستيمكتل. عادةً ما يتم استخدام الأداة المساعدة لسطر الأوامر هذه للتفاعل مع systemd والنظام ومدير الخدمة.

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

لذلك، دعونا نتحدث عن معنى الخطأ "لم يتم العثور على الأمر systemctl: لم يتم العثور على الأمر"، والأسباب المختلفة التي تجعلك تواجه هذا الخطأ، وكيفية إصلاح هذا الخطأ.

ماذا يعني systemctl: لم يتم العثور على الأمر؟

ببساطة، الخطأ "systemctl: لم يتم العثور على الأمر" يعني أن الأداة المساعدة لسطر الأوامر systemctl غير متاحة أو يمكن الوصول إليها في البيئة الحالية. يمكن أن يرجع ذلك إلى مجموعة من الأسباب، والتي تعود جميعها إما إلى كون البيئة بيئة غير نظامية أو عدم تثبيت حزمة systemd على النظام.

في الأساس، لم يتم تثبيت حزمة systemd، أو أن توزيعة Linux أو الإصدار الخاص بك لا يستخدم systemd؛ بل يستخدم أنظمة إدارة الخدمات الأقدم مثل init.d. أحد الاحتمالات الأخرى هو أن متغير البيئة PATH لا يتضمن الدليل الذي يوجد به systemctl، مما يعني أن الصدفة الخاصة بك لا يمكنها العثور عليه.

الآن بعد أن أصبحت لديك فكرة عما يمكن أن يكون به خطأ في نظامك، مما يؤدي إلى الخطأ "لم يتم العثور على الأمر systemctl: لم يتم العثور على الأمر"، دعنا نلقي نظرة على كيفية التحقق من مكان وجود مشكلتك وكيفية إصلاحها.

إصلاح systemctl: خطأ لم يتم العثور على الأمر

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

1. التحقق مما إذا كان نظامك يستخدم systemd

نظرًا لأنه لا يمكن استخدام Ubuntu systemctl إلا إذا كانت حزمة systemd مثبتة لديك، فسنتحقق أولاً مما إذا كان من المفترض أن يستخدم نظامك systemd عن طريق تشغيل الأمر التالي:

ps -p 1 -o comm=

أو يمكنك التحقق من إصدار systemd باستخدام الأمر التالي:

systemd --version

إذا كان الإخراج هو systemd، فإن systemd هو نظام init الخاص بك ويجب أن يكون Ubuntu systemctl مثبتًا عليه. ومع ذلك، إذا كان الإخراج هو init أو مدير عمليات آخر، فهذا يعني أن نظامك يستخدم نظام تهيئة بديل، ولن يعمل systemctl إلا إذا قمت بالترحيل إلى systemd.

إذا رأيت أنظمة تهيئة قديمة مثل Upstart أو SysVinit وتريد التبديل إلى systemd لاستخدام systemctl، فاتبع الخطوات التالية:

1. قم بتثبيت systemctl عن طريق تثبيت systemd باستخدام الأمر التالي:

sudo apt install systemd-sysv

2. أعد تشغيل نظامك عن طريق تشغيل هذا الأمر:

sudo reboot

3. تأكد من أن نظامك يستخدم systemd الآن:

ps -p 1 -o comm=

يجب أن يكون الإخراج systemd الآن.

2. التأكد من تثبيت systemd بشكل صحيح

في الظروف العادية، عندما يتم تثبيت systemd وتشغيله كنظام init الخاص بك، يجب أن يعمل الأمر systemctl بشكل صحيح. إذا لم يكن الأمر كذلك، فهذا يعني أن حزمة systemd إما مفقودة أو مثبتة بشكل غير صحيح.

لاحظ أنه إذا كنت تستخدم إصدارًا بسيطًا من Ubuntu، مثل حاوية Docker أو مثيل سحابي، فربما لم يتم تثبيت systemd افتراضيًا. لتثبيت systemctl من خلال تثبيت systemd، قم بتشغيل الأوامر التالية:

sudo apt update
sudo apt install systemd

بمجرد التثبيت، تحقق لمعرفة ما إذا كان الأمر systemctl متاحًا أم لا.

3. التحقق من المسار الخاص بـ systemctl

إحدى المشكلات الشائعة المتعلقة بخطأ لم يتم العثور على systemctl هي إمكانية تثبيت systemctl، ولكنه ليس موجودًا في PATH الخاص بنظامك. للتحقق مما إذا كانت ثنائيات systemd موجودة أم لا في الأدلة النموذجية حيث توجد، مثل /bin، أو /usr/bin، أو /usr/local/bin، يمكنك استخدام الأمر التالي:

which systemctl

إذا تم العثور على systemctl في أي من أدلةك المدرجة في PATH، فيجب أن تحصل على نتيجة مثل هذا:

/usr/bin/systemctl

إذا لم يتم العثور على systemctl في أي من الأدلة في PATH، فلن يُرجع الأمر أي شيء.

ومع ذلك، قد لا يعمل systemctl على الرغم من وجوده في الأدلة الخاصة بك. وذلك لأن systemctl قد يكون موجودًا في دليل غير مضمن في PATH. في هذه الحالة، سيتعين عليك التحقق مما إذا كان الدليل الذي يوجد به systemctl جزءًا من نظامك باستخدام الأمر التالي:

echo $PATH

يجب أن يكون الإخراج شيء من هذا القبيل:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

الآن، كل ما عليك فعله هو التحقق مما إذا كان الدليل الموجود فيه systemctl (الذي حصلت عليه من أي أمر) مدرجًا في الدلائل المدرجة في الإخراج من أمر echo $PATH.

إذا لم يتم تضمين دليل systemctl في مخرجات echo $PATH، فسيتعين عليك إضافته إلى متغير PATH الخاص بك. للقيام بذلك، سيكون عليك تشغيل الأمر التالي:

ل مستخدمي باش شل، افتح الملف ~/.bashrc في محرر النصوص:

nano ~/.bashrc

أضف السطر التالي في نهاية الملف:

export PATH=$PATH:/usr/bin

/usr/bin هو دليل نموذجي حيث يوجد systemctl في هذا المثال.

الآن، احفظ الملف وأغلقه بالضغط على CTRL + X، ثم Y للتأكيد، ثم Enter للحفظ.

ل مستخدمي Zsh، افتح الملف ~/.zshrc في محرر النصوص:

nano ~/.zshrc

أضف السطر التالي في نهاية الملف:

export PATH=$PATH:/usr/bin

/usr/bin هو دليل نموذجي حيث يوجد systemctl في هذا المثال.

الآن، احفظ الملف وأغلقه بالضغط على CTRL + X، ثم Y للتأكيد، ثم Enter للحفظ.

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

4. إعادة تثبيت النظام

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

sudo apt purge systemd
sudo apt install systemd

ثم أعد تشغيل نظامك باستخدام هذا الأمر:

sudo reboot

تحقق لمعرفة ما إذا كان Systemctl يعمل.

5. التحقق من تكوين systemd بشكل صحيح

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

sudo dpkg-reconfigure systemd

6. نظام Windows الفرعي القديم لنظام Linux (WSL)

إذا كنت تستخدم Ubuntu أدناه WSL (نظام Windows الفرعي لنظام Linux) يجب أن تعلم أن الإصدارات الأقدم من WSL، مثل WSL 1، لا تدعم systemctl أصلاً، لذا بغض النظر عن الإصلاحات السابقة التي تستخدمها، فلن تتمكن من تشغيل systemctl.

إذا كنت تريد الاستفادة من وظائف systemctl، فسيتعين عليك الترقية إلى WSL 2، الذي يتمتع بدعم أفضل لـ systemd. إذا لم تكن متأكدًا مما إذا كنت تستخدم WSL أم لا، فيمكنك التحقق باستخدام الأمر التالي:

uname -a

إذا كان الإخراج يشير إلى WSL، فهذا هو سبب ظهور الخطأ "لم يتم العثور على الأمر systemctl: لم يتم العثور على الأمر".

7. استخدام خدمة sudo كبديل لـ systemctl

إذا كنت تواجه الخطأ "systemctl: لم يتم العثور على الأمر" لأن نظامك لا يستخدم systemd، فيمكنك استخدام أمر خدمة Sudo لإدارة الخدمات. يعمل هذا الأمر مع أنظمة init الأقدم مثل SysVinit أو Upstart. يعد هذا مفيدًا لأنظمة Ubuntu التي تعتمد على البرامج النصية init بدلاً من systemd.

على سبيل المثال، لبدء خدمة ما، يمكنك تشغيل:

sudo service <service_name> start

الأفكار النهائية

حلت systemd وأداة سطر الأوامر systemctl الخاصة بها محل معظم أنظمة init الأقدم الأخرى مثل SysVinit وUpstart. على الرغم من أن systemd قد لا يكون بمثابة كوب الشاي المفضل للجميع بسبب تصميمه المتجانس وفلسفته غير التابعة لنظام Unix، إلا أن systemd لا يزال يعتبر بشكل عام الخيار السائد. لذا، نأمل أن تكون قادرًا على حل خطأ أمر systemctl غير متاح، حيث أن عدم القدرة على استخدام أداة سطر الأوامر المساعدة في systemd يحد بشدة من قدراتها.

التعليمات

ما هو systemctl وماذا يعني systemctl: لم يتم العثور على الأمر؟

systemctl هي أداة سطر أوامر تستخدم لإدارة الخدمات في أنظمة Linux التي تعمل بنظام systemd، مثل Ubuntu. يحدث الخطأ "systemctl: لم يتم العثور على الأمر" عندما لا تكون الأداة متاحة أو يمكن الوصول إليها، عادةً لأن النظام لا يستخدم systemd أو لم يتم تثبيت حزمة systemd.

هل systemctl متاح على جميع إصدارات Ubuntu؟

لا، systemctl غير متوفر في كافة إصدارات Ubuntu. يعد systemctl جزءًا من نظام systemd init، وهو النظام الافتراضي في معظم إصدارات Ubuntu الحديثة (من 15.04 فصاعدًا). قد تستخدم الإصدارات الأقدم أو بعض عمليات التثبيت البسيطة أنظمة init بديلة مثل SysVinit أو Upstart بدلاً من ذلك.

يشارك

المزيد من المدونة

استمر في القراءة.

أفضل التطبيقات ذاتية الاستضافة التي يمكنك تشغيلها باستخدام صورة غلاف Cosmos Cloud مع لوحات التطبيقات حول لوحة معلومات Cosmos.
الخوادم ونظام التشغيل

أفضل التطبيقات ذاتية الاستضافة التي يمكنك تشغيلها باستخدام Cosmos Cloud: الملفات والوسائط وكلمات المرور والأتمتة والمزيد!

ربما قمت بإعداد Cosmos Cloud وتريد الآن معرفة التطبيقات التي تتوافق بشكل جيد معها، أو ربما لم تقرر استخدام Cosmos بعد وتريد فقط معرفة مدى ملاءمتها لأسلوب عملك

نيك سيلفرنيك سيلفر 16 دقيقة قراءة
غطاء Portainer vs Cosmos Cloud لإدارة تطبيقات Docker مع مخطط إعداد مختلط وعمليات نيون مقابل كتل الوصول.
الخوادم ونظام التشغيل

Portainer vs Cosmos Cloud: الأفضل لإدارة تطبيقات Docker

إذا كنت تعرف Docker بالفعل وتريد فقط الطريقة الأنظف لتشغيل حزمة تطبيقات متنامية، فإليك الإجابة المختصرة على Portainer vs Cosmos Cloud. Portainer هو الاختيار الأقوى لـ direc

نيك سيلفرنيك سيلفر 14 دقيقة قراءة
يتميز رسم Cosmos Cloud vs CasaOS vs Umbrel بثلاثة مسارات مستضافة ذاتيًا داخل عالم شبكة سحابية مجردة.
الخوادم ونظام التشغيل

Cosmos Cloud vs CasaOS vs Umbrel: ما هي المنصة ذاتية الاستضافة التي تناسب إعدادك؟

الإجابة المختصرة هي أن نظام CasaOS لا يزال هو أسهل مكان للبدء، بينما يتمتع Umbrel بأنظف إحساس منظم، ويصبح Cosmos Cloud أكثر منطقية عندما تريد تحكمًا أكثر إحكامًا في doma

نيك سيلفرنيك سيلفر 11 دقيقة قراءة

هل أنت مستعد للنشر؟ من 2.48 دولارًا شهريًا.

سحابة مستقلة، منذ عام 2008. AMD EPYC، NVMe، 40 جيجابت في الثانية. استرداد الأموال خلال 14 يومًا.