Befehl | Beschreibung | Plattform | Beispiel |
journalctl | Zeigt Protokolleinträge von systemd an. Ermöglicht Filterung nach Diensten, Prioritäten, Zeiträumen usw. | Systemd-basierte Systeme (Ubuntu ab 15.04, RHEL/CentOS 7+) | journalctl -u ssh.service |
dmesg | Zeigt Kernel-Ringpuffer-Nachrichten an, nützlich für Hardware- und Treiberprobleme. | Alle | `dmesg |
tail | Zeigt die letzten Zeilen einer Datei an, häufig verwendet, um laufende Logs zu überwachen. | Alle | tail -f /var/log/syslog |
grep | Durchsucht Dateien oder Ausgaben nach Mustern, hilfreich zum Filtern von Logeinträgen. | Alle | grep error /var/log/syslog |
less | Interaktiver Pager zum Anzeigen von Textdateien, ermöglicht komfortables Navigieren in Logs. | Alle | less /var/log/syslog |
cat | Gibt den Inhalt von Dateien auf der Konsole aus. | Alle | cat /var/log/syslog |
logger | Schreibt Nachrichten in das Systemlog, nützlich für Tests. | Alle | logger „Testmeldung“ |
rsyslog | Ein Daemon zum Verarbeiten von Lognachrichten, konfigurierbar über /etc/rsyslog.conf. | Alle | – |
/var/log/syslog | Enthält allgemeine Systemmeldungen und Fehler (Hauptlogdatei). | Ubuntu/Debian | – |
/var/log/messages | Enthält allgemeine System- und Kernelmeldungen. | RHEL/CentOS | – |
/var/log/auth.log | Protokolliert Authentifizierungsversuche, nützlich für Sicherheitsüberprüfungen. | Ubuntu/Debian | – |
/var/log/secure | Enthält Sicherheits- und Authentifizierungsnachrichten. | RHEL/CentOS | – |
logrotate | Dienstprogramm zum Rotieren, Komprimieren und Löschen alter Logdateien, konfigurierbar über /etc/logrotate.conf. | Alle | – |
strace | Verfolgt Systemaufrufe eines Prozesses, hilfreich zur Fehlersuche von Programmen. | Alle | strace -p <PID> |
lsof | Listet geöffnete Dateien auf, kann verwendet werden, um zu sehen, welche Prozesse Logdateien verwenden. | Alle | lsof /var/log/syslog |
netstat / ss | Zeigt Netzwerkverbindungen an, hilfreich bei der Fehlersuche von Netzwerkdiensten. | Alle | netstat -tulpen oder ss -tulpen |
ps | Zeigt laufende Prozesse an, kann genutzt werden, um hängende Prozesse zu identifizieren. | Alle | ps aux |
top / htop | Echtzeit-Systemüberwachung, zeigt CPU-, Speicherverbrauch und laufende Prozesse an. | Alle | top oder htop |
systemctl | Kontrolliert systemd-Dienste, kann verwendet werden, um Dienststatus zu überprüfen. | Systemd-basierte Systeme | systemctl status sshd |
service | Kontrolliert Systemdienste in SysVinit-Systemen. | Ältere Systeme | service ssh status |
chkconfig | Verwalten von Systemdiensten beim Booten (SysVinit). | RHEL/CentOS (ältere Versionen) | chkconfig –list |
update-rc.d | Verwalten von Startskripten (SysVinit). | Ubuntu/Debian (ältere Versionen) | update-rc.d ssh enable |
uptime | Zeigt an, wie lange das System läuft, sowie die durchschnittliche Systemlast. | Alle | uptime |
free | Zeigt Speicher- und Swap-Nutzung an, hilfreich bei Speicherproblemen. | Alle | free -h |
vmstat | Zeigt Systemleistung an, einschließlich Speicher, Swap, CPU-Auslastung. | Alle | vmstat 5 |
sar | Systemaktivitätsbericht, bietet historische Leistungsdaten (Teil des sysstat-Pakets). | Alle | sar -u 1 3 |
iostat | Zeigt CPU- und Ein-/Ausgabestatistiken für Geräte und Partitionen an (sysstat-Paket erforderlich). | Alle | iostat -xz 5 |
tcpdump | Netzwerkpakete abfangen und anzeigen, hilfreich zur Netzwerkfehlersuche. | Alle | tcpdump -i eth0 port 80 |
ping | Überprüft die Erreichbarkeit von Hosts, grundlegende Netzwerkdiagnose. | Alle | ping example.com |
traceroute | Zeigt den Weg der Pakete zum Zielhost, nützlich bei Netzwerkproblemen. | Alle | traceroute example.com |
mtr | Kombination aus ping und traceroute, bietet kontinuierliche Überwachung. | Alle | mtr example.com |
hostnamectl | Zeigt Systeminformationen an, inklusive Kernel und Architektur (systemd). | Systemd-basierte Systeme | hostnamectl |
who | Zeigt an, welche Benutzer angemeldet sind, hilfreich zur Überwachung. | Alle | who |
last | Zeigt eine Liste der letzten Anmeldungen, kann für Sicherheitsüberprüfungen verwendet werden. | Alle | last |
sudo | Führt Befehle mit Administratorrechten aus, wichtig für Befehle, die Root-Rechte benötigen. | Alle | sudo tail /var/log/auth.log |
Hinweise zu Plattformunterschieden
- Systemd vs. SysVinit:
- Systemd ist das Standard-Init-System in modernen Distributionen wie Ubuntu (ab 15.04), RHEL/CentOS 7 und höher.
- Ältere Versionen verwenden SysVinit, was die Verwendung von Befehlen wie service und chkconfig erfordert.
- Logdateien:
- Ubuntu/Debian:
- Allgemeine Systemmeldungen: /var/log/syslog
- Authentifizierungsprotokolle: /var/log/auth.log
- RHEL/CentOS:
- Allgemeine Systemmeldungen: /var/log/messages
- Authentifizierungsprotokolle: /var/log/secure
- Ubuntu/Debian:
Zusätzliche Tools
Tool | Beschreibung | Beispiel |
gdb | Debugger für Programme, hilfreich bei Absturzanalysen. | gdb /pfad/zu/programm |
valgrind | Werkzeug zum Aufdecken von Speicherfehlern und Speicherlecks. | valgrind ./programm |
ltrace | Verfolgt Aufrufe von Bibliotheksfunktionen, nützlich zur Fehlersuche von Programmen. | ltrace ./programm |
ip | Modernes Werkzeug zur Netzwerkverwaltung, ersetzt ältere Tools wie ifconfig. | ip addr show |
ethtool | Zeigt und ändert Einstellungen für Netzwerkinterfaces, hilfreich bei Netzwerkproblemen. | ethtool eth0 |
nslookup / dig | DNS-Abfragen durchführen, hilfreich zur Fehlersuche bei Namensauflösung. | dig example.com |
fdisk / lsblk | Zeigt Festplatten und Partitionen an, nützlich bei Speicherproblemen. | lsblk |
lshw | Listet Hardware-Komponenten des Systems auf. | lshw -short |
Beispiel für eine Fehlersuche
Problem: Ein Dienst startet nicht korrekt.
Schritte zur Fehlersuche:
- Dienststatus prüfen:
- Systemd:
- systemctl status <dienstname>
- SysVinit:
- service <dienstname> status
- Systemd:
- Logs des Dienstes anzeigen:
- journalctl -u <dienstname> (Systemd)
- Prüfen der relevanten Logdateien:
- Ubuntu/Debian: /var/log/syslog, /var/log/auth.log
- RHEL/CentOS: /var/log/messages, /var/log/secure
- Fehlermeldungen filtern:
- grep -i error /var/log/syslog (Ubuntu/Debian)
- grep -i error /var/log/messages (RHEL/CentOS)
- Konfigurationsdateien überprüfen:
- Syntaxprüfung durchführen (falls verfügbar):
- Beispielsweise für Nginx: nginx -t
- Für Apache: apachectl configtest
- Syntaxprüfung durchführen (falls verfügbar):
- Ports und Netzwerk prüfen:
- Überprüfen, ob der Port bereits verwendet wird:
- sudo lsof -i :<portnummer>
- Netzwerkverbindungen anzeigen:
- netstat -tulpen oder ss -tulpen
- Überprüfen, ob der Port bereits verwendet wird:
- Ressourcen überprüfen:
- CPU- und Speicherverbrauch prüfen:
- top oder htop
- Festplattenplatz prüfen:
- df -h
- CPU- und Speicherverbrauch prüfen:
- Hardware-Probleme ausschließen:
- Kernel-Meldungen prüfen:
- dmesg | less
- Kernel-Meldungen prüfen: