Hoe Lshw op Linux te installeren en te gebruiken om hardware-informatie te vinden

Hoe Lshw Op Linux Te Installeren En Te Gebruiken Om Hardware Informatie Te Vinden



Lshw is een Linux-opdrachtregelprogramma waarmee u informatie kunt vinden over de geïnstalleerde hardware van uw computer/server. Lshw kan informatie over het moederbord/moederbord, CPU, geheugen, schijf, PCIE, USB en andere hardware rapporteren.

Lshw is beschikbaar op elke Linux-distributie die er is. U kunt dus dezelfde tool gebruiken om de vereiste hardware-informatie op elke Linux-distributie te vinden.







In dit artikel laten we u zien hoe u lshw op populaire Linux-distributies installeert en gebruikt om de hardware-informatie te vinden.



Onderwerp van inhoud:

Lshw installeren op Ubuntu/Debian/Linux Mint/Kali Linux

Lshw is beschikbaar in de officiële pakketrepository van Ubuntu/Debian/Linux Mint/Kali Linux. U kunt het dus eenvoudig op uw computer/server installeren.



Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:





$ sudo passende update



Om lshw te installeren, voert u de volgende opdracht uit:

$ sudo geschikt installeren -En enz

Lshw moet op uw Ubuntu/Debian/Linux Mint/Kali Linux-systeem worden geïnstalleerd.

Lshw installeren op Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Lshw is beschikbaar in de officiële pakketrepository van Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. U kunt het dus eenvoudig op uw computer/server installeren.

Werk eerst de cache van de DNF-pakketrepository bij met de volgende opdracht:

$ sudo dnf makecache

Om lshw te installeren, voert u de volgende opdracht uit:

$ sudo dnf installeren enz

Om de installatie te bevestigen, drukt u op “Y” en vervolgens op .

Lshw moet geïnstalleerd zijn op je Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream systeem.

Lijst met beschikbare hardware met Lshw

U kunt als volgt alle beschikbare hardware van uw computer/server met lshw weergeven:

$ sudo enz -kort

Alle beschikbare hardware van uw computer/server moet in een mooi formaat worden vermeld.

U vindt hier de volgende informatie:

  1. H/W-pad : Dit is het fysieke pad van de hardware die op uw computer/server is geïnstalleerd. Hier is /0 het moederbord, /0/100 is de processor (aangesloten op het moederbord), /0/100/ is de hardware die is aangesloten op de processorlanen, enzovoort.
  2. Apparaat : Dit is de door de kernel toegewezen naam/identificatie van de hardware. Het meest voorkomende voorbeeld is de apparaatnaam/identificatie van de netwerkapparaten zoals enp38s0, enp39s0, enz.
  3. Klas : Alle hardware van uw computer/server behoort tot een bepaalde groep/klasse. De netwerkapparaten zijn bijvoorbeeld gegroepeerd in de netwerkklasse, de opslagapparaten zijn gegroepeerd in de opslagklasse, enzovoort. De hardwareklasse kan hiervoor worden gebruikt filter de uitvoer van lshw .
  4. Beschrijving : Het is een korte beschrijving van de betreffende hardware.

Als u de businformatie van de hardware wilt zien in plaats van het hardwarepad (H/W-pad), voert u de lshw-opdracht als volgt uit:

$ sudo enz -businfo

Zoals je ziet toont de eerste kolom nu de businformatie van de hardware in plaats van het hardwarepad.

De businformatie van verschillende hardware toont de informatie in verschillende formaten:

  • CPU : De bus-ID van de CPU's bevindt zich in cpu@ , De CPU cpu@0 (AMD Ryzen 9 3900X-processor in mijn geval) heeft bijvoorbeeld de ID 0. Op de meeste desktopcomputers en laptops heeft je hebt slechts één processor en één CPU-invoer, namelijk “cpu@0”.
  • PCIE-apparaten: De bus-ID van de PCIE-apparaten bevindt zich in de pci@: :. Het -nummer wordt ook wel -nummer genoemd. Het PCIE-apparaat pci@0000:26:00.0 (in ons geval I211 gigabit-netwerkapparaat) heeft bijvoorbeeld het domein 0000, bus 26, slot/apparaat 00 en functie 0. De ID-nummers zijn hexadecimaal en opgevuld met nullen.
  • SCSI-apparaten : De bus-ID van SCSI-opslagapparaten bevindt zich in de scsi@:. ., Scsi@1:0.0.0 is bijvoorbeeld een SCSI/SATA-opslagapparaat met controller 1, target 0, id 0, lun 0 en geen partities. Als het SCSI/SATA-opslagapparaat partities heeft, is de bus-ID scsi@1:0.0.0,1 voor de eerste partitie, scsi@1:0.0.0,2 voor de tweede partitie, scsi@1:0.0.0 ,3 voor de derde partitie, enzovoort.
  • USB-apparaten : De bus-ID van USB-opslagapparaten bevindt zich in de usb@:. USB@3:6.3 is bijvoorbeeld een USB-apparaat met controller 3, slot 6 en id 3. USB@3:1 is een USB-apparaat met controller 3 en slot 1.

De Lshw-uitvoer filteren met hardwareklasse

Lshw wijst een klasse toe aan elk hardwareapparaat. U kunt de uitvoer van de opdracht “lshw” filteren, zodat deze alleen bepaalde typen hardware bevat die deze klassenamen gebruiken.

De beschikbare lshw-hardwareklassen zijn:

  • systeem : Het moederbord en de PnP-apparaten van het systeem.
  • brug : De interne busapparaten zoals PCIE, hostbridge, enz.
  • geheugen : De geheugenapparaten zoals BIOS, RAM, ROM, CPU-caches, firmware, enz.
  • verwerker : De processors van uw computer en SCSI RAID-controllers.
  • adres : De geheugenadressen voor uitbreidings-ROM en video.
  • opslag : De SCSI- en IDE-controller.
  • schijf : De willekeurig toegankelijke opslagapparaten zoals HDD, SSD, NVME SSD, CD-ROM, DVD, enz.
  • volume : De partities van uw schijf/opslagapparaten.
  • plakband : De opslagapparaten met sequentiële toegang, zoals DAT, DDS, enz.
  • bus : De apparaatverbindingsbus zoals USB, SCSI, FireWire, enz.
  • netwerk : De netwerkinterfaces zoals Ethernet, WiFi, enz.
  • weergave : De weergaveapparaten zoals uw GPU.
  • invoer : De invoerapparaten zoals uw toetsenborden, muizen, HDMI/DP-poorten, HD-audiopoorten, aan/uit-knop, pc-luidspreker, enz.
  • printer : De afdrukapparaten, d.w.z. printer.
  • multimediaal : De audio- en videoapparaten zoals videokaart (GPU), geluidskaart, tv-uitvoerkaart, enz.
  • communicatie : De communicatieapparaten zoals Bluetooth.
  • stroom : De energiebronnen zoals voeding (PSU), interne batterij, enz.
  • algemeen : de apparaten die niet kunnen worden geclassificeerd.

Niet op alle computers/servers is elke hardwareklasse geïnstalleerd. Dus om de hardwareklassen van uw computer/server te vinden, raden we u aan de opdracht “lshw” uit te voeren met de optie “-short” of “-businfo”.

$ sudo enz -kort

$ sudo enz -businfo

Om de uitvoer van de opdracht “lshw” te filteren zodat alleen de specifieke typen hardware (dat wil zeggen opslagapparaten) worden weergegeven, gebruikt u de optie “-class” als volgt:

$ sudo enz -businfo -klas schijf

of

$ sudo enz -kort -klas schijf

Zoals u kunt zien, vermeldde lshw alleen de opslagapparaten (2x 500 GB Samsung 860 EVO SATA SSD's) die op onze computer zijn geïnstalleerd.

U kunt de optie “-class” meerdere keren gebruiken om meerdere soorten hardware tegelijk weer te geven met de opdracht “lshw”.

Om bijvoorbeeld zowel de opslagapparaten als de schijfpartities weer te geven met behulp van de opdracht “lshw”, gebruikt u de optie “-class” tweemaal als volgt:

$ sudo enz -businfo -klas schijf -klas volume

of

$ sudo enz -kort -klas schijf -klas volume -klas

Zoals je kunt zien, heeft lshw de opslagapparaten en de partities van die opslagapparaten vermeld.

De gedetailleerde hardware-informatie vinden met Lshw

Om gedetailleerde informatie over specifieke soorten hardware (d.w.z. netwerk) te vinden, voert u lshw uit met de optie “-class” als volgt:

$ sudo enz -klas netwerk

Zoals u kunt zien, wordt er zeer gedetailleerde informatie afgedrukt over alle netwerkapparaten die op onze computer zijn geïnstalleerd.

Gevoelige informatie verbergen voor de Lshw-uitvoer

Standaard drukt de opdracht “lshw” gevoelige informatie af (d.w.z. het MAC-adres van netwerkapparaten) terwijl de gedetailleerde hardware-informatie wordt weergegeven. Als u de hardware-informatie met andere mensen op internet moet delen om bijvoorbeeld hulp te krijgen bij het installeren van een stuurprogramma, wilt u mogelijk die gevoelige informatie verbergen voor de lshw-uitvoer.

Om de gevoelige informatie te verbergen voor de gedetailleerde hardware-informatie, kunt u de optie “-sanitize” van de opdracht “lshw” als volgt gebruiken:

$ sudo enz -ontsmetten -klas netwerk

Zoals u kunt zien, worden de MAC-adressen en IP-adressen van de netwerkapparaten verwijderd.

Weergave van de numerieke ID's voor PCIe- en USB-apparaten

Standaard worden numerieke ID's niet weergegeven voor de PCIe- en USB-apparaten in de uitvoer van de opdracht 'lshw'.

Om de numerieke ID's van de PCIe- en USB-apparaten weer te geven in de uitvoer van de opdracht 'lshw', gebruikt u de optie '-numeriek' als volgt:

$ sudo enz -numeriek -klas netwerk

of

$ sudo enz -numeriek -klas bus

Zoals u kunt zien, worden de numerieke ID's voor de USB-apparaten weergegeven in de uitvoer van de opdracht 'lshw'.

Het verwijderen van de vluchtige tijdstempels van de Lshw-uitvoer

Standaard drukt lshw de vluchtige tijdstempels (veranderende tijdgegevens) af voor schijfvolumes en andere apparaten. Als u deze tijdstempels niet wilt zien, voert u de opdracht “lshw” uit met de optie “-notime” als volgt:

$ sudo enz -geen tijd -klas volume

Zoals u kunt zien, worden de gekoppelde tijdstempelgegevens verwijderd uit de lshw-uitvoer waar de optie '-notime' wordt gebruikt.

De hardware-informatie exporteren met Lshw

U kunt de lshw-hardware-informatie in verschillende formaten exporteren. Op het moment dat dit artikel wordt geschreven, kan lshw de hardware-informatie in de volgende formaten exporteren:

  • SQLite-database
  • HTML
  • XML
  • JSON

Om de lshw-hardware-informatie naar een SQLite-databasebestand te exporteren, voert u de volgende opdracht uit:

$ sudo enz - dumpen ~ / gegevens / lshw.db &>/ ontwikkelaar / nul

Zoals u kunt zien, is het SQLite-databasebestand “lshw.db” gemaakt.

$ ls -lh ~ / gegevens

U kunt het databasebestand “lshw.db” lezen met SQLite en alle databasetabellen als volgt afdrukken:

$ sudo sqlite3 ~ / gegevens / lshw.db --lijn '.tabellen'

U kunt informatie over de netwerkapparaten afdrukken vanuit het bestand “lshw.db” met de volgende SQLite-opdracht:

$ sudo sqlite3 ~ / gegevens / lshw.db --lijn 'SELECT * FROM knooppunten WAAR klasse LIKE 'netwerk''

Voer de volgende opdracht uit om de lshw-hardwaregegevens naar een HTML-bestand te exporteren:

$ sudo enz -html > ~ / gegevens / lshw.html

Als u ook gevoelige informatie wilt opschonen/verbergen, voert u de lshw HTML-exportopdracht als volgt uit:

$ sudo enz -ontsmetten -html > ~ / gegevens / lshw.html

Zoals u kunt zien, wordt de lshw-hardware-informatie geëxporteerd naar een “lshw.html” HTML-bestand.

$ ls -lh ~ / gegevens

U kunt het bestand “lshw.html” openen met uw favoriete webbrowser.

$ Firefox ~ / gegevens / lshw.html

We hebben het bestand “lshw.html” geopend met de Mozilla Firefox-webbrowser en de hardware-informatie wordt weergegeven zoals u kunt zien in de volgende schermafbeelding:

Voer de volgende opdracht uit om de lshw-hardwaregegevens naar een XML-bestand te exporteren:

$ sudo enz -xml > ~ / gegevens / lshw.xml

Als u ook gevoelige informatie wilt opschonen/verbergen, voert u de lshw XML-exportopdracht als volgt uit:

$ sudo enz -ontsmetten -xml > ~ / gegevens / lshw.xml

Zoals u kunt zien, wordt de lshw-hardware-informatie geëxporteerd naar een “lshw.xml” XML-bestand.

$ ls -lh ~ / gegevens

We hebben het bestand 'lshw.xml' geopend met de Vim-teksteditor en de lshw-hardware-informatie wordt weergegeven in XML-formaat, zoals u kunt zien in de volgende schermafbeelding:

$ omdat ~ / gegevens / lshw.xml

Voer de volgende opdracht uit om de lshw-hardwaregegevens naar een JSON-bestand te exporteren:

$ sudo enz -json > ~ / gegevens / lshw.json

Als u ook gevoelige informatie wilt opschonen/verbergen, voert u de lshw JSON-exportopdracht als volgt uit:

$ sudo enz -ontsmetten -json > ~ / gegevens / lshw.json

Zoals u kunt zien, wordt de lshw-hardware-informatie geëxporteerd naar een “lshw.json” JSON-bestand.

$ ls -lh ~ / gegevens

We hebben het bestand 'lshw.json' geopend met de Vim-teksteditor en de lshw-hardware-informatie wordt weergegeven in JSON-indeling, zoals u kunt zien in de volgende schermafbeelding:

$ omdat ~ / gegevens / lshw.json

De opties lshw -sanitize, -numeric en -notime werken voor lshw HTML-, XML- en JSON-exports, niet voor SQLite-export. Lees de vorige secties van dit artikel voor meer informatie over deze opties.

Voorbeeld 1: De geïnstalleerde GPU's van uw computer/server vinden met Lshw

Nadat u een nieuw besturingssysteem op uw computer/server hebt geïnstalleerd, is een van de belangrijkste dingen die u moet doen het vinden van de GPU (grafische kaart/processor) die u op uw computer/server hebt geïnstalleerd en het juiste stuurprogramma daarvoor installeren.

U kunt de GPU's die u op uw computer/server hebt geïnstalleerd, vinden met de volgende opdracht “lshw”:

$ sudo enz -klas weergave

Zoals u kunt zien, hebben we een NVIDIA GeForce RTX 4070 op onze computer geïnstalleerd [1] . Het gebruikt de officiële NVIDIA-stuurprogramma's (zoals we deze hebben geïnstalleerd) [2] . Als u een NVIDIA GPU op uw computer/server hebt geïnstalleerd, maar de officiële NVIDIA-stuurprogramma's zijn niet geïnstalleerd, ziet u in plaats daarvan 'driver=nouveau'. In dat geval moet u de officiële NVIDIA-stuurprogramma's op uw computer/server installeren om alle functies te kunnen gebruiken en de beste prestaties uit uw GPU te halen.

Voorbeeld 2: De chipset van de netwerkapparaten/interfaces vinden met Lshw

Het installeren van het juiste netwerkstuurprogramma is ook een essentieel onderdeel van een nieuwe Linux-installatie. Tenzij de juiste netwerkstuurprogramma's zijn geïnstalleerd, werken uw netwerkapparaten mogelijk niet of werken ze met beperkte functionaliteit (wat kan resulteren in zeer slechte netwerkprestaties). Om de juiste netwerkstuurprogramma's te kunnen installeren, moet u de chipset van uw netwerkapparaten kennen.

Om de chipset en andere informatie te vinden over de netwerkapparaten die op uw computer/server zijn geïnstalleerd, voert u de opdracht “lshw” als volgt uit:

$ sudo enz -klas netwerk

Zoals u kunt zien, hebben we twee Ethernet-apparaten op onze computer geïnstalleerd.

Eén daarvan is een Intel I211 Gigabit-netwerkinterface [1] . De Linux-kernel gaf het een logische naam als enp38s0 [2] . Zoals je kunt zien, gebruikt het de Intel igb-chipset (driver=igb) [3] . Om deze netwerkinterface werkend te krijgen, moet u dus het Intel igb-stuurprogramma/firmware op uw computer/server installeren (als dit nog niet is geïnstalleerd).

De andere is een Realtek RTL8125 2.5GbE-netwerkinterface [4] . De Linux-kernel gaf het een logische naam als enp39s0 [5] . Zoals u kunt zien, gebruikt het de Realtek r8169-chipset (driver = r8169) [6] . Om deze netwerkinterface werkend te krijgen, moet u dus het Realtek r8169-stuurprogramma/firmware op uw computer/server installeren (als dit nog niet is geïnstalleerd).

We hebben ook een USB-ethernetapparaat en een WiFi-adapter op onze computer aangesloten.

De USB 10/100 mbps LAN-netwerkinterface [1] heeft de logische naam enp42s0f3u6u3 [2] . Zoals u kunt zien, gebruikt het de Realtek r8152-chipset (driver = r8152) [6] . Om deze netwerkinterface werkend te krijgen, moet u dus het Realtek r8152-stuurprogramma/firmware op uw computer/server installeren (als dit nog niet is geïnstalleerd).

De WiFi 802.11n-netwerkinterface[4] heeft de logische naam wlp42s0f3u1[5]. Zoals je kunt zien, gebruikt het de MediaTek mt7601u-chipset (driver = mt7601u) [6] . Om deze netwerkinterface werkend te krijgen, moet u dus het MediaTek mt7601u-stuurprogramma/firmware op uw computer/server installeren (als dit nog niet is geïnstalleerd).

Conclusie

Dit is een uitgebreide gids over lshw. In dit artikel hebben we je laten zien hoe je lshw installeert op populaire Linux-distributies (d.w.z. Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). We hebben u ook laten zien hoe u de hardware van uw computer kunt weergeven, de uitvoer van lshw kunt filteren om bepaalde typen hardware weer te geven en gevoelige hardware-informatie kunt verbergen voor de lshw-uitvoer. We hebben u laten zien hoe u de numerieke ID voor PCIE- en USB-apparaten kunt weergeven en hoe u de vluchtige tijdstempels uit de lshw-uitvoer kunt verwijderen. We hebben u ook laten zien hoe u de lshw-hardware-informatie in de SQLite-database, HTML-, XML- en JSON-indeling kunt exporteren en lezen. Ten slotte hebben we u laten zien hoe u de GPU- en netwerkapparaten kunt vinden die u op uw computer hebt geïnstalleerd, en de chipset die de netwerkapparaten gebruiken met lshw om u te helpen bij de juiste driver-/firmware-installatie.

Referenties: