So rufen Sie schnell alle Details der Server-Hardware unter Linux ab
Sie loggen sich per SSH auf einen unbekannten Server ein und versuchen herauszufinden, was dort eigentlich verbaut ist. Welches Mainboard ist es, wie viele Speichermodule sind belegt, mit welcher Frequenz sie laufen, in welchem Modus die Festplatte arbeitet.
In der Regel greifen Sie auf eine vertraute Sammlung verstreuter Befehle zurück: lspci, lsusb, dmidecode, lscpu oder lesen Dateien in /proc. Am Ende setzen Sie sich hin und fügen das Gesamtbild in Ihrem Kopf zusammen.
Das lshw-Tool (Hardware Lister) löst diese Routine vollständig. Es sammelt Computerkonfigurationsdaten in einem einheitlichen Hardware-Baum. Und es tut dies nicht nur in der Konsole, sondern exportiert auch alles in fertige Formate wie XML oder HTML.
Was lshw kann
Das Programm scannt das System durch mehrere Quellen: es fragt DMI (SMBIOS) auf x86 und EFI ab, schaut in CPUID hinein, parst PCI/AGP-, USB-, SCSI- und IDE/ATA-Bus-Listen, und auf PowerPC-Architektur liest es den OpenFirmware-Gerätebaum.
Als Ergebnis erhalten Sie einen detaillierten Bericht mit der gesamten Hardware:
- Präzises RAM-Layout: Timings, Größe jedes Moduls, belegte Steckplätze und unterstütztes Maximum.
- BIOS/UEFI-Firmware-Version und Mainboard-Revision.
- Prozessorkonfiguration, unterstützte Instruktionen, Bus-Frequenz und Cache-Größen auf allen Ebenen.
- Speichercontroller, Netzwerkkarten und angeschlossene Peripheriegeräte mit den verwendeten Kernel-Treibern.
Ein zusätzlicher Vorteil ist, dass das Tool nicht nur eine rohe Geräte-ID ausgibt – es holt lesbare Namen aus lokalen Datenbanken hwdata und /usr/share/misc/.
Ausgabeformate und praktische Szenarien
Die Klartextausgabe von lshw kann manchmal zu lang erscheinen, wenn Sie den Befehl ohne Parameter ausführen. Aber es hat flexible Flags, die Admins und Infrastructure-Entwicklern das Leben viel leichter machen.
Kompakte Zusammenfassung
Wenn Sie schnell einen Überblick benötigen, ohne eine endlose Textwand, ist der Kurzmodus praktisch:
sudo lshw -short
Es gibt eine übersichtliche Tabelle mit dem Status jedes Knotens, Gerätepfaden und einer kurzen Beschreibung der Komponenten aus.
HTML-Berichte generieren
Wenn Sie Inventardaten mit Kollegen teilen oder den Serverzustand an ein Ticket anhängen möchten, können Sie mit einem einzigen Befehl eine schöne HTML-Datei generieren:
sudo lshw -html > server_spec.html
Ein solcher Bericht ist sofort im Browser betrachtbar, enthält verständliche einklappbare Abschnitte und unterscheidet visuell Controller von untergeordneten Geräten.
Automatisierung über XML und JSON
Für Inventar-Skripte oder automatische Maschinen-Audits kann das Tool rohe strukturierte Daten ausgeben:
sudo lshw -xml > hardware.xml
Dieses XML lässt sich leicht in Python parsen oder in eine CMDB-Datenbank einspeisen, wenn ein neuer Server eingerichtet wird.
Build und Details unter der Haube
Das Projekt ist in C++ geschrieben und existiert schon sehr lange. Der Code kompiliert sogar mit alten Compilerversionen und benötigt keine schweren Abhängigkeiten.
Sie können einen Binary aus dem Quellcode buchstäblich in ein paar Sekunden bauen:
make
sudo make install
Wenn Sie ein minimalistisches Image für die Systemrettung (Rescue-Disk) erstellen, kann lshw statisch kompiliert oder mit UPX komprimiert werden, sodass die Binary fast nichts wiegt:
make static
make compressed
Für GUI-Enthusiasten ist ein lshw-gtk-Build verfügbar (gebaut über make gui), aber in der Praxis reicht die Konsolenversion mehr als aus.
Wem es nützt
Das Tool wird wahrscheinlich nicht von denen benötigt, die ausschließlich mit Containern oder Serverless-Funktionen arbeiten. Aber wenn Sie Bare-Metal-Server einrichten, einen Home-Server bauen, Probleme bei der Erkennung von Speichermodulen diagnostizieren oder Skripte für die Inventarisierung einer Flotte von Maschinen schreiben, spart lshw eine Menge Zeit. Führen Sie es einfach einmal mit Root-Rechten aus und Sie wissen genau, welche Hardware im Gehäuse verbaut ist.
Ähnliche Projekte