So installieren Sie Lshw unter Linux und verwenden es zum Suchen von Hardwareinformationen

So Installieren Sie Lshw Unter Linux Und Verwenden Es Zum Suchen Von Hardwareinformationen



Lshw ist ein Linux-Befehlszeilentool, mit dem Sie Informationen über die installierte Hardware Ihres Computers/Servers finden können. Lshw kann Motherboard-/Mainboard-, CPU-, Speicher-, Festplatten-, PCIE-, USB- und andere Hardwareinformationen melden.

Lshw ist auf jeder verfügbaren Linux-Distribution verfügbar. Sie können also dasselbe Tool verwenden, um die erforderlichen Hardwareinformationen für jede Linux-Distribution zu finden.







In diesem Artikel zeigen wir Ihnen, wie Sie lshw auf gängigen Linux-Distributionen installieren und damit die Hardwareinformationen finden.



Inhaltsthema:

Lshw unter Ubuntu/Debian/Linux Mint/Kali Linux installieren

Lshw ist im offiziellen Paket-Repository von Ubuntu/Debian/Linux Mint/Kali Linux verfügbar. Sie können es also problemlos auf Ihrem Computer/Server installieren.



Aktualisieren Sie zunächst den APT-Paket-Repository-Cache mit dem folgenden Befehl:





$ Sudo passendes Update



Um lshw zu installieren, führen Sie den folgenden Befehl aus:

$ Sudo geeignet Installieren -Und usw

Lshw sollte auf Ihrem Ubuntu/Debian/Linux Mint/Kali Linux-System installiert sein.

Installation von Lshw auf Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Lshw ist im offiziellen Paket-Repository von Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream verfügbar. Sie können es also problemlos auf Ihrem Computer/Server installieren.

Aktualisieren Sie zunächst den DNF-Paket-Repository-Cache mit dem folgenden Befehl:

$ Sudo DNF-Makecache

Um lshw zu installieren, führen Sie den folgenden Befehl aus:

$ Sudo dnf Installieren usw

Um die Installation zu bestätigen, drücken Sie „Y“ und dann drücken .

Lshw sollte auf Ihrem Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream-System installiert sein.

Auflisten der verfügbaren Hardware mit Lshw

Sie können mit lshw die gesamte verfügbare Hardware Ihres Computers/Servers wie folgt auflisten:

$ Sudo usw -kurz

Die gesamte verfügbare Hardware Ihres Computers/Servers sollte in einem schönen Format aufgelistet sein.

Folgende Informationen finden Sie hier:

  1. H/W-Pfad : Dies ist der physische Pfad der Hardware, die auf Ihrem Computer/Server installiert ist. Hier ist /0 das Motherboard, /0/100 der Prozessor (verbunden mit dem Motherboard), /0/100/ die Hardware, die mit den Prozessorspuren verbunden ist und so weiter.
  2. Gerät : Dies ist der vom Kernel zugewiesene Name/Bezeichner der Hardware. Das häufigste Beispiel ist der Gerätename/die Gerätekennung der Netzwerkgeräte wie enp38s0, enp39s0 usw.
  3. Klasse : Die gesamte Hardware Ihres Computers/Servers gehört zu einer bestimmten Gruppe/Klasse. Beispielsweise werden die Netzwerkgeräte in der Netzwerkklasse gruppiert, die Speichergeräte werden in der Speicherklasse gruppiert und so weiter. Die Hardware-Klasse kann dazu verwendet werden Filtern Sie die Ausgabe von lshw .
  4. Beschreibung : Es handelt sich um eine kurze Beschreibung der jeweiligen Hardware.

Wenn Sie statt des Hardwarepfads (H/W-Pfad) die Businformationen der Hardware sehen möchten, führen Sie den Befehl lshw wie folgt aus:

$ Sudo usw -businfo

Wie Sie sehen, zeigt die erste Spalte nun die Businformationen der Hardware anstelle des Hardwarepfads an.

Die Businformationen verschiedener Hardware zeigen die Informationen in verschiedenen Formaten an:

  • CPU : Die Bus-ID der CPUs befindet sich in cpu@ ,. Beispielsweise hat die CPU cpu@0 (in meinem Fall der AMD Ryzen 9 3900X-Prozessor) die ID 0. Auf den meisten Desktop-Computern und Laptops Sie haben nur einen Prozessor und einen CPU-Eintrag, nämlich „cpu@0“.
  • PCIE-Geräte: Die Bus-ID der PCIE-Geräte befindet sich im pci@: :. Die -Nummer wird auch -Nummer genannt. Beispielsweise hat das PCIE-Gerät pci@0000:26:00.0 (in unserem Fall ein I211-Gigabit-Netzwerkgerät) die Domäne 0000, Bus 26, Steckplatz/Gerät 00 und Funktion 0. Die ID-Nummern sind hexadezimal und mit Nullen aufgefüllt.
  • SCSI-Geräte : Die Bus-ID der SCSI-Speichergeräte wird im angezeigt scsi@:. ., Beispielsweise ist scsi@1:0.0.0 ein SCSI/SATA-Speichergerät mit Controller 1, Ziel 0, ID 0, LUN 0 und keinen Partitionen. Wenn das SCSI/SATA-Speichergerät über Partitionen verfügt, lautet die Bus-ID scsi@1:0.0.0,1 für die erste Partition, scsi@1:0.0.0,2 für die zweite Partition, scsi@1:0.0.0 ,3 für die dritte Partition und so weiter.
  • USB-Geräte : Die Bus-ID von USB-Speichergeräten wird im angezeigt usb@:. Beispielsweise ist usb@3:6.3 ein USB-Gerät mit Controller 3, Steckplatz 6 und ID 3. USB@3:1 ist ein USB-Gerät mit Controller 3 und Steckplatz 1.

Filtern der Lshw-Ausgabe mit Hardwareklasse

Lshw weist jedem Hardwaregerät eine Klasse zu. Sie können die Ausgabe des Befehls „lshw“ so filtern, dass sie nur bestimmte Hardwaretypen enthält, die diese Klassennamen verwenden.

Die verfügbaren lshw-Hardwareklassen sind:

  • System : Das Motherboard und die PnP-Geräte des Systems.
  • Brücke : Die internen Busgeräte wie PCIE, Host Bridge usw.
  • Erinnerung : Die Speichergeräte wie BIOS, RAM, ROM, CPU-Caches, Firmware usw.
  • Prozessor : Die Prozessoren Ihres Computers und SCSI-RAID-Controller.
  • Adresse : Die Speicheradressen für Erweiterungs-ROM und Video.
  • Lagerung : Der SCSI- und IDE-Controller.
  • Scheibe : Die Speichergeräte mit wahlfreiem Zugriff wie HDD, SSD, NVME SSD, CD-ROM, DVD usw.
  • Volumen : Die Partitionen Ihrer Festplatte/Speichergeräte.
  • Band : Die Speichergeräte mit sequentiellem Zugriff wie DAT, DDS usw.
  • Bus : Der Geräteverbindungsbus wie USB, SCSI, FireWire usw.
  • Netzwerk : Die Netzwerkschnittstellen wie Ethernet, WLAN usw.
  • Anzeige : Die Anzeigegeräte wie Ihre GPU.
  • Eingang : Die Eingabegeräte wie Tastaturen, Mäuse, HDMI/DP-Anschlüsse, HD-Audioanschlüsse, Netzschalter, PC-Lautsprecher usw.
  • Drucker : Die Druckgeräte, d. h. Drucker.
  • Multimedia : Die Audio- und Videogeräte wie Grafikkarte (GPU), Soundkarte, TV-Ausgangskarte usw.
  • Kommunikation : Die Kommunikationsgeräte wie Bluetooth.
  • Leistung : Die Energiequellen wie Netzteil (PSU), interne Batterie usw.
  • generisch : Die Geräte, die nicht klassifiziert werden können.

Nicht auf allen Computern/Servern ist jede Hardwareklasse installiert. Um die Hardwareklassen Ihres Computers/Servers zu ermitteln, empfehlen wir Ihnen, den Befehl „lshw“ mit der Option „-short“ oder „-businfo“ auszuführen.

$ Sudo usw -kurz

$ Sudo usw -businfo

Um die Ausgabe des Befehls „lshw“ so zu filtern, dass nur die spezifischen Hardwaretypen (z. B. Speichergeräte) angezeigt werden, verwenden Sie die Option „-class“ wie folgt:

$ Sudo usw -businfo -Klasse Scheibe

oder

$ Sudo usw -kurz -Klasse Scheibe

Wie Sie sehen, hat lshw nur die Speichergeräte (2x 500 GB Samsung 860 EVO SATA SSDs) aufgelistet, die auf unserem Computer installiert sind.

Sie können die Option „-class“ mehrmals verwenden, um mit dem Befehl „lshw“ mehrere Hardwaretypen gleichzeitig anzuzeigen.

Um beispielsweise die Speichergeräte sowie die Festplattenpartitionen mit dem Befehl „lshw“ anzuzeigen, verwenden Sie die Option „-class“ zweimal wie folgt:

$ Sudo usw -businfo -Klasse Scheibe -Klasse Volumen

oder

$ Sudo usw -kurz -Klasse Scheibe -Klasse Volumen -Klasse

Wie Sie sehen können, hat lshw die Speichergeräte sowie die Partitionen dieser Speichergeräte aufgelistet.

Finden der detaillierten Hardwareinformationen mit Lshw

Um detaillierte Informationen zu bestimmten Hardwaretypen (z. B. Netzwerk) zu finden, führen Sie lshw mit der Option „-class“ wie folgt aus:

$ Sudo usw -Klasse Netzwerk

Wie Sie sehen, werden sehr detaillierte Informationen zu allen Netzwerkgeräten gedruckt, die auf unserem Computer installiert sind.

Ausblenden vertraulicher Informationen aus der Lshw-Ausgabe

Standardmäßig gibt der Befehl „lshw“ vertrauliche Informationen (d. h. die MAC-Adresse von Netzwerkgeräten) aus und zeigt gleichzeitig die detaillierten Hardwareinformationen an. Wenn Sie die Hardwareinformationen mit anderen Personen im Internet teilen müssen, um beispielsweise Hilfe bei der Installation eines Treibers zu erhalten, möchten Sie diese vertraulichen Informationen möglicherweise aus der lshw-Ausgabe ausblenden.

Um die vertraulichen Informationen vor den detaillierten Hardwareinformationen zu verbergen, können Sie die Option „-sanitize“ des Befehls „lshw“ wie folgt verwenden:

$ Sudo usw -desinfizieren -Klasse Netzwerk

Wie Sie sehen, werden die MAC-Adressen und IP-Adressen von den Netzwerkgeräten entfernt.

Anzeige der numerischen IDs für PCIe- und USB-Geräte

Standardmäßig werden in der Ausgabe des Befehls „lshw“ keine numerischen IDs für die PCIe- und USB-Geräte angezeigt.

Um die numerischen IDs der PCIe- und USB-Geräte in der Ausgabe des Befehls „lshw“ anzuzeigen, verwenden Sie die Option „-numeric“ wie folgt:

$ Sudo usw -numerisch -Klasse Netzwerk

oder

$ Sudo usw -numerisch -Klasse Bus

Wie Sie sehen, werden in der Ausgabe des Befehls „lshw“ die numerischen IDs der USB-Geräte angezeigt.

Entfernen der flüchtigen Zeitstempel aus der Lshw-Ausgabe

Standardmäßig druckt lshw die flüchtigen Zeitstempel (sich ändernde Zeitdaten) für Festplatten-Volumes und andere Geräte. Wenn Sie diese Zeitstempel nicht sehen möchten, führen Sie den Befehl „lshw“ mit der Option „-notime“ wie folgt aus:

$ Sudo usw -Keine Zeit -Klasse Volumen

Wie Sie sehen können, werden die bereitgestellten Zeitstempeldaten aus der lshw-Ausgabe entfernt, wenn die Option „-notime“ verwendet wird.

Exportieren der Hardwareinformationen mit Lshw

Sie können die LSHW-Hardwareinformationen in verschiedenen Formaten exportieren. Zum Zeitpunkt des Schreibens dieses Artikels kann lshw die Hardwareinformationen in den folgenden Formaten exportieren:

  • SQLite-Datenbank
  • HTML
  • XML
  • JSON

Um die lshw-Hardwareinformationen in eine SQLite-Datenbankdatei zu exportieren, führen Sie den folgenden Befehl aus:

$ Sudo usw -entsorgen ~ / Daten / lshw.db &>/ Entwickler / Null

Wie Sie sehen, wird die SQLite-Datenbankdatei „lshw.db“ erstellt.

$ ls -lh ~ / Daten

Sie können die Datenbankdatei „lshw.db“ mit SQLite lesen und alle Datenbanktabellen wie folgt ausdrucken:

$ Sudo sqlite3 ~ / Daten / lshw.db --Linie '.tables'

Mit dem folgenden SQLite-Befehl können Sie Informationen zu den Netzwerkgeräten aus der Datei „lshw.db“ ausdrucken:

$ Sudo sqlite3 ~ / Daten / lshw.db --Linie „SELECT * FROM nodes WHERE class LIKE ‚network‘“

Um die lshw-Hardwareinformationen in eine HTML-Datei zu exportieren, führen Sie den folgenden Befehl aus:

$ Sudo usw -html > ~ / Daten / lshw.html

Wenn Sie auch vertrauliche Informationen bereinigen/ausblenden möchten, führen Sie den Befehl lshw HTML export wie folgt aus:

$ Sudo usw -desinfizieren -html > ~ / Daten / lshw.html

Wie Sie sehen können, werden die lshw-Hardwareinformationen in eine HTML-Datei „lshw.html“ exportiert.

$ ls -lh ~ / Daten

Sie können die Datei „lshw.html“ mit Ihrem bevorzugten Webbrowser öffnen.

$ Firefox ~ / Daten / lshw.html

Wir haben die Datei „lshw.html“ mit dem Webbrowser Mozilla Firefox geöffnet und die Hardwareinformationen werden angezeigt, wie Sie im folgenden Screenshot sehen können:

Um die lshw-Hardwareinformationen in eine XML-Datei zu exportieren, führen Sie den folgenden Befehl aus:

$ Sudo usw -xml > ~ / Daten / lshw.xml

Wenn Sie auch vertrauliche Informationen bereinigen/ausblenden möchten, führen Sie den Befehl lshw XML export wie folgt aus:

$ Sudo usw -desinfizieren -xml > ~ / Daten / lshw.xml

Wie Sie sehen können, werden die lshw-Hardwareinformationen in eine XML-Datei „lshw.xml“ exportiert.

$ ls -lh ~ / Daten

Wir haben die Datei „lshw.xml“ mit dem Vim-Texteditor geöffnet und die lshw-Hardwareinformationen werden im XML-Format angezeigt, wie Sie im folgenden Screenshot sehen können:

$ Weil ~ / Daten / lshw.xml

Führen Sie den folgenden Befehl aus, um die lshw-Hardwareinformationen in eine JSON-Datei zu exportieren:

$ Sudo usw -json > ~ / Daten / lshw.json

Wenn Sie auch vertrauliche Informationen bereinigen/ausblenden möchten, führen Sie den Befehl lshw JSON export wie folgt aus:

$ Sudo usw -desinfizieren -json > ~ / Daten / lshw.json

Wie Sie sehen können, werden die lshw-Hardwareinformationen in eine „lshw.json“-JSON-Datei exportiert.

$ ls -lh ~ / Daten

Wir haben die Datei „lshw.json“ mit dem Vim-Texteditor geöffnet und die lshw-Hardwareinformationen werden im JSON-Format angezeigt, wie Sie im folgenden Screenshot sehen können:

$ Weil ~ / Daten / lshw.json

Die lshw-Optionen -sanitize, -numeric und -notime funktionieren für lshw-HTML-, XML- und JSON-Exporte, nicht für SQLite-Exporte. Weitere Informationen zu diesen Optionen finden Sie in den vorherigen Abschnitten dieses Artikels.

Beispiel 1: Finden der installierten GPUs Ihres Computers/Servers mit Lshw

Nach der Installation eines neuen Betriebssystems auf Ihrem Computer/Server ist es eines der wichtigsten Dinge, die GPU (Grafikkarte/Prozessor) zu finden, die Sie auf Ihrem Computer/Server installiert haben, und den entsprechenden Treiber dafür zu installieren.

Sie können die GPUs, die Sie auf Ihrem Computer/Server installiert haben, mit dem folgenden „lshw“-Befehl finden:

$ Sudo usw -Klasse Anzeige

Wie Sie sehen, ist auf unserem Rechner eine NVIDIA GeForce RTX 4070 verbaut [1] . Es werden die offiziellen NVIDIA-Treiber verwendet (wie wir sie installiert haben). [2] . Wenn auf Ihrem Computer/Server eine NVIDIA-GPU installiert ist, die offiziellen NVIDIA-Treiber jedoch nicht installiert sind, wird stattdessen „driver=nouveau“ angezeigt. In diesem Fall müssen Sie die offiziellen NVIDIA-Treiber auf Ihrem Computer/Server installieren, um alle Funktionen nutzen und die beste Leistung Ihrer GPU erzielen zu können.

Beispiel 2: Finden des Chipsatzes der Netzwerkgeräte/Schnittstellen mit Lshw

Auch die Installation des richtigen Netzwerktreibers ist ein wesentlicher Bestandteil einer neuen Linux-Installation. Sofern nicht die richtigen Netzwerktreiber installiert sind, funktionieren Ihre Netzwerkgeräte möglicherweise nicht oder nur mit eingeschränkter Funktionalität (was zu einer sehr schlechten Netzwerkleistung führen kann). Um die richtigen Netzwerktreiber installieren zu können, müssen Sie den Chipsatz Ihrer Netzwerkgeräte kennen.

Um den Chipsatz und andere Informationen zu den Netzwerkgeräten zu finden, die auf Ihrem Computer/Server installiert sind, führen Sie den Befehl „lshw“ wie folgt aus:

$ Sudo usw -Klasse Netzwerk

Wie Sie sehen, sind auf unserem Computer zwei Ethernet-Geräte installiert.

Eine davon ist eine Intel I211 Gigabit-Netzwerkschnittstelle [1] . Der Linux-Kernel gab ihm den logischen Namen enp38s0 [2] . Wie Sie sehen können, verwendet es den Intel IGB-Chipsatz (Treiber = IGB). [3] . Damit diese Netzwerkschnittstelle funktioniert, müssen Sie den Intel IGB-Treiber bzw. die Intel IGB-Firmware auf Ihrem Computer/Server installieren (sofern dieser noch nicht installiert ist).

Die andere ist eine Realtek RTL8125 2,5-GbE-Netzwerkschnittstelle [4] . Der Linux-Kernel gab ihm den logischen Namen enp39s0 [5] . Wie Sie sehen können, verwendet es den Realtek r8169-Chipsatz (Treiber=r8169). [6] . Damit diese Netzwerkschnittstelle funktioniert, müssen Sie den Realtek r8169-Treiber/die Firmware auf Ihrem Computer/Server installieren (sofern dieser noch nicht installiert ist).

An unseren Computer sind außerdem ein USB-Ethernet-Gerät und ein WLAN-Adapter angeschlossen.

Die USB 10/100 Mbit/s LAN-Netzwerkschnittstelle [1] hat den logischen Namen enp42s0f3u6u3 [2] . Wie Sie sehen können, verwendet es den Realtek r8152-Chipsatz (Treiber=r8152). [6] . Damit diese Netzwerkschnittstelle funktioniert, müssen Sie den Realtek r8152-Treiber/die Firmware auf Ihrem Computer/Server installieren (sofern dieser noch nicht installiert ist).

Die WiFi 802.11n-Netzwerkschnittstelle[4] hat den logischen Namen wlp42s0f3u1[5]. Wie Sie sehen können, verwendet es den MediaTek mt7601u-Chipsatz (Treiber=mt7601u). [6] . Damit diese Netzwerkschnittstelle funktioniert, müssen Sie den MediaTek mt7601u-Treiber/die Firmware auf Ihrem Computer/Server installieren (sofern dieser noch nicht installiert ist).

Abschluss

Dies ist eine ausführliche Anleitung zu lshw. In diesem Artikel haben wir Ihnen gezeigt, wie Sie lshw auf gängigen Linux-Distributionen installieren (z. B. Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Wir haben Ihnen auch gezeigt, wie Sie die Hardware Ihres Computers auflisten, die Ausgabe von lshw filtern, um bestimmte Hardwaretypen anzuzeigen, und vertrauliche Hardwareinformationen aus der lshw-Ausgabe ausblenden. Wir haben Ihnen gezeigt, wie Sie die numerische ID für PCIE- und USB-Geräte anzeigen und die flüchtigen Zeitstempel aus der lshw-Ausgabe entfernen. Wir haben Ihnen auch gezeigt, wie Sie die lshw-Hardwareinformationen in die SQLite-Datenbank, HTML, XML und JSON-Format exportieren und lesen können. Abschließend haben wir Ihnen gezeigt, wie Sie mit lshw die GPU und Netzwerkgeräte finden, die Sie auf Ihrem Computer installiert haben, sowie den Chipsatz, den die Netzwerkgeräte verwenden, um Ihnen bei der korrekten Treiber-/Firmware-Installation zu helfen.

Verweise: