.shock - stock.adobe.com

Ihr Server will nicht so wie Sie? So finden Sie Linux-Fehler

Linux-Server laufen in der Regel stabil. Treten dennoch Fehler auf, müssen Sie dies als Administrator möglichst schnell finden und beheben. Wir erklären, wie das geht.

Linux-Server laufen in der Regel stabil. Treten dennoch Fehler auf, müssen Sie dies als Administrator möglichst schnell finden und beheben, um den Betrieb im Unternehmen weiter aufrecht zu erhalten. Wir erklären, wie das geht.

Wen Sie nicht wissen, wo Sie dabei anfangen sollen, ist es zuerst sinnvoll, sich die Hardware genauer anzuschauen. Dazu verwenden Sie in Linux das Terminal. Dieses finden Sie in den meisten Distributionen, indem Sie die Tastenkombination STRG, ALT und ENTF drücken.

Der erste Schritt bei der Fehlerbehebung ist es, sich erst einmal einen Überblick über die wichtigsten Informationen zu schaffen, um den Fehler einzugrenzen. Finden Sie in einem ersten Schritt heraus, welche Benutzer in Ihrem System angelegt sind. Dazu geben Sie den Befehl who ein. Aktuelle Rechte Ihrer Benutzer, zum Beispiel Root-Rechte, lassen Sie sich mit whoami anzeigen. Wann sich Benutzer das letzte Mal angemeldet haben, finden Sie mit lastlog heraus. Die installierte Linux-Distribution und deren Version zeigt das Terminal mit cat /etc/*release an.

Abbildung 1: Das Terminal gibt die Linux-Distribution aus.
Abbildung 1: Das Terminal gibt die Linux-Distribution aus.

Eine weitere wichtige Information ist das Datum des letzten Starts Ihres Servers und wie lange er schon läuft. Um das zu prüfen, geben Sie last reboot ein. In mancherlei Hinsicht ähneln Sich alle Betriebssysteme: Starten Sie den Computer als allererstes mit dem Befehl reboot neu.

Hardware, Servername und IP-Adresse für das Troubleshooting auslesen

Mit sudo dmidecode --type memory lesen Sie die Hardwareinformationen aus dem BIOS/UEFI aus. Auf diesem Wege können Sie Fehler in der Hardware finden. Für die Suche nach dem Namen des Servers und dessen IP-Adresse verwenden Sie die Befehle hostname und ip addr show oder ip a.

Bei Netzwerkproblemen überprüfen Sie mit ping oder nslookup, ob die Namensauflösung funktioniert und ob Sie andere Computer im Netzwerk anpingen können. Die Namensauflösung testen Sie mit dig parallel zu nslookup.

Um die externe IP-Adresse im Internet eines Computers anzuzeigen, geben Sie curl ifconfig.me ein. Routen lassen sich wiederum mit traceroute überprüfen. Dadurch holen Sie mit wenigen Befehlen umfassende Informationen ein, um Fehler auf Servern zu finden und zu beheben, wenn sie vom Netzwerk ausgehen.

Abbildung 2: Lesen Sie im Linux-Terminal Informationen aus dem UEFI aus.
Abbildung 2: Lesen Sie im Linux-Terminal Informationen aus dem UEFI aus.

Auch die Routen auf einem Rechner spielen eine wichtige Rolle für das Funktionieren Ihres Systems. Sie rufen diese im Terminal mit route ab. Die Netzwerkverbindungen sind wiederum mit netstat zu finden.

Eine wichtige Information zur Fehlerbehebung von Netzwerkproblemen ist außerdem der Status der Firewall auf einem Server. Die Informationen rufen Sie mit systemctl status firewalld oder auf Ubuntu mit ufw status ab.

Fehler auf Datenträger und im Arbeitsspeicher identifizieren

Um Fehler auf Datenträgern zu identifizieren, helfen weitere Werkzeuge. Dazu gehört zum Beispiel df -h. Weitere Informationen zum freien Speicher finden Sie mit df -kh.

Freien Arbeitsspeicher rufen Sie mit free ab. Hier erkennen Sie schnell Fehler, die durch eine Überlastung der Hardware entstehen. Wenn Sie wissen möchten, wie viel Speicher verschiedene Verzeichnisse belegen, geben Sie du ein. Das Dateisystem überprüfen Sie mit fsck. Die Typen der Dateisysteme sowie die Menge des belegten Speicherplatzes finden Sie mit sudo df -hat.

Wenn Sie eventuelle Fehler auf Datenträgern aufspüren möchten, verwenden Sie das Tool iostat. Der Befehl ist Teil der Sammlung der erweiterten Systemüberwachungswerkzeuge sysstat. Er erstellt Berichte über CPU-Statistiken und E/A-Statistiken (Eingabe/Ausgabe) für Blockspeichergeräte, Partitionen und Netzwerkdateisysteme:

iostat -xz 1

Abbildung 3: So sieht die Ausgabe mit iosstat in Linux aus.
Abbildung 3: So sieht die Ausgabe mit iosstat in Linux aus.

SMART-Informationen in Linux auslesen

Mit den Smartmontools bekommen Sie Einsichten in SMART-Informationen von Datenträgern. Installieren Sie das Werkzeug mit sudo apt-get install smartmontools. Ob eine Festplatte SMART unterstützt, finden Sie zum Beispiel mit sudo smartctl --info /dev/sda heraus. Es kommt vor, dass ein Datenträger zwar SMART unterstützt, die Funktion aber nicht aktiviert ist.

Für die Fehlerbehebung auf Datenträgern ist das sinnvoll. Sie aktvieren die Funktion mit sudo smartctl --smart=on /dev/sda. Den SMART-Status finden Sie mit sudo smartctl -t long /dev/sda. Kürzere Informationen erhalten Sie mit dem Befehl sudo smartctl -t short /dev/sda.

Prozesse im Griff behalten

Die Verwaltung von Prozessen spielt beim Troubleshooting eine besonders wichtige Rolle. Beenden lassen sich Prozesse mit kill. Die laufenden Prozesse können sie mit top oder besser mit htop einsehen. Die Installation von htop stoßen Sie mit sudo apt install htop an.

Abbildung 4: Hier sehen Sie Prozessinformationen im Terminal von Linux.
Abbildung 4: Hier sehen Sie Prozessinformationen im Terminal von Linux.

Prozesse können Sie auch als Baumstruktur über pstree darstellen lassen. Mit den genannten Befehlen bekommen Sie schnell ein Überblick zu den laufenden Prozessen und deren Auslastung.

Ob ein bestimmtes Programm oder ein Prozess läuft, überprüfen Sie mit dem folgenden Befehl:

sudo ps -ef | grep apache2

sudo netstat -plunt | grep apache2

Wenn ein Dienst, wie zum Beispiel Apache, nicht läuft, starten Sie ihn im Terminal neu mit: sudo service apache2 start. Um zu überprüfen, ob Dienste laufen und gestartet sind, können Sie auch systemctl status sshd verwenden. Dieser Befehl zeigt an, ob SSH (Secure Shell) auf dem Computer aktiv ist. SSH eignet sich für das Troubleshooting ideal, da Sie damit im Netzwerk auf Servern Fehler suchen oder Verwaltungsaufgaben durchführen können. Die Installation von SSH auf einem Ubuntu-Server erfolgt zum Beispiel mit:

sudo apt-get install openssh-server

Abbildung 5: Installieren und überprüfen Sie SSH auf einem Server.
Abbildung 5: Installieren und überprüfen Sie SSH auf einem Server.

Protokolle auslesen und Kernelmeldungen einsehen

Für das Troubleshooting spielen natürlich auch die Protokolle des Servers eine Rolle, die sich normalerweise im Verzeichnis /var/log befinden. ls -l /var/log zeigt die einzelnen Protokolle an.

Um Kernel-Meldungen anzuzeigen, geben Sie dmesg ein. Eine gute Übersicht der letzten Kernel-Meldungen sind mit dmesg | tail oder dmesg | tail -f /var/log/syslog zu sehen.

Erfahren Sie mehr über Desktop-Management

ComputerWeekly.de
Close