هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام!

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

على الرغم من أنَّ أنظمة Linux تتمتع بسمعة جيدة لكونها سريعة وخفيفة الحجم، فقد تجد أنَّ مساحة القرص الصلب أصبحت مُنخفضة فجأةً. لماذا يحدث هذا على جهازك؟ ستجد أنَّ الدليل الذي يستهلك المساحة الأكبر، وربما الملفات المُتسببة، غالبًا في سجلات نظام Linux.

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

هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام! - لينكس

لماذا تشغل ملفات السجلات مساحة تخزين كبيرة على القرص الصلب؟

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

كانت سجلات Linux تاريخيًا عبارة عن ملفات نصية عادية، ولكن مع انتقال العديد من التوزيعات الرئيسية إلى systemd، أصبحت عبارة عن ملفات ثُنائية تتم إدارتها بواسطة Journald، وهي خدمة systemd. وبدلاً من ذلك، ستستخدم التوزيعة إما rsyslog أو syslog-ng.

نظرًا لأنَّ السجلات القديمة ليست ذات صلة ولأن الأرشيفات الكبيرة يُمكن أن تشغل مساحة، فسيقوم نظامك عادةً “بتدويرها” — أرشفتها وضغطها وحذفها في النهاية — لتوفير مساحة على القرص الصلب للأشياء التي تُريدها بالفعل.

على الرغم من أنك قد لا تعتقد أنَّ السجلات ستشغل مساحة كبيرة، إلا أنَّ أي خلل في العملية يمكن أن يملأ سجلاتك بشكل أسرع من قدرة النظام على تدويرها.

إذا قمت بفحص مساحة القرص الصلب ووجدت أنَّ المساحة التخزينية تنخفض فجأةً، وكنت تعلم أنك لم تقم بتنزيل أي ملفات كبيرة مُؤخرًا، فقد يكون السبب مشكلة في ملفات سجلات نظام Linux. سيتعين عليك معرفة ما يملأ سجلات النظام لديك وإصلاحه.

يُمكنك التحقق من مقدار مساحة القرص التي تستخدمها باستخدام الأمر du -h:

du -h /var/log

سترى قائمة بكل دليل فرعي، بالإضافة إلى إجمالي المساحة التي يشغلها:

هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام! - لينكس

العثور على ملفات السجلات

إذا كنت تستخدم توزيعة Linux حديثة تستند إلى systemd، فسوف تستخدم Journalctl لعرض سجلاتك؛ تقوم Journald عادةً بتخزين السجلات في المجلدات /var/log/journal أو /run/log/journal، اعتمادًا على التوزيعة التي لديك.

هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام! - لينكس

لعرض السجلات، اكتب الأمر Journald في موجه Shell. هناك خيارات أخرى مفيدة لسطر الأوامر. لعرض رسائل التمهيد، استخدم العلامة -b:

journalctl -b

يُمكنك عرض رسائل سجل نظامك في الوقت الفعلي باستخدام العلامة -f.

إذا كانت التوزيعة الخاصة بك لا تستخدم systemd، فستجد السجلات في الدليل /var/log. حتى مع وجود systemd، لا تزال بعض التطبيقات تُخزِّن سجلاتها في هذا الدليل. والتي هي ملفات نصية عادية يمكنك فحصها باستخدام أداة مساعدة مثل call، أو less.

على سبيل المثال، لقراءة سجل النظام:

less /var/log/syslog

سترى المحتويات الكاملة لملف السجل الذي قد يحتوي على آلاف الأسطر:

هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام! - لينكس

يُمكنك أيضًا مراقبته في الوقت الفعلي باستخدام علامة -f الخاص بأمر tail:

tail -f /var/log/syslog

تحقق من كيفية استخدام Diskonaut لإنشاء تصوير مرئي لمساحة القرص على Linux.

كيف يقوم Linux بتدوير ملفات السجل

هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام! - لينكس

في الدليل /var/log، قد تُلاحظ ملفات بأسماء تنتهي بـ “log.N.gz”، حيث N هو رقم. هذا هو نتيجة قيام النظام بتدوير السجلات القديمة. تحتوي معظم التوزيعات على أداة مساعدة تقوم بذلك تلقائيًا، تسمى “logrotate”. عادةً ما يتم إعداد logrotate ليتم تشغيلها كمُهمة cron أو مؤقت systemd.

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

تُعد الخيارات الافتراضية لـ logrotate كافية لمعظم مستخدمي سطح المكتب. يُمكنك تعديل سلوك logrorate عن طريق تعديل الملف /etc/logrotate.conf كمُستخدم روت، بالإضافة إلى تعديل ملفات cron أو ملفات مؤقت systemd الخاصة بنظامك، ولكن هذه العمليات لا تتعلق إلا بمسؤولي الخادم.

من الأفضل إصلاح ما يملأ سجلاتك بدلاً من تعديل ملفات التكوين لتوفير مساحة القرص الصلب. إذا كان يجب عليك تغيير التكوين، فيُمكنك قراءة صفحة دليل logrotate.

ما هي السجلات الآمنة لحذفها؟

هل نفذت مساحة القرص على Linux؟ تحقق من ملفات سجلات النظام! - لينكس

إذا فشل كل شيء آخر وكنت في حاجة ماسة إلى تحرير مساحة تخزين على القرص الصلب، فيُمكنك يدويًا حذف ملفات السجل المؤرشفة التي تنتهي بـ “.gz” قبل أن تفعل logrotate ذلك. يُمكنك استخدام rm، لكنك ستحتاج إلى تشغيله كمُستخدم روت نظرًا لأن هذه الملفات تنتمي إلى النظام:

sudo rm /var/syslog/syslog.*gz

سيؤدي هذا الأمر إلى حذف كافة الملفات التي تحتوي على “syslog”. وتنتهي بـ “gz”.

تحذير: كن حذرًا جدًا دائمًا عند تشغيل الأوامر عبر Sudo، وخاصة الأوامر المُدمرة مثل rm!

لا ينبغي لك عادة حذف الملفات الموجودة في أدلة النظام دون فهم الآثار المترتبة على ذلك بشكل كامل، ولكن السجلات المؤرشفة لن تسبب أي مشاكل إذا كانت مفقودة. إذا كانت لديك مشكلة، فقد تحتاج إلى الرجوع إلى السجلات القديمة. تحقق من مقارنة بين Sudo و Su: ما هو الأمر الذي يجب أن تستخدمه؟

كيفية إصلاح ما يملأ سجلاتك

أفضل طريقة لمعرفة ما يملأ سجلاتك هي متابعة السجلات باستخدام خيارات Journalctl أو tail -f. أفضل رهان هو تكرار رسائل الخطأ.

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

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