Linux

أفضل 3 طرق لإصلاح خطأ “عدم ترك مساحة على الجهاز” في Linux

بالإضافة إلى أننا نخبرك لماذا يحدث هذا

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

الحصول على رسالة “لا يوجد مكان متبقي على خطأ الجهاز” لا يفسر الكثير، خاصة إذا كان محرك الأقراص الخاص بك بعيدًا عن الامتلاء. لماذا تظهر رسالة الخطأ هذه؟ لماذا لا تستطيع إنشاء ملفات جديدة بالرغم من وجود مساحة كافية على القرص؟ والأهم من ذلك، كيف يمكنك إصلاحه؟

جدول المحتويات

    دعونا معرفة ذلك.

    أفضل 3 طرق لإصلاح مشكلة

    هل يحتوي محرك الأقراص الثابتة لديك بالفعل على مساحة كافية؟

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

    هناك أمران في نظام Linux للحصول على معلومات حول مساحة القرص – du وdf. يقوم الأمر du بتقدير استخدام مساحة القرص، بينما يقوم الأمر df بتحليل المساحة الحرة الموجودة على القرص. يمنحك استخدامها مع sudo تقريرًا دقيقًا عن مقدار المساحة المتوفرة فعليًا على القرص.

    1. لنبدأ بالأمر du. يمكن أن تكون مخرجاته طويلة جدًا ومرهقة، لذلك سنستخدم علامتي -s و -h. -s يلخص النتائج، بينما -h يضمن أنها قابلة للقراءة من قبل الإنسان. لذا أدخل الأمر سودو دو -sh / أين / يشير إلى الدليل الأساسي.
    أفضل 3 طرق لإصلاح مشكلة
    1. لا تقلق بشأن جميع الرسائل المرفوضة – فهذه هي الطريقة التي يتم بها البحث عبر جميع الدلائل الفرعية للنظام. اعتمادا على حجم محرك الأقراص، قد تضطر إلى تركه قيد التشغيل لفترة من الوقت، لأنه يمر عبر كل شيء بشكل متكرر.
    أفضل 3 طرق لإصلاح مشكلة
    1. عندما تنتهي du من المسح، ستخرج قائمة بسيطة من الأدلة إلى جانب أحجامها. على سبيل المثال، هذا هو ناتج أمر du المطبق على دليل عادي.
    أفضل 3 طرق لإصلاح مشكلة

    الآن سوف نستخدم df لمعرفة مقدار المساحة الحرة المتوفرة. يعد الأمر df أسهل في الاستخدام لأنه يعرض فقط أنظمة الملفات المثبتة وإحصائيات الاستخدام الخاصة بها. مرة أخرى، سوف نستخدم العلامة -h لجعل المخرجات قابلة للقراءة البشرية.

    سودو دي إف -ح

    أفضل 3 طرق لإصلاح مشكلة

    الفكرة هي حساب نتائج الأمرين du وdf. يشير أي تناقض إلى مساحة القرص غير المتوفرة مجانًا على الرغم من عدم استخدامها بواسطة أي ملفات أو مجلدات.

    لماذا يظهر Linux “لا يوجد مساحة متبقية على الجهاز”؟

    إذا كنت ترى رسالة الخطأ “لا توجد مساحة متبقية على الجهاز” على الرغم من وجود مساحة خالية كافية على القرص لديك، فهذا ليس الجهاز المخطئ. قد يستغرق اكتشاف السبب الدقيق للخطأ بعض الشيء من استكشاف الأخطاء وإصلاحها.

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

    الإصلاح 1: إعادة تشغيل العمليات باستخدام الملفات المحذوفة

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

    1. للعثور على العملية الإشكالية، تحتاج إلى استخدام الأمرين lsof و grep. سيعطيك الأمر lsof قائمة بجميع الملفات المفتوحة المستخدمة من خلال العمليات الجارية، ويمكن لـ grep تضييق نطاق التحديد إلى الملفات المحذوفة. فادخل سودو لسوف / | تم حذف grep حيث / هو الدليل الأساسي و | أنبوب لربط مخرجات lsof بـ grep.
    أفضل 3 طرق لإصلاح مشكلة
    1. يمكنك الآن إعادة تشغيل العملية المتأثرة باستخدام ملف سودو systemctl إعادة تشغيل Service_name الأمر، حيث يكون اسم الخدمة هو اسم الخدمة التي ظهرت في البحث.
    أفضل 3 طرق لإصلاح مشكلة
    1. إذا كانت هناك عمليات متعددة مثل هذه أو كنت لا تريد أن تهتم بالعثور على خدمات معينة، فيمكنك فقط إعادة تعيينها جميعًا باستخدام sudo systemctl daemon-reload يأمر. يؤدي هذا إلى إعادة إنشاء كافة التبعيات، مع مراعاة أي تغييرات في نظام الملفات.
    أفضل 3 طرق لإصلاح مشكلة

    بعد ذلك، يجب أن تكون مساحة التخزين التي تعطلت بسبب العملية متاحة مرة أخرى، مما يسمح لك بكتابة الملفات دون الوقوع في أي أخطاء.

    الإصلاح 2: التحقق من Inodes

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

    يمكنك بسهولة التحقق من توفر inodes باستخدام العلامة -i باستخدام الأمر df. مثله:

    سودو دي إف -i

    أفضل 3 طرق لإصلاح مشكلة

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

    نظرًا لأنه يتم إنشاء inodes فقط عند تهيئة محرك الأقراص لأول مرة، فلا توجد طريقة لإنشاء المزيد من inodes. كل ما يمكنك فعله هو حذف أي ملفات غير ضرورية لتحرير inodes للملفات المستقبلية.

    الإصلاح 3: وضع علامة على الكتل السيئة

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

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

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

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

    sudo fsck -vckk /dev/sda

    أفضل 3 طرق لإصلاح مشكلة

    يؤدي هذا إلى استبدال /dev/sda بمسار محرك الأقراص الذي تريد إصلاحه. سيؤدي هذا تلقائيًا إلى اكتشاف جميع الكتل السيئة الموجودة على محرك الأقراص ووضع علامة عليها على أنها غير قابلة للاستخدام. ومع ذلك، لن يوفر لك أي سعة تخزين إضافية، لذا كن مستعدًا لتنظيف بعض الملفات غير المفيدة لتحرير مساحة على محرك الأقراص.

    ما هي أفضل طريقة لإصلاح خطأ “عدم ترك مساحة على الجهاز”؟

    السبب المعتاد لرؤية خطأ “لا توجد مساحة متبقية على الجهاز” على Ubuntu أو أي توزيعة Linux أخرى هو وجود ملف محذوف لا يزال قيد الاستخدام من خلال عملية قيد التشغيل. يؤدي هذا إلى حجز مساحة التخزين التي كان يشغلها الملف، مما يمنع العمليات الأخرى من كتابة البيانات إلى تلك المساحة.

    يعد إصلاح هذه المشكلة هو الأسهل أيضًا، حيث أن كل ما عليك فعله هو إعادة تشغيل العملية المعنية. ومع ذلك، فإن الأسباب الأخرى للخطأ ليس من السهل حلها.

    سواء كان محرك الأقراص الخاص بك يعاني من كتل بيانات سيئة أو نفاد inodes، فلا توجد طريقة مباشرة لإصلاح هذه المشكلات. يجب عليك حذف الملفات الموجودة لإفساح المجال لكتابة البيانات الجديدة.

    مقالات ذات صلة

    زر الذهاب إلى الأعلى

    أنت تستخدم إضافة Adblock

    برجاء دعمنا عن طريق تعطيل إضافة Adblock