Contents

Zit je zonder schijfruimte op Linux? Controleer je logboeken!

⭐ Waarom nemen logboeken zoveel schijfruimte in beslag?

⭐ Uw logboeken vinden

⭐ Hoe Linux logbestanden roteert

⭐ Welke logboeken kunt u veilig verwijderen?

⭐ Hoe u kunt repareren wat uw logbestanden vult

Belangrijkste opmerkingen

Het Linux-besturingssysteem staat erom bekend dat het aanzienlijke hoeveelheden loggegevens genereert, die aanzienlijke opslagcapaciteit op de harde schijf of solid state-schijf kunnen verbruiken.

Het mechanisme van je systeem gebruikt meestal een methode voor het comprimeren van gearchiveerde logs om opslagcapaciteit op je apparaat te besparen.

Door gebruik te maken van het commando journalctl of tail -f kunnen logboekvermeldingen worden doorgenomen en mogelijk verstorende processen worden gelokaliseerd, waardoor problemen efficiënt kunnen worden opgelost.

Ondanks de perceptie van Linux systemen als slank en efficiënt, kunnen gebruikers af en toe gevallen tegenkomen waarbij de beschikbare opslagruimte onverwacht snel uitgeput raakt. Het is essentieel om de hoofdoorzaak van zulke voorvallen te identificeren door de logbestanden van het systeem te onderzoeken. Deze bestanden kunnen waardevolle inzichten verschaffen in mogelijke oorzaken en begeleiding bieden bij het effectief aanpakken ervan.

Waarom nemen logbestanden zoveel schijfruimte in beslag?

Logbestanden spelen een cruciale rol bij het onderhouden van een Linux systeem door inzicht te geven in de werking en problemen op te lossen. Net als de Event Viewer in Windows, bieden Linux log-daemons een manier om systeemactiviteiten te controleren en problemen te diagnosticeren. Het is de moeite waard om op te merken dat logbestanden over het algemeen niet veel opslagruimte in beslag nemen, omdat de meeste distributies mechanismen hebben om hun schijfgebruik te reguleren.

In het verleden bestonden Linux logbestanden meestal uit platte tekstgegevens. Echter, omdat een toenemend aantal prominente distributies is overgestapt op het gebruik van systemd voor het beheren van hun besturingssystemen, bestaan deze logbestanden nu in binaire vorm en worden ze beheerd door journald, dat zelf een systemd service is. Afhankelijk van de specifieke distributie die gebruikt wordt, kan rsyslog of syslog-ng gebruikt worden als alternatieve methode voor het verwerken van deze logboekgegevens.

Om opslagcapaciteit op de harde schijf van een computer te sparen, is het gebruikelijk dat systemen periodiek verouderde logbestanden die niet langer relevant of nodig zijn archiveren en verwijderen. Dit proces omvat het comprimeren en verwijderen van oudere gegevens om ruimte te maken voor recentere informatie die mogelijk van groter belang is.

Er wordt vaak aangenomen dat logbestanden geen significante opslagcapaciteit innemen; een afwijkende bewerking kan echter logboekvermeldingen genereren met een snelheid die het vermogen van het systeem om ze effectief te roteren en beheren te boven gaat.

Als je hebt ontdekt dat je beschikbare schijfruimte onverwacht is afgenomen en je kunt geen recente grote bestandsdownloads aanwijzen als de bron van dit probleem, dan is het mogelijk dat een opeenhoping van gegevens in je Linux systeemlog hiervoor verantwoordelijk is. Om dit probleem op te lossen, moet je de specifieke inhoud van je systeemlogs bepalen die waardevolle opslagruimte verbruikt en de nodige corrigerende maatregelen nemen.

Het commando du dat wordt aangeroepen met de optie -h is een effectieve manier om de hoeveelheid schijfruimte te bepalen die momenteel wordt gebruikt door bestanden en mappen in een bepaalde map of in meerdere mappen op je systeem.

 du -h /var/log 

Je krijgt een opsomming van alle submappen, samen met hun cumulatieve opslagcapaciteit:

/nl/images/du-h-var-log.png

Je logs vinden

Als je een moderne Linux-distributie gebruikt die systemd gebruikt, heb je het hulpprogramma JournalTL (journalt) nodig om loggegevens te onderzoeken. De opslaglocatie van deze logs is afhankelijk van de specifieke besturingssysteemvariant en kan zich bevinden in de map ‘/var/log/journal’ of de map ‘/run/log/journal’, die zich beide meestal onder het rootbestandssysteem bevinden.

/nl/images/journalctl-logs.png

Om de logbestanden via de terminal te openen, voer je “journald” in op de opdrachtprompt. Daarnaast zijn er verschillende handige commandoregelalternatieven beschikbaar voor specifieke doeleinden. Gebruik bijvoorbeeld de optie “-b” om de opstartberichten te bekijken:

 journalctl -b 

Het gebruik van de vlag -f stelt gebruikers in staat om de gelogde berichten van hun systeem op een live, actuele manier te bekijken.

Als uw besturingssysteem een ander initiatiemechanisme gebruikt dan systemd, dan bevinden de logbestanden zich in de map /var/log. Omgekeerd kunnen bepaalde applicaties, zelfs als systemd wordt gebruikt, hun loggegevens in deze map blijven bewaren. De logbestanden zijn onopgesmukte tekstdocumenten en kunnen worden doorgenomen met een conventioneel paginagereedschap, bijvoorbeeld “less”.

Om bijvoorbeeld het systeemlogboek te lezen:

 less /var/log/syslog

De volledige informatie in het logbestand, bestaande uit vele regels die in de duizenden kunnen lopen, wordt weergegeven.

/nl/images/journactl-f.png

Men kan de voortgang ook live bekijken door gebruik te maken van de “-f” modifier van het tail commando, door het juiste commando uit te voeren op de terminal of command prompt.

 tail -f /var/log/syslog

Hoe Linux logbestanden roteert

/nl/images/logrotate-service.png

De aanwezigheid van bestanden in de /var/log directory met labels eindigend op “log.N.gz”, waarin N een rekenkundige waarde voorstelt, geeft de werking van het systeemmechanisme voor het archiveren van verouderde records aan. Gewoonlijk bevatten de meeste besturingssystemen een softwaretoepassing bekend als “logrotate” die deze functie autonoom uitvoert. Logrotate kan geconfigureerd worden om uitgevoerd te worden als een geplande taak, gestart door de cron daemon of getriggerd door middel van een systemd timer.

Logrotate wordt in de meeste distributies op dagelijkse basis geactiveerd, met als primaire functie het comprimeren van gearchiveerde logbestanden door het gebruik van gzip technologie, die kan worden herkend aan de aanwezigheid van “.gz” bestandsextensies toegevoegd aan de gecomprimeerde bestanden. Logrotate gebruikt specifieke drempels zoals leeftijd of bestandsgrootte om te bepalen wanneer compressie moet plaatsvinden, terwijl het ook een extra drempel implementeert voor het verwijderen van verouderde logbestanden uit het systeem.

De standaardinstellingen van logrotate zouden voldoende moeten zijn voor de meeste desktopgebruikers. Echter, degenen die de werking willen aanpassen kunnen dit doen door het configuratiebestand te wijzigen dat zich bevindt op /etc/logrotate.conf in een toezichthoudende hoedanigheid. Daarnaast moet worden overwogen om de cron scheduling of systemd timer configuraties van het systeem aan te passen, wat meestal het werkterrein is van serverbeheerders.

U kunt beter repareren wat uw logs vult dan configuratiebestanden aanpassen om schijfruimte te besparen. Als u absoluut de configuratie moet veranderen, kunt u de logrotate handleidingpagina lezen.

Welke logs kun je veilig verwijderen?

/nl/images/var-log.png

In gevallen waarin het terughalen van extra opslagruimte noodzakelijk is en standaardprocedures zijn uitgeput, kan worden overwogen om logbestanden te verwijderen die zijn gecomprimeerd met gzip, aangeduid met hun bestandsextensie “.gz”. Echter, aangezien deze documenten betrekking hebben op het functioneren van het systeem, moeten ze worden verwijderd onder de autoriteit van een bevoorrechte gebruiker. Het commando “rm” kan hiervoor gebruikt worden, maar vereist beheerdersrechten om het effectief uit te voeren.

 sudo rm /var/syslog/syslog.*gz 

Deze instructie verwijdert alle bestanden met “syslog” in hun naam en eindigend op “.gz”.

Bij het gebruik van het commando sudo om potentieel schadelijke of destructieve bewerkingen uit te voeren, zoals het verwijderen van bestanden met rm , is het van het grootste belang om uiterste voorzichtigheid en zorgvuldigheid te betrachten om onbedoelde gevolgen te voorkomen die het gevolg kunnen zijn van onjuist gebruik.

Het is over het algemeen aan te raden om geen bestanden uit systeemmappen te verwijderen zonder de mogelijke gevolgen goed te overzien, maar het verwijderen van gearchiveerde logbestanden zou geen problemen moeten opleveren zolang ze afwezig zijn. Als er zich echter een probleem voordoet, kan het ophalen van informatie uit eerdere logbestanden nodig zijn om problemen op te lossen.

Hoe te repareren wat uw logbestanden vult

Een effectieve methode voor het bepalen van de inhoud van logbestanden is door gebruik te maken van de commando’s journalctl of tail -f, waarbij u zich vooral richt op terugkerende foutmeldingen die erin kunnen verschijnen.

Om het probleem van onvoldoende schijfruimte op te lossen, is het nodig om het foutieve proces dat verantwoordelijk is voor het verbruik van opslagruimte te identificeren en te beëindigen. In gevallen waarin de bron van het probleem onduidelijk blijft, kan het nuttig zijn om online bronnen te raadplegen of hulp te zoeken bij de ondersteuningskanalen van je besturingssysteem. Zodra de hoofdoorzaak is opgelost, zal het verwijderen van verouderde logbestanden zonder risico extra opslagcapaciteit vrijmaken. Als dit is verholpen, zou je een merkbare toename in beschikbare schijfruimte moeten ervaren.