AB 10 — Linux-Kommandos vertieft
Logging – Theorie
Herkunft
Ein Logbuch ist eine in der Seefahrt übliche Form der Aufzeichnung und Archivierung der mithilfe des Logs gemessenen Fahrgeschwindigkeit, der zurückgelegten Fahrstrecke sowie von täglichen Ereignissen und Vorgängen ähnlich einem Tagebuch oder Protokoll. Wie diese ist es chronologisch aufgebaut und nicht zur Veröffentlichung bestimmt. Im Gegensatz zu einem Tagebuch dient ein Logbuch grundsätzlich als Beweismittel.
Die Weiterentwicklung eines solchen Log Buchs ist z.B. der Flugschreiber (auch Blackbox genannt) welcher in Flugzeugen alle Informationen und Kommunikationen aufzeichnet. Im Falle eines Absturzes kann so nach der Bergung des Flugschreibers die Ursache des Absturzes rekonstruiert werden.
Logging in der Informatik
Genau wie bei Schiffen und Flugzeugen erleidet beinahe jedes System irgendwann einen Systemfehler, sei er durch unsachgemäße Benutzung von Befehlen oder auch durch fehlerhafte Software oder Hardware hervorgerufen. In so einem Fall sind die Logdateien zumeist die erste Anlaufstelle um das Problem zu lokalisieren und so zu lösen, doch der Umgang mit diesen Dateien sollte geübt sein!
Logging in Linux
Die bis zu mehreren Megabytes großen Logdateien des Ubuntu-Systems sammeln sich in dem Verzeichnis: /var/log an. Bei diesen Logdateien handelt es sich um Textdateien die mit einem normalen Editor aufrufbar sind. In diesen protokolliert das System alle Aktionen und Eingaben um im Fehlerfall die Ursache rekonstruieren zu können.
Aktualisierte /var/log Tabelle (Stand 2025)
Logdatei / OrdnerBeschreibung (aktuell)Hinweise / Besonderheiten/var/log/auth.logAlle Login-Versuche, sudo, sshd, PAM-EventsSehr wichtig für Security und Forensics/var/log/syslogAllgemeine Systemmeldungen, viele Dienste schreiben hier hineinAuf RHEL/Fedora weniger genutzt → journald/var/log/kern.logKernel-MeldungenOft durch journalctl -k ersetzt/var/log/messagesAllgemeine SystemmeldungenWird auf Debian/Ubuntu seltener genutzt; journald übernimmt oft/var/log/dmesgKernel-Ringpuffer, Boot-MeldungenEntspricht journalctl -k, aber persistent/var/log/apt/Paketinstallationen, Updates (history.log)Zentral für Paketverwaltung/var/log/dpkg.logDetaillierte dpkg-OperationenZeigt jede Paketaktion einzeln/var/log/apache2/Access- und Error-LogsAlternativ: /var/log/nginx//var/log/mysql/ oder /var/log/mariadb/Error-Logs, Slow-Query-LogsOft zusätzlich über journalctl sichtbar/var/log/boot.logBoot-Meldungen und Dienste während des SystemstartsErgänzt journalctl -b/var/log/faillogFehlgeschlagene Login-VersucheErgänzt auth.log/var/log/lastlogLetzte erfolgreiche LoginsWird mit lastlog angezeigt/var/log/wtmpAlle Logins & LogoutsLesbar mit last/var/log/btmpFehlgeschlagene LoginsLesbar mit last -f /var/log/btmp/var/log/mail/Mailserver-Logs (Postfix, Exim…)Auf Desktop-Systemen oft leer/var/log/Xorg.0.logX-Server LogsWayland ersetzt X11 zunehmend/var/log/acpidACPI EreignisseModerne Systeme nutzen systemd-logind/var/log/journal/Binäre systemd-JournaldatenZentraler Speicherort für journalctlWichtigste Logs für Fehleranalyse
BereichRelevante LogsAuthentifizierung / Sicherheitauth.log, faillog, btmp, wtmpSystemd / Dienstesyslog, journalctl -u <service>Kernel / Hardwarekern.log, dmesg, journalctl -kPaketmanagementapt/history.log, dpkg.logNetzwerksyslog, journalctl -u NetworkManagerWebserverapache2/*, nginx/*Datenbankenmysql/error.log, journalctl -u mysqlAlle diese Log Dateien sind nur einfache Textdateien und können deswegen mit jedem Editor betrachtet werden. Da es sich meistens um große Textdateien handelt, gibt es allerdings spezielle Befehle die das betrachten vereinfachen wie z.B.:
head
tail
less