![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
Heike Jurzik
Meldungen des Kernels, das An- und Abmelden von Benutzern, Netzwerkvorgänge und vieles mehr protokolliert das Linux-System akribisch in den so genannten Log-Dateien. Der Protokollführer heißt syslogd (unter Suse Linux syslog-ng = "Syslog New Generation"); es handelt sich um einen Daemon, der schon beim Booten des Rechners seinen Dienst aufnimmt. Sämtliche Log-Dateien liegen im Ordner /var/log/ und dessen Unterverzeichnissen (Abbildung 1).
Abgesehen von wenigen Ausnahmen sind die meisten dieser Protokolldateien vor neugierigen Augen geschützt und lediglich für den Systemverwalter lesbar. Um die Dateien zu betrachten, verwenden Sie beispielsweise KDEs Datei-Manager Konqueror im Systemverwaltungsmodus. Starten Sie diesen über Eingabe von kdesu konqueror in ein mit [Alt-F2] geöffnetes Schnellstartfenster und geben Sie auf Aufforderung das Root-Passwort an. Da die Logfiles reine Textdateien sind, können Sie den Inhalt z. B. mit einem Text-Editor betrachten. Dieses Vorgehen ist jedoch relativ mühsam, und es kann einige Zeit dauern, bis Sie auf diese Weise gesuchte Informationen finden. Die folgenden Abschnitte zeigen daher alternative Wege auf der Kommandozeile und geben Tipps zur Fehlersuche.
Eine der wichtigsten Log-Dateien, sozusagen die erste Anlaufstelle, falls es irgendwo hakt, ist die Datei /var/log/messages. Hier landen bei den meisten Distributionen Meldungen zur Netzwerkverbindung, zum Starten und Beenden von Diensten, Informationen zu Hardware-Treibern, zur Benutzer-Authentifizierung und vieles mehr.
Informationen zum Drucksystem hingegen landen bei den meisten Distributionen im Ordner /var/log/cups/: In den dort liegenden Logfiles finden Sie eventuelle Fehlermeldungen, Zugriffe auf konfigurierte Geräte und vieles mehr.
Alle von EasyLinux unterstützten Distributionen setzen auf X.org als X-Server. Sollte der Bildschirm schwarz bleiben, die Maus nicht richtig funktionieren oder die 3D-Beschleunigung der Grafikkarte nicht laufen, ist ein Blick in /var/log/Xorg.0.log fällig. Wer in Foren oder Mailinglisten nach Hilfestellung sucht, kommt schneller ans Ziel, wenn die entsprechenden Abschnitte der Log-Dateien bekannt sind.
Versucht jemand, Administratorrechte zu erlangen -- sei es über Eingabe von su in ein Terminal-Fenster oder beim Start eines distributionseigenen Einrichtungswerkzeugs --, landen Informationen über diesen Vorgang in /var/log/messages (auf einigen Systemen in /var/log/auth). Neben Datum und Uhrzeit erfahren Sie hier, welcher Benutzer das Kommando initiiert hat und ob er erfolgreich war. Während Suse Linux nur Auskunft über Erfolg oder Misserfolg gibt, verrät Mandriva Linux darüber hinaus, welches Programm Root-Rechte verlangt. Das Listing "Root-Rechte verweigert" zeigt entsprechende Meldungen auf einem Suse- und Mandriva-Linux-System.
| Root-Rechte verweigert |
# Erfolgloser Versuch des Benutzers suse93, Root-Rechte auf einem #Suse-Linux-System zu erlangen: Mar 27 14:30:51 transpluto su: FAILED SU (to root) suse93 on /dev/pts/6 #Start des Mandriva-Kontrollzentrums mit anschließender Falscheingabe #des Root-Kennworts: Mar 27 18:11:41 localhost drakconf.real[4395]: ### Program is starting ### Mar 27 18:11:47 localhost su(pam_unix)[4404]: authentication failure; logname= uid=500 euid=0 tty= ruser=mandriva2006 rhost= user=root |
Ebenso leicht sind Aktivitäten eines DHCP-Clients zu erkennen, wenn Ihr Rechner seine IP-Adresse von einem DHCP-Server bezieht. Dass der eigene Rechner einen Server nach einer IP-Adresse fragt und diese anschließend erhält, sowie die Angaben, wie lange diese gültig ist, verraten Zeilen wie die folgenden:
Mar 27 19:18:45 localhost dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 Mar 27 19:18:45 localhost dhclient: DHCPACK from 192.168.2.15 Mar 27 19:18:46 localhost dhclient: bound to 192.168.2.237 -- renewal in 235 seconds.
Bauen Sie vom Rechner direkt eine Internet-Verbindung per Modem, ISDN oder DSL auf, sehen Sie in /var/log/messages, ob alles geklappt hat, da die Einwahlprogramme pppd (Modem und DSL) bzw. ipppd (ISDN) hier Ihre Statusmeldungen verewigen, z. B.:
Mar 25 22:14:19 asteroid pppd[1432]: local IP address 195.14.222.177
Gerade bei aktuellen Anlässen lohnt sich ein Blick auf die letzten Zeilen einer Log-Datei. Wer nicht das gesamte File in einem Text-Editor öffnen und bis ganz ans Ende blättern möchte, nimmt auf der Kommandozeile das Programm tail zur Hilfe. Öffnen Sie ein Terminal-Fenster (z. B. indem Sie konsole in ein mit [Alt-F2] geöffnetes Schnellstartfenster eintippen) und werden Sie darin mit dem Befehl
su -
und Eingabe des Administratorkennworts zum Systemverwalter. Rufen Sie nun tail zusammen mit der entsprechenden Log-Datei auf, zeigt das Programm die letzten zehn Zeilen (Abbildung 2) an. Sollen es etwas mehr sein, übergeben Sie dem Tool zusammen mit der Option -n eine andere Nummer, z. B.:
tail -n 20 /var/log/messages
Erhalten Sie hingegen Fehlermeldungen wie
Mar 27 15:43:21 transpluto kernel: usb.c: USB device 10 (vend/prod0x82d/0x200) is not claimed by any active driver. Mar 27 15:43:25 transpluto /etc/hotplug/usb.agent: ... no modules for USB product 82d/200/100
können Sie davon ausgehen, dass das entsprechende Gerät nicht erkannt und unterstützt wird.
Das Programm tail bringt ein praktisches Feature mit: Mit der Option -f schalten Sie in einen "Endlosmodus"; tail aktualisiert dann die Anzeige von Dateien, die sich verändern. Wollen Sie /var/log/messages immer im Blick haben und auf dem aktuellsten Stand sein, geben Sie
tail -f /var/log/messages
ein und beobachten eine fortlaufende Anzeige. Um die Anzeige zu beenden, drücken Sie [Strg-C].
In Zusammenarbeit mit einem weiteren Kommandozeilen-Tool durchforsten Sie die tail-Ausgabe gezielt nach Schlüsselwörtern und finden entsprechende Meldungen noch viel schneller: Das Programm grep [1] durchsucht Zeichenketten nach Mustern. Wer in den letzten 100 Zeilen des Logfiles /var/log/messages nach "USB" respektive "usb" sucht, erledigt das mit einem einzigen Kommando:
tail -n 100 /var/log/messages | grep -i usb
Die Ausgabe von tail leiten Sie durch das Pipe-Zeichen "|" (das Sie über [AltGr-<] eingeben) an den Befehl grep weiter; dessen Parameter -i sorgt dafür, dass er Groß- und Kleinschreibung nicht unterscheidet, im Beispiel also neben "usb" auch "USB", "usB" usw. findet. (hge)
| Infos |
|
[1] grep-Artikel: Elisabeth Bauer, "Textfischer -- Textdateien durchsuchen mit grep", EasyLinux 10/2003, S. 74 ff., http://www.easylinux.de/2003/10/074-grep/
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.
Druckerfreundliche Version |
Feedback zu dieser Seite |
Datenschutz |
© 2012 Linux New Media AG |
Last modified: 2007-04-05 11:24
[Linux-Magazin]
[LinuxUser]
[Linux-Community]
[Admin-Magazin]
[Ubuntu User]
[Smart Developer]
[Linux Events]
[Linux Magazine]
[Ubuntu User]
[Admin Magazine]
[Smart Developer]
[Linux Magazine Poland]
[Linux Community Poland]
[Linux Magazine Brasil]
[Linux Magazine Spain]
[Linux Technical Review]