Εξαντλείται ο χώρος στο δίσκο στο Linux; Ελέγξτε τα αρχεία καταγραφής σας!

Βασικά Takeaways

  • Τα αρχεία καταγραφής συστήματος Linux μπορούν να καταλαμβάνουν σημαντικό χώρο στο δίσκο.
  • Το σύστημά σας θα συμπιέζει κανονικά παλαιότερα αρχεία καταγραφής για εξοικονόμηση χώρου στο δίσκο.
  • Μπορείτε να χρησιμοποιήσετε την εντολή journalctl ή tail -f για να προβάλετε αρχεία καταγραφής και να εντοπίσετε προβληματικές διεργασίες.

Ενώ τα συστήματα Linux έχουν τη φήμη ότι είναι σβέλτα, μπορεί να διαπιστώσετε ότι ξαφνικά εξαντλείται ο χώρος στο δίσκο. Γιατί συνέβη αυτό; Η μεγαλύτερη ένδειξη, και πιθανώς ο μεγαλύτερος ένοχος, θα βρεθεί στα αρχεία καταγραφής του συστήματος Linux.

Γιατί τα αρχεία καταγραφής καταλαμβάνουν τόσο πολύ χώρο στο δίσκο;

Τα αρχεία καταγραφής αποτελούν σημαντικό μέρος της διαχείρισης του συστήματος Linux. Μπορείτε να δείτε τι συμβαίνει με το μηχάνημά σας και μπορείτε επίσης να αντιμετωπίσετε προβλήματα που προκύπτουν. Οι δαίμονες καταγραφής Linux είναι παρόμοιοι με το Event Viewer στα Windows. Τα κούτσουρα συνήθως δεν καταλαμβάνουν πολύ χώρο. Αυτό συμβαίνει επειδή οι περισσότερες διανομές θα διαχειρίζονται αυτόματα τον χώρο που καταλαμβάνουν στο δίσκο σας.

Τα αρχεία καταγραφής Linux ήταν ιστορικά αρχεία απλού κειμένου, αλλά με πολλές μεγάλες διανομές να μετακινούνται στο systemd, είναι δυαδικά αρχεία που διαχειρίζονται το journald, μια υπηρεσία systemd. Εναλλακτικά, η διανομή σας θα χρησιμοποιεί είτε rsyslog είτε syslog-ng.

  Πώς να κάνετε ροή βίντεο σε Chromecast σε Linux μέσω της γραμμής εντολών

Επειδή τα παλιά αρχεία καταγραφής δεν είναι σχετικά και τα μεγάλα αρχεία μπορεί να καταλαμβάνουν χώρο, το σύστημά σας συνήθως τα «περιστρέφει»—αρχειοθέτηση, συμπίεση και, τελικά, διαγραφή—για εξοικονόμηση χώρου στο δίσκο για το υλικό που πραγματικά θέλετε.

Αν και μπορεί να μην πιστεύετε ότι τα αρχεία καταγραφής θα καταλάμβαναν πολύ χώρο, μια δυσλειτουργική διαδικασία μπορεί να γεμίσει τα αρχεία καταγραφής σας πιο γρήγορα από ό,τι το σύστημα μπορεί να τα περιστρέψει.

Εάν ελέγξετε τον χώρο στο δίσκο σας και ξαφνικά εξαντληθεί και ξέρετε ότι δεν έχετε κατεβάσει μεγάλα αρχεία πρόσφατα, η αιτία μπορεί να είναι ένα πρόβλημα με τα αρχεία καταγραφής του συστήματος Linux. Θα πρέπει να μάθετε τι γεμίζει τα αρχεία καταγραφής του συστήματός σας και να το διορθώσετε.

Μπορείτε να ελέγξετε πόσο χώρο στο δίσκο χρησιμοποιείτε με την εντολή du -h:

 du -h /var/log 

Θα δείτε μια λίστα με κάθε υποκατάλογο, μαζί με τον συνολικό χώρο που καταλαμβάνει:

Εύρεση των αρχείων καταγραφής σας

Εάν χρησιμοποιείτε μια σύγχρονη διανομή Linux με το systemd, θα χρησιμοποιήσετε το πρόγραμμα journalctl για να δείτε τα αρχεία καταγραφής σας. Το journald συνήθως αποθηκεύει αρχεία καταγραφής στους καταλόγους /var/log/journal ή /run/log/journal, ανάλογα με τη διανομή.

Για να προβάλετε τα αρχεία καταγραφής, πληκτρολογήστε την εντολή journald στη γραμμή εντολών του φλοιού. Υπάρχουν άλλες χρήσιμες επιλογές γραμμής εντολών. Για να προβάλετε τα μηνύματα εκκίνησης, χρησιμοποιήστε την επιλογή -b:

 journalctl -b 

Μπορείτε να δείτε τα μηνύματα καταγραφής του συστήματός σας σε πραγματικό χρόνο με την επιλογή -f.

  Πώς να εγκαταστήσετε το Krita σε Linux

Εάν η διανομή σας δεν χρησιμοποιεί systemd, θα βρείτε τα αρχεία καταγραφής στον κατάλογο /var/log. Ακόμη και με το systemd, ορισμένα προγράμματα εξακολουθούν να αποθηκεύουν τα αρχεία καταγραφής τους σε αυτόν τον κατάλογο. Αυτά είναι συνηθισμένα αρχεία κειμένου που μπορείτε να εξετάσετε με ένα βοηθητικό πρόγραμμα όπως ένας τηλεειδοποιητής, όπως το λιγότερο.

Για παράδειγμα, για να διαβάσετε το αρχείο καταγραφής συστήματος:

 less /var/log/syslog

Θα δείτε τα πλήρη περιεχόμενα του αρχείου καταγραφής που μπορεί να περιέχει χιλιάδες γραμμές:

Μπορείτε επίσης να το παρακολουθείτε σε πραγματικό χρόνο με την επιλογή -f της εντολής ουράς:

 tail -f /var/log/syslog

Πώς το Linux περιστρέφει τα αρχεία καταγραφής

Στον κατάλογο /var/log, ενδέχεται να παρατηρήσετε αρχεία με ονόματα που τελειώνουν σε “log.N.gz”, όπου το N είναι ένας αριθμός. Αυτό είναι το αποτέλεσμα της περιστροφής του συστήματος παλαιότερων αρχείων καταγραφής. Οι περισσότερες διανομές έχουν ένα βοηθητικό πρόγραμμα που θα το κάνει αυτόματα, που ονομάζεται “logrotate”. Το logrotate ρυθμίζεται συνήθως για να εκτελείται ως εργασία cron ή χρονόμετρο συστήματος.

Από προεπιλογή, οι περισσότερες διανομές θα εκτελούνται logrotate καθημερινά. Το logrotate συμπιέζει παλαιότερα αρχεία καταγραφής χρησιμοποιώντας gzip, όπως αποδεικνύεται από τις επεκτάσεις αρχείων “.gz”. Χρησιμοποιεί ένα όριο, όπως ηλικία ή μέγεθος αρχείου, για να το κάνει αυτό, και ένα άλλο όριο για να διαγράψει τελικά παλιά αρχεία καταγραφής.

Οι προεπιλεγμένες επιλογές για logrotate είναι επαρκείς για τους περισσότερους χρήστες επιτραπέζιων υπολογιστών. Μπορείτε να τροποποιήσετε τη συμπεριφορά του logrorate επεξεργάζοντας το αρχείο /etc/logrotate.conf ως υπερχρήστη, καθώς και με την επεξεργασία των αρχείων cron ή systemd timer του συστήματός σας, αλλά αυτές οι λειτουργίες αφορούν πραγματικά μόνο τους διαχειριστές διακομιστή.

  Πώς να εγκαταστήσετε το πρόγραμμα περιήγησης Otter σε Linux

Καλύτερα να διορθώσετε τι γεμίζει τα αρχεία καταγραφής σας παρά να τροποποιήσετε τα αρχεία διαμόρφωσης για να εξοικονομήσετε χώρο στο δίσκο. Εάν πρέπει οπωσδήποτε να αλλάξετε τη διαμόρφωση, μπορείτε να διαβάσετε το σελίδα εγχειριδίου logrotate.

Ποια αρχεία καταγραφής είναι ασφαλή για διαγραφή;

Εάν όλα τα άλλα αποτύχουν και θέλετε απεγνωσμένα να ελευθερώσετε χώρο στο δίσκο, μπορείτε να διαγράψετε με μη αυτόματο τρόπο τα αρχειοθετημένα αρχεία καταγραφής που τελειώνουν σε “.gz” πριν το κάνει το logrotate. Μπορείτε να χρησιμοποιήσετε το rm, αλλά θα πρέπει να το εκτελέσετε ως υπερχρήστης, καθώς αυτά τα αρχεία ανήκουν στο σύστημα:

 sudo rm /var/syslog/syslog.*gz 

Αυτή η εντολή θα διαγράψει όλα τα αρχεία που περιέχουν “syslog”. και τελειώνει με “gz”.

Να είστε πάντα πολύ προσεκτικοί όταν εκτελείτε εντολές μέσω sudo, ειδικά καταστροφικές εντολές όπως το rm!

Κανονικά δεν θα πρέπει να διαγράφετε αρχεία στους καταλόγους συστήματος χωρίς να κατανοείτε πλήρως τις συνέπειες, αλλά τα αρχειοθετημένα αρχεία καταγραφής δεν θα δημιουργήσουν κανένα πρόβλημα εάν λείπουν. Ωστόσο, εάν αντιμετωπίζετε κάποιο πρόβλημα, ίσως χρειαστεί να ανατρέξετε σε παλαιότερα αρχεία καταγραφής.

Πώς να διορθώσετε τι γεμίζει τα αρχεία καταγραφής σας

Ο καλύτερος τρόπος για να μάθετε τι γεμίζει τα αρχεία καταγραφής σας είναι να ακολουθήσετε τα αρχεία καταγραφής με τις επιλογές journalctl ή tail -f. Το καλύτερο στοίχημά σας είναι να επαναλάβετε μηνύματα λάθους.

Θα πρέπει να αντιμετωπίσετε την προσβλητική διαδικασία για να εξοικονομήσετε χώρο στο δίσκο. Εάν δεν γνωρίζετε τι προκαλεί το σφάλμα, μπορείτε να κάνετε αναζήτηση στον ιστό ή να ζητήσετε βοήθεια στα κανάλια υποστήριξης της διανομής σας. Όταν τελικά το διορθώσετε, μπορείτε να διαγράψετε τα παλαιότερα αρχεία καταγραφής με ασφάλεια. Θα πρέπει να έχετε πολύ περισσότερο χώρο στο δίσκο τώρα.