لينكس هو نظام تشغيل قوي وموثوق به، ولكن حتى المستخدمين المتمرسين يواجهون مشاكل غير متوقعة. سواء كانت ملفًا تم حذفه، أو كلمة مرور جذر مُنسية، أو نظام بطيء، فإن معرفة كيفية استكشاف المشكلات بكفاءة هو الأمر الرئيسي لتصبح خبيرًا حقيقيًا في لينكس.
يقدم هذا الدليل سيناريوهات حل المشكلات الحقيقية في لينكس بالإضافة إلى الحلول خطوة بخطوة، والتي تكون شائعة بين مسؤولي النظام والمطورين ومستخدمي لينكس اليوميين.
السيناريو 1: لقد حذفت بالخطأ ملفًا هامًا
لقد حذفت بالخطأ ملفًا هامًا باستخدام أمر rm، والآن تحتاج إلى استعادته. على عكس ويندوز و ماك أو إس، لا تحتوي لينكس على “سلة مهملات” مدمجة للملفات التي تم حذفها من الطرفية.
تعتمد خيارات الاسترداد على نظام الملفات المستخدم.
لأنظمة الملفات EXT3/EXT4
استخدم extundelete، وهو أداة مفتوحة المصدر مصممة لاستعادة الملفات المحذوفة من أنظمة ملفات ext3 وext4 في لينكس.
sudo apt install extundelete # Debian-based sudo yum install extundelete # RHEL-based
قبل محاولة الاسترداد، قم بفصل القسم لمنع المزيد من الكتابات التي يمكن أن تكتب فوق البيانات المحذوفة:
sudo umount /dev/sdX
بعد ذلك، قم بتشغيل الأمر التالي لاستعادة الملف المحذوف وتأكد من استبدال /dev/sdX
بالقسم الفعلي الذي تم حذف الملف منه.
sudo extundelete /dev/sdX --restore-all
بالنسبة لأنظمة ملفات XFS، Btrfs، أو NTFS
إذا كان نظامك يستخدم XFS، Btrfs، أو NTFS، فإن أداة testdisk هي الخيار الأفضل.
sudo apt install testdisk # Debian-based sudo yum install testdisk # RHEL-based
قم بتشغيل testdisk واتبع التعليمات التفاعلية لاستعادة الملفات المفقودة.
sudo testdisk
نصائح للوقاية:
-
- استخدم trash-cli: بدلاً من
rm
، استخدمtrash-cli
لإرسال الملفات إلى سلة مهملات قابلة للاسترداد.
- استخدم trash-cli: بدلاً من
sudo apt install trash-cli trash-put myfile.txt
- قم بتمكين النسخ الاحتياطي المنتظم: قم بإعداد rsync أو Timeshift للنسخ الاحتياطي التلقائي للملفات المهمة.
سيناريو 2: استعادة كلمة مرور الجذر المنسية
لقد نسيت كلمة مرور الجذر الخاصة بك ولا يمكنك تنفيذ المهام الإدارية، مما يعني أنك لا تستطيع تثبيت البرامج أو تغيير إعدادات النظام أو الوصول إلى الملفات الحيوية.
يمكنك إعادة تعيين كلمة مرور الجذر عن طريق التمهيد في وضع الاسترداد أو تعديل محمل الإقلاع GRUB.
استخدام وضع الاسترداد (أوبونتو/ديبيان)
أعد تشغيل النظام الخاص بك واضغط على Shift
أثناء التشغيل للوصول إلى قائمة GRUB، ثم اختر “خيارات متقدمة” → “وضع الاسترداد” واختر “إسقاط إلى جهاز الجذر القلبي”.
هنا، قم بإعادة تحميل نظام الملفات الجذرية كقابل للكتابة وإعادة تعيين كلمة مرور الجذر.
mount -o remount,rw / passwd root
أعد تشغيل النظام.
reboot
استخدام rd.break (RHEL/CentOS/Fedora)
أعد أولاً تشغيل النظام الخاص بك، اضغط على e
في قائمة GRUB وابحث عن السطر الذي يبدأ بـ linux
وأضف rd.break
في النهاية.
ثم، قم بتحميل نظام الملفات الجذرية وإعادة تعيين كلمة مرور الجذر.
mount -o remount,rw /sysroot chroot /sysroot passwd root
وأخيرًا، اخرج وأعد التشغيل.
exit reboot
نصائح الوقاية:
- إنشاء مستخدم sudo بدون كلمة مرور لتجنب قفل الوصول إلى الجذر.
- استخدام مفاتيح SSH بدلاً من كلمات المرور للمصادقة.
سيناريو 3: لقد قمت بتثبيت حزمة، ولكنها لا تعمل
لقد قمت بتثبيت حزمة، لكنها تعرض رسالة “الأمر غير موجود” عند محاولة تشغيله، والتي عادة ما تحدث عندما لا يكون البرنامج الثنائي موجودًا في مسار النظام PATH، أو أن الحزمة لم يتم تثبيتها بشكل صحيح، أو يوجد تبعية مفقودة.
الحل هو، أولاً تحتاج إلى التحقق مما إذا كانت الحزمة مثبتة أم لا.
dpkg -l | grep package-name # Debian-based rpm -qa | grep package-name # RHEL-based
إذا كانت مفقودة، أعد تثبيتها:
sudo apt install package-name sudo yum install package-name
بعد ذلك، تحقق مما إذا كانت الأوامر موجودة في نظامك PATH.
which package-name echo $PATH
إذا كان الملف الثنائي في موقع غير قياسي، أضفه إلى PATH:
export PATH=$PATH:/usr/local/bin
نصائح للوقاية:
- أعد تشغيل الطرفية أو قم بتشغيل
hash -r
بعد تثبيت حزم جديدة. - استخدم مديري الحزم مثل Snap أو Flatpak، الذين يديرون التبعيات بشكل أفضل.
السيناريو 4: نظامك يعاني من نفاد مساحة القرص
يعرض نظامك خطأ “لا توجد مساحة متبقية على الجهاز”، مما يمنع تحديثات البرمجيات، والتسجيل، والعمليات العادية.
إليك كيفية استعادة مساحة القرص والحفاظ على نظامك يعمل بسلاسة.
الخطوة 1: تحقق من استخدام القرص
الحل هو، أولاً تحتاج إلى التحقق من مقدار المساحة المستخدمة على كل قسم في نظامك باستخدام أمر df.
df -h
الخطوة 2: ابحث واحذف الملفات الكبيرة
بعد ذلك، حدد أكبر الملفات التي تستهلك المساحة عن طريق تشغيل أمر du، الذي سيفحص نظامك ويعرض أعلى 10 ملفات أو دلائل. احذف الملفات غير الضرورية باستخدام rm
أو انقلها إلى محرك خارجي.
du -ah / | sort -rh | head -10
الخطوة 3: إزالة السجلات غير الضرورية
السجلات ضرورية لاستكشاف الأخطاء وإصلاحها ومراقبة نشاط النظام، لكنها يمكن أن تنمو بسرعة وتستهلك كمية كبيرة من مساحة القرص.
مع مرور الوقت، قد لا تكون السجلات القديمة مطلوبة بعد الآن، مما يجعلها مرشحة مثالية للتنظيف.
sudo journalctl --vacuum-time=2d # Deletes logs older than 2 days sudo apt autoclean # Removes outdated package files
الخطوة 4: إزالة النوى القديمة (أوبونتو/ديبيان)
عند تحديث نظامك، خاصة على أوبونتو أو توزيعات ديبيان، غالبًا ما يتم تثبيت إصدارات جديدة من نواة لينكس.
ومع ذلك، فإن النوى القديمة لا تتم إزالتها تلقائيًا ومع مرور الوقت، يمكن أن تتراكم هذه النوى القديمة وتستهلك كمية كبيرة من مساحة القرص.
إزالتها هو وسيلة آمنة وفعالة لتحرير المساحة دون التأثير على وظيفة نظامك.
sudo apt autoremove --purge
نصائح للوقاية:
- إعداد دورة تدوير السجلات: استخدم logrotate لإدارة حجم ملفات السجل تلقائيًا وفترات الاحتفاظ.
- مراقبة استخدام القرص: قم بتثبيت أدوات مثل ncdu لتتبع استخدام القرص وتحديد الملفات الكبيرة.
- تنظيفات دورية: قم بجدولة عمليات تنظيف دورية لإزالة الملفات المؤقتة والذاكرة المؤقتة والحزم غير المستخدمة.
سيناريو 5: يتوقف الخادم فجأة عن الاستجابة
أنت تدير خادم Linux، وفجأة، يتوقف عن الاستجابة وتحاول الاتصال عبر SSH، ولكن الاتصال ينقضي أو يرفض الإنشاء. قد تلاحظ حتى أن الخادم مشغل لكنه لا يستجيب لأي أوامر.
قد يكون هذا الوضع ناتجًا عن مشاكل مختلفة، بما في ذلك:
- استخدام عالي لوحدة المعالجة المركزية أو الذاكرة بسبب العمليات الجارية بشكل مفرط.
- عقبات إدخال/إخراج القرص، حيث تكون النظام مشغولة بعمليات القراءة/الكتابة.
- انهيارات نواة أو تعطل النظام.
- فشل الشبكة، مما يمنع الوصول عن بعد.
لاستعادة التحكم، اتبع هذه الخطوات لحل المشكلة.
الخطوة ١: الوصول إلى الخادم محليًا أو عبر TTY
إذا لم يكن SSH يعمل، جرب الوصول إلى الخادم مباشرة أو من خلال جلسة TTY:
- على الجهاز الفعلي، استخدم الواجهة المحلية.
- على الجهاز الظاهري، استخدم واجهة المضيف الرئيسية.
- بالنسبة لأنظمة Linux، انتقل إلى جلسة TTY أخرى باستخدام
Ctrl + Alt + F2
(أوF3
،F4
، إلخ).
الخطوة ٢: التحقق من تحميل النظام
بمجرد تسجيل الدخول، قم بالتحقق من تحميل النظام واستخدام الموارد، والتي ستظهر متوسطات تحميل النظام على مدى ١، ٥، و ١٥ دقيقة. قيمة التحميل الأعلى من عدد أنوية وحدة المعالجة المركزية تشير إلى الطلب العالي.
uptime
بعد ذلك، استخدم top أو htop لمراقبة العمليات في الوقت الحقيقي:
top Or htop
ابحث عن عمليات تستهلك وحدات المعالجة المركزية أو الذاكرة بشكل مفرط.
الخطوة ٣: تحديد وإيقاف العمليات الجارية
لتحديد أكثر العمليات مصادر الموارد، قم بتشغيل:
ps aux --sort=-%cpu | head
يقوم هذا بقائمة أعلى العمليات المستهلكة لوحدة المعالجة المركزية، حيث يمكنك العثور على عملية مشكلة وإنهائها باستخدام:
kill -9 PID
استبدل PID
بمعرف العملية للتطبيق المشكل.
الخطوة ٤: التحقق من سجلات النظام
إذا كان النظام ما زال متجاوبًا، تحقق من السجلات للأخطاء:
sudo tail -f /var/log/syslog Or sudo dmesg | tail
تعرض هذه الأوامر رسائل النظام الأخيرة وسجلات النواة، والتي يمكن أن تساعد في تحديد مشاكل الأجهزة أو البرامج.
الخطوة 5: إعادة التشغيل بأمان باستخدام SysRq
إذا كان النظام متجمداً تماماً، استخدم مجموعة مفاتيح SysRq لإعادة التشغيل بأمان:
echo b > /proc/sysrq-trigger
هذا يؤدي إلى إعادة تشغيل آمنة، مما يضمن سلامة البيانات من خلال مزامنة الأقراص وفصل أنظمة الملفات.
الخاتمة
استكشاف الأخطاء وإصلاحها هو مهارة أساسية لكل مستخدم لنظام لينوكس. سواء كان ذلك لاستعادة الملفات المحذوفة، أو إعادة تعيين كلمات المرور، أو إصلاح أخطاء النظام، فإن معرفة الأوامر الصحيحة يمكن أن توفر الوقت والإحباط.
هل لديك نصائح خاصة بك في استكشاف الأخطاء وإصلاحها؟ شاركها في التعليقات! دعونا نبني مجتمع لينوكس مفيد معاً.