Tartalomjegyzék
Kulcs elvitelek
- A Linux rendszernaplói jelentős lemezterületet foglalhatnak el.
- A rendszer általában tömöríti a régebbi naplófájlokat a lemezterület megtakarítása érdekében.
- Használhatja a journalctl vagy a tail -f parancsot a naplók megtekintéséhez és a problémás folyamatok azonosításához.
Míg a Linux rendszerekről híresek, hogy karcsúak, előfordulhat, hogy hirtelen fogy a lemezterület. Miért történt ez? A legnagyobb nyom, és talán a legnagyobb bűnös is, a Linux rendszernaplóiban található.
Miért foglalnak el olyan sok helyet a naplók?
A naplók fontos részét képezik a Linux rendszer kezelésének. Láthatja, mi történik a gépével, és elháríthatja a felmerülő problémákat is. A Linux naplózó démonjai hasonlóak a Windows Event Viewerhez. A rönkök általában nem foglalnak sok helyet. Ennek az az oka, hogy a legtöbb disztribúció automatikusan kezeli, hogy mennyi helyet foglalnak el a lemezen.
A Linux-naplók történelmileg sima szöveges fájlok voltak, de mivel sok nagyobb disztribúció a systemd-re költözött, ezek bináris fájlok, amelyeket a Journald, egy systemd szolgáltatás kezel. Alternatív megoldásként a disztribúció az rsyslog-t vagy a syslog-ng-t használja.
Mivel a régi naplók nem relevánsak, és a nagy archívumok helyet is foglalhatnak, a rendszer általában „forgatja” őket – archiválja, tömöríti és végül törli –, hogy lemezterületet takarítson meg a ténylegesen kívánt dolgok számára.
Bár nem gondolná, hogy a naplók sok helyet foglalnának el, egy hibásan működő folyamat gyorsabban feltöltheti a naplókat, mint ahogy a rendszer elforgatná azokat.
Ha ellenőrzi a lemezterületet, és azt tapasztalja, hogy hirtelen kifogy, és tudja, hogy mostanában nem töltött le nagy fájlokat, az ok lehet a Linux rendszernaplóival kapcsolatos probléma. Meg kell találnia, hogy mi tölti ki a rendszernaplóit, és meg kell javítania.
A du -h paranccsal ellenőrizheti, hogy mennyi lemezterületet használ:
du -h /var/log
Megjelenik az egyes alkönyvtárak listája, valamint az általuk elfoglalt teljes hely mennyisége:
A naplók megkeresése
Ha modern Linux disztrót használ a systemd-vel, akkor a journalctl programot fogja használni a naplók megtekintéséhez; A naplód általában a /var/log/journal vagy a /run/log/journal könyvtárban tárolja a naplókat, a disztribúciótól függően.
A naplók megtekintéséhez írja be a naplózó parancsot a shell promptba. Vannak más hasznos parancssori lehetőségek is. A rendszerindítási üzenetek megtekintéséhez használja a -b kapcsolót:
journalctl -b
A rendszer naplóüzeneteit valós időben tekintheti meg az -f kapcsolóval.
Ha a disztribúciója nem használja a systemd-t, a naplókat a /var/log könyvtárban találja. Néhány program még a systemd esetén is ebben a könyvtárban tárolja naplóit. Ezek közönséges szöveges fájlok, amelyeket olyan segédprogrammal, például lapozóval is megvizsgálhat, mint például a less.
Például a rendszernapló elolvasásához:
less /var/log/syslog
Látni fogja a naplófájl teljes tartalmát, amely több ezer sort is tartalmazhat:
Valós időben is figyelemmel kísérheti a tail parancs -f kapcsolójával:
tail -f /var/log/syslog
Hogyan forgatja a Linux a naplófájlokat
A /var/log könyvtárban „log.N.gz”-re végződő nevű fájlokat láthat, ahol N egy szám. Ez annak az eredménye, hogy a rendszer forgatja a régebbi naplókat. A legtöbb disztribúciónak van egy „logrotate” nevű segédprogramja, amely ezt automatikusan megteszi. A logrotate rendszerint cron jobként vagy systemd időzítőként fut.
Alapértelmezés szerint a legtöbb disztribúció naponta futtatja a logrotate-ot. A logrotate a gzip használatával tömöríti a régebbi naplókat, amint azt a „.gz” fájlkiterjesztés is bizonyítja. Ehhez egy küszöbértéket, például életkort vagy fájlméretet használ, és egy másik küszöbértéket a régi naplófájlok törléséhez.
A logrotate alapértelmezett beállításai a legtöbb asztali felhasználó számára elegendőek. Módosíthatja a logrorate viselkedését az /etc/logrotate.conf fájl szuperfelhasználóként való szerkesztésével, valamint a rendszer cron vagy systemd időzítő fájljainak szerkesztésével, de ezek a műveletek valójában csak a szerveradminisztrátorok számára relevánsak.
Jobb, ha kijavítja azt, ami kitölti a naplókat, mint a konfigurációs fájlok módosítása a lemezterület megtakarítása érdekében. Ha feltétlenül módosítania kell a konfigurációt, akkor elolvashatja a logrotate kézikönyv oldal.
Mely naplók törlése biztonságos?
Ha minden más nem sikerül, és kétségbeesetten szeretne lemezterületet felszabadítani, manuálisan törölheti a „.gz”-re végződő archivált naplófájlokat, mielőtt a logrotate megtenné. Használhatja az rm fájlt, de szuperfelhasználóként kell futtatnia, mivel ezek a fájlok a rendszerhez tartoznak:
sudo rm /var/syslog/syslog.*gz
Ez a parancs törli az összes fájlt, amely tartalmazza a „syslog” kifejezést. és „gz”-re végződik.
Mindig legyen nagyon óvatos, amikor sudo-n keresztül futtat parancsokat, különösen az olyan romboló parancsokat, mint az rm!
Általában nem szabad a rendszerkönyvtárakból törölni anélkül, hogy teljesen megértené a következményeket, de az archivált naplók nem okoznak problémát, ha hiányoznak. Ha mégis problémája van, előfordulhat, hogy régebbi naplókra kell hivatkoznia.
A naplók kitöltésének javítása
A legjobb módja annak, hogy megtudja, mi tölti fel a naplókat, ha követi a naplókat a journalctl vagy a tail -f kapcsolókkal. A legjobb megoldás a hibaüzenetek ismétlése.
A lemezterület megtakarítása érdekében foglalkoznia kell a jogsértő folyamattal. Ha nem tudja, mi okozza a hibát, kereshet az interneten, vagy kérhet segítséget disztribúciója támogatási csatornáin. Ha végre kijavította, biztonságosan törölheti a régebbi naplókat. Most sokkal több lemezterületnek kell lennie.