كيفية إصلاح خطأ “sudo: command not found” على لينكس
أحيانًا، أثناء أداء مهام إدارية مثل إعداد نظام لينكس جديد على آلة افتراضية أو تعديل ملفات النظام، قد تواجه رسالة الخطأ “sudo: command not found”. هذا خطأ شائع ومربك للمستخدمين الجدد على لينكس.
في هذه المقالة، سنوضح معنى هذا الخطأ وكيفية إصلاحه على لينكس باستخدام طرق مختلفة.
ملاحظة: تم استخدام Ubuntu 24.04 LTS كمثال، ولكن الحلول المقدمة تنطبق على توزيعات لينكس الأخرى أيضًا.
ما هو أمر sudo؟
لنبدأ بفهم ما هو أمر sudo. أمر sudo، اختصار لـ “superuser do”، يتيح لك أداء المهام التي تتطلب صلاحيات خاصة للمستخدم الجذر (أو الروت).
في لينكس، الحسابات العادية لها صلاحيات محدودة لتجنب تلف النظام بالخطأ. لا يمكنك الوصول إلى ملفات معينة أو أداء مهام حاسمة. من ناحية أخرى، المستخدم الجذر ليس لديه حدود ويمكنه فعل أي شيء على النظام.
باستخدام sudo قبل الأمر، تقوم برفع صلاحياتك مؤقتًا. هذا يتيح لك تنفيذ الأوامر التي ستكون مقيدة بخلاف ذلك. على سبيل المثال، إذا كنت بحاجة إلى تثبيت برنامج أو تعديل ملفات النظام، يمنحك sudo الأذونات اللازمة.
استخدام sudo هو خيار أفضل من تسجيل الدخول كمستخدم جذر لأنه يقلل من خطر كسر النظام بالخطأ. عندما تشغل أمرًا بـ sudo، يطلب منك كلمة مرور المستخدم الخاصة بك (وليس كلمة مرور الجذر) للتحقق من هويتك. هذا يوفر طبقة إضافية من الأمان، حيث يمكن للمستخدمين المصرح لهم فقط تنفيذ العمليات الحساسة.
بالإضافة إلى ذلك، هناك أيضًا طريقة لاستخدام sudo بدون كلمة مرور.
ما معنى “Sudo: Command Not Found”؟
رسالة الخطأ “sudo: command not found” تعني أن نظام لينكس الخاص بك ليس لديه حزمة sudo متاحة. معظم أنظمة لينكس تأتي مع sudo مثبت مسبقًا، ولكن البعض منها لا، مثل Arch و Gentoo Linux.
ومع ذلك، أحيانًا قد ترى هذا الخطأ حتى لو كان sudo مثبتًا على نظامك. في هذه الحالة، قد يكون السبب هو أن متغير PATH الخاص بك لا يحتوي على الدليل الذي تم تثبيت sudo فيه. متغير PATH يساعد النظام في العثور على الأوامر من خلال البحث في الأدلة المدرجة.
أخيرًا، قد ترى هذا الخطأ إذا كان لدى المستخدم الخاص بك صلاحيات غير صحيحة أو إذا لم يتم إعداد PATH بشكل صحيح. تأكد أيضًا من أنك كتبت sudo بشكل صحيح.
نصيحة: يمكنك أيضًا تجربة Run0، وهو برنامج تصعيد صلاحيات جديد يعد بديلاً ممتازًا لـ sudo، وتعلم كيفية استخدام Run0 على لينكس.
كيفية إصلاح خطأ “Sudo: Command Not Found”
لإصلاح خطأ “sudo: command not found” على لينكس، تحتاج إلى تثبيت sudo، إضافة المستخدم إلى مجموعة sudo، أو إضافة مسار تنفيذ sudo إلى متغير PATH.
تثبيت sudo
أولاً، دعنا نتأكد إذا كان نظامك يحتوي على حزمة sudo متاحة أم لا. يمكنك التحقق بسهولة عن طريق استعلام رقم الإصدار. إذا ظهر، فأنت تعرف أن sudo مثبت على نظامك:
sudo --version
إذا كان نظام لينكس الخاص بك لا يحتوي على sudo مثبتًا، فستحتاج إلى تثبيته لحل الخطأ. للقيام بذلك، تحتاج إلى تسجيل الخروج من حساب المستخدم الخاص بك وتسجيل الدخول كمستخدم جذر.
للقيام بذلك، اكتب هذا الأمر:
su -
الآن، بعد أن أصبحت مستخدمًا جذرًا، يمكنك تثبيت حزمة sudo على توزيعة لينكس الخاصة بك باستخدام مدير الحزم الافتراضي الخاص بك.
على سبيل المثال، يمكنك تثبيت sudo على توزيعات Ubuntu/Debian باستخدام apt:
apt install sudo
لتثبيت sudo على توزيعات CentOS/Fedora أو RHEL، استخدم هذا الأمر:
dnf install sudo
استخدم الأمر التالي لتثبيت حزمة sudo على Arch Linux:
pacman -S sudo
إضافة المستخدم إلى مجموعة sudo
بعد تثبيت sudo، أضف مستخدمك غير الجذر إلى مجموعة sudo لتمكين الوصول إلى صلاحيات الجذر. على سبيل المثال، يمكنك إضافة مستخدم إلى مجموعة sudo على نظام Ubuntu أو Debian باستخدام هذا الأمر:
usermod -aG sudo username
على Fedora/CentOS أو توزيعات RHEL الأخرى، حاول إضافة المستخدم إلى مجموعة wheel:
usermod -aG wheel username
علاوة على ذلك، يمكنك التحقق مما إذا تم إضافة المستخدم إلى المجموعة أم لا عن طريق تنفيذ الأمر أدناه:
groups username
بعد التحقق، عد إلى المستخدم غير الجذر من الجذر باستخدام أمر su متبوعًا باسم المستخدم الخاص بك:
su username
هذا كل شيء! الآن، يمكنك تنفيذ جميع الأوامر كمستخدم جذر باستخدام sudo. على سبيل المثال، يمكنك التحقق من تثبيت sudo عن طريق تحديث حزم نظام لينكس الخاص بك باستخدام هذا الأمر:
sudo apt update
إضافة مسار sudo إلى متغير PATH
إذا كان لديك sudo مثبتًا على نظامك ولكنك لا زلت تحصل على خطأ “sudo: command not found”، تحقق من متغير PATH الخاص بك وتأكد من أنه يتضمن الدليل الذي تم تثبيت sudo فيه.
أولاً، حدد موقع أمر sudo عن طريق إرجاع مسار تنفيذه:
which sudo
بعد ذلك، استخدم الأمر echo للتحقق مما إذا كان متغير PATH الخاص بك يتضمن هذا الدليل (/usr/bin/):
echo $PATH
هنا، سترى قائمة بالعديد من الأدلة مفصولة بنقطتين. تحتاج إلى البحث عن “/usr/bin” أو “/bin” في القائمة لأنهما من أكثر المواقع شيوعًا لـ sudo.
إذا لم يكن لديك دليل “/usr/bin” في PATH، يمكنك إضافته باستخدام هذا الأمر:
export PATH=$PATH:/usr/bin
استبدل “/usr/bin” بالدليل الفعلي الذي يحتوي على ملف sudo التنفيذي.
تشغيل هذا الأمر يقوم بتحديث متغير PATH مؤقتًا، مما يسمح لنظامك بالعثور على دليل sudo وحل أخطاء bash على لينكس. ومع ذلك، سيكون هذا التعديل مؤقتًا وسينتهي عندما تنتهي من جلسة الطرفية.
لجعل هذا التغيير دائمًا لجميع المستخدمين، تحتاج إلى إضافة دليل sudo إلى متغير PATH على مستوى النظام. للقيام بذلك، دعنا نصبح مستخدم الجذر أولاً:
su -
افتح ملف “/etc/profile”:
nano /etc/profile
ابحث عن سطر متغير المسار وأضف دليل “/usr/bin” إلى متغير PATH.
أخيرًا، احفظ الملف بالضغط على Ctrl + O وأغلق المحرر. الآن، يمكنك العمل مع أمر sudo بدون أي أخطاء.
خاتمة
لقد نجحت في إصلاح خطأ “sudo: command not found” من خلال تثبيت sudo، إضافة المستخدم الخاص بك إلى مجموعة sudo، وإضافة مسار sudo إلى متغير PATH.
علاوة على ذلك، يمكنك أيضًا استكشاف الاختلافات بين sudo -s، su، sudo su، وsudo -i.
إرسال التعليق
يجب أنت تكون مسجل الدخول لتضيف تعليقاً.