Cuprins
Recomandări cheie
- Jurnalele de sistem Linux pot ocupa o cantitate semnificativă de spațiu pe disc.
- În mod normal, sistemul dumneavoastră va comprima fișierele jurnal mai vechi pentru a economisi spațiu pe disc.
- Puteți utiliza comanda journalctl sau tail -f pentru a vizualiza jurnalele și a identifica procesele problematice.
În timp ce sistemele Linux au reputația de a fi svelte, s-ar putea să descoperiți că rămâneți brusc fără spațiu pe disc. De ce sa întâmplat asta? Cel mai mare indiciu și, probabil, cel mai mare vinovat, va fi găsit în jurnalele de sistem Linux.
De ce jurnalele ocupă atât de mult spațiu pe disc?
Jurnalele sunt o parte importantă a gestionării sistemului dumneavoastră Linux. Puteți vedea ce se întâmplă cu mașina dvs. și, de asemenea, puteți depana problemele care apar. Demonii de înregistrare Linux sunt similare cu Vizualizatorul de evenimente din Windows. În mod normal, jurnalele nu ocupă mult spațiu. Acest lucru se datorează faptului că majoritatea distribuțiilor vor gestiona automat cât spațiu ocupă pe disc.
Jurnalele Linux au fost în trecut fișiere text simplu, dar cu multe distribuții majore mutate în systemd, acestea sunt fișiere binare care sunt gestionate de journald, un serviciu systemd. Alternativ, distribuția dvs. va folosi fie rsyslog, fie syslog-ng.
Deoarece jurnalele vechi nu sunt relevante și arhivele mari pot ocupa spațiu, sistemul dumneavoastră le va „roti” de obicei – le va arhiva, le va comprima și, în cele din urmă, le va șterge – pentru a economisi spațiu pe disc pentru lucrurile pe care le doriți cu adevărat.
Deși s-ar putea să nu credeți că jurnalele ar ocupa mult spațiu, un proces defectuos vă poate umple jurnalele mai repede decât le poate roti sistemul.
Dacă vă verificați spațiul pe disc și vă simțiți că se epuizează brusc și știți că nu ați descărcat niciun fișier mare recent, cauza poate fi o problemă cu jurnalele sistemului dvs. Linux. Va trebui să aflați ce umple jurnalele de sistem și să remediați.
Puteți verifica cât spațiu pe disc folosiți cu comanda du -h:
du -h /var/log
Veți vedea o listă a fiecărui subdirector, împreună cu cantitatea totală de spațiu pe care o ocupă:
Găsirea jurnalelor dvs
Dacă utilizați o distribuție Linux modernă cu systemd, veți folosi programul journalctl pentru a vă vizualiza jurnalele; journald stochează de obicei jurnalele în directoarele /var/log/journal sau /run/log/journal, în funcție de distribuție.
Pentru a vizualiza jurnalele, tastați comanda journald la promptul shell. Există și alte opțiuni utile pentru linia de comandă. Pentru a vizualiza mesajele de boot, utilizați opțiunea -b:
journalctl -b
Puteți vizualiza mesajele de jurnal ale sistemului dvs. în timp real cu opțiunea -f.
Dacă distribuția dvs. nu folosește systemd, veți găsi jurnalele în directorul /var/log. Chiar și cu systemd, unele programe încă își stochează jurnalele în acest director. Acestea sunt fișiere text obișnuite pe care le puteți examina cu un utilitar precum un pager, cum ar fi mai puțin.
De exemplu, pentru a citi jurnalul de sistem:
less /var/log/syslog
Veți vedea conținutul complet al fișierului jurnal, care poate conține mii de rânduri:
De asemenea, îl puteți monitoriza în timp real cu opțiunea -f a comenzii tail:
tail -f /var/log/syslog
Cum rotește Linux fișierele jurnal
În directorul /var/log, puteți observa fișiere cu nume care se termină în „log.N.gz”, unde N este un număr. Acesta este rezultatul rotației sistemului de jurnalele mai vechi. Majoritatea distribuțiilor au un utilitar care va face acest lucru automat, numit „logrotate”. logrotate este de obicei configurat pentru a rula ca un job cron sau un timer systemd.
În mod implicit, majoritatea distribuțiilor vor rula logrotate zilnic. logrotate comprimă jurnalele mai vechi utilizând gzip, așa cum demonstrează extensiile de fișiere „.gz”. Folosește un prag, cum ar fi vârsta sau dimensiunea fișierului, pentru a face acest lucru și un alt prag pentru a șterge în cele din urmă fișierele jurnal vechi.
Opțiunile implicite pentru logrotate sunt suficiente pentru majoritatea utilizatorilor de desktop. Puteți modifica comportamentul logrorate prin editarea fișierului /etc/logrotate.conf ca superutilizator, precum și editarea fișierelor cron sau systemd timer ale sistemului dvs., dar aceste operațiuni sunt cu adevărat relevante doar pentru administratorii de server.
Este mai bine să remediați ceea ce vă umple jurnalele decât să ajustați fișierele de configurare pentru a economisi spațiu pe disc. Dacă trebuie neapărat să schimbați configurația, puteți citi pagina de manual logrotate.
Ce jurnale pot fi șters în siguranță?
Dacă toate celelalte nu reușesc și sunteți disperat să eliberați spațiu pe disc, puteți șterge manual fișierele jurnal arhivate care se termină în „.gz” înainte ca logrotate să o facă. Puteți folosi rm, dar va trebui să îl rulați ca superutilizator, deoarece aceste fișiere aparțin sistemului:
sudo rm /var/syslog/syslog.*gz
Această comandă va șterge toate fișierele care conțin „syslog”. și se termină cu „gz”.
Fiți întotdeauna foarte atent când executați comenzi prin sudo, în special comenzi distructive precum rm!
În mod normal, nu ar trebui să ștergeți fișierele din directoarele de sistem fără a înțelege pe deplin implicațiile, dar jurnalele arhivate nu vor cauza probleme dacă lipsesc. Dacă aveți o problemă, poate fi necesar să vă referiți la jurnalele mai vechi.
Cum să remediați ce vă umple jurnalele
Cel mai bun mod de a afla ce vă umple jurnalele este să urmăriți jurnalele cu opțiunile journalctl sau tail -f. Cel mai bun pariu este să repetați mesajele de eroare.
Va trebui să faceți față procesului ofensator pentru a economisi spațiu pe disc. Dacă nu știți ce cauzează eroarea, puteți căuta pe web sau puteți cere ajutor pe canalele de asistență ale distribuției dvs. Când în sfârșit ați remediat, puteți șterge în siguranță jurnalele mai vechi. Ar trebui să aveți mult mai mult spațiu pe disc acum.