Come installare Lshw su Linux e utilizzarlo per trovare informazioni sull'hardware

Come Installare Lshw Su Linux E Utilizzarlo Per Trovare Informazioni Sull Hardware



Lshw è uno strumento da riga di comando Linux per trovare informazioni sull'hardware installato sul tuo computer/server. Lshw può riportare scheda madre/scheda madre, CPU, memoria, disco, PCIE, USB e altre informazioni hardware.

Lshw è disponibile su ogni distribuzione Linux disponibile. Quindi, puoi utilizzare lo stesso strumento per trovare le informazioni hardware richieste su ogni distribuzione Linux.







In questo articolo ti mostreremo come installare lshw sulle distribuzioni Linux più diffuse e utilizzarlo per trovare le informazioni sull'hardware.



Argomento dei contenuti:

Installazione di Lshw su Ubuntu/Debian/Linux Mint/Kali Linux

Lshw è disponibile nel repository ufficiale dei pacchetti di Ubuntu/Debian/Linux Mint/Kali Linux. Quindi, puoi installarlo facilmente sul tuo computer/server.



Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:





$ sudo aggiornamento adeguato



Per installare lshw, esegui il comando seguente:

$ sudo adatto installare -E eccetera

Lshw dovrebbe essere installato sul tuo sistema Ubuntu/Debian/Linux Mint/Kali Linux.

Installazione di Lshw su Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Lshw è disponibile nel repository ufficiale dei pacchetti di Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Quindi, puoi installarlo facilmente sul tuo computer/server.

Innanzitutto, aggiorna la cache del repository del pacchetto DNF con il seguente comando:

$ sudo dnf makecache

Per installare lshw, esegui il comando seguente:

$ sudo dnf installare eccetera

Per confermare l'installazione, premere “Y” e poi premere .

Lshw dovrebbe essere installato sul tuo sistema Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream.

Elencare l'hardware disponibile con Lshw

Puoi elencare tutto l'hardware disponibile del tuo computer/server con lshw come segue:

$ sudo eccetera -corto

Tutto l'hardware disponibile del tuo computer/server dovrebbe essere elencato in un formato gradevole.

Qui troverai le seguenti informazioni:

  1. Percorso H/W : questo è il percorso fisico dell'hardware installato sul tuo computer/server. Qui, /0 è la scheda madre, /0/100 è il processore (collegato alla scheda madre), /0/100/ è l'hardware collegato alle corsie del processore e così via.
  2. Dispositivo : questo è il nome/identificatore assegnato dal kernel dell'hardware. L'esempio più comune è il nome/identificatore dei dispositivi di rete come enp38s0, enp39s0, ecc.
  3. Classe : Tutto l'hardware del tuo computer/server appartiene a un determinato gruppo/classe. Ad esempio, i dispositivi di rete sono raggruppati nella classe di rete, i dispositivi di archiviazione sono raggruppati nella classe di archiviazione e così via. La classe hardware può essere utilizzata filtra l'output di lshw .
  4. Descrizione : È una breve descrizione del rispettivo hardware.

Se desideri visualizzare le informazioni sul bus dell'hardware invece del percorso hardware (percorso H/W), esegui il comando lshw come segue:

$ sudo eccetera -businfo

Come puoi vedere, la prima colonna ora mostra le informazioni sul bus dell'hardware invece del percorso dell'hardware.

Le informazioni sul bus di hardware diverso mostreranno le informazioni in diversi formati:

  • processore : L'ID bus delle CPU sarà in cpu@ , Ad esempio, la CPU cpu@0 (processore AMD Ryzen 9 3900X nel mio caso) ha l'ID 0. Sulla maggior parte dei computer desktop e laptop, avrai solo un processore e una voce CPU che è 'cpu@0'.
  • Dispositivi PCIE: L'ID bus dei dispositivi PCIE sarà nel file pci@: :. Il numero è anche chiamato numero . Ad esempio, il dispositivo PCIE pci@0000:26:00.0 (nel nostro caso il dispositivo di rete Gigabit I211) ha il dominio 0000, bus 26, slot/dispositivo 00 e funzione 0. I numeri ID sono esadecimali e riempiti con zeri.
  • Dispositivi SCSI : L'ID bus dei dispositivi di memorizzazione SCSI sarà nel file scsi@:. ., Ad esempio, scsi@1:0.0.0 è un dispositivo di archiviazione SCSI/SATA con controller 1, destinazione 0, id 0, lun 0 e nessuna partizione. Se il dispositivo di archiviazione SCSI/SATA dispone di partizioni, l'ID del bus sarà scsi@1:0.0.0,1 per la prima partizione, scsi@1:0.0.0,2 per la seconda partizione, scsi@1:0.0.0 ,3 per la terza partizione e così via.
  • Dispositivi USB : L'ID bus dei dispositivi di archiviazione USB sarà nel file usb@:. Ad esempio, usb@3:6.3 è un dispositivo USB con controller 3, slot 6 e id 3. USB@3:1 è un dispositivo USB con controller 3 e slot 1.

Filtrare l'output Lshw con la classe hardware

Lshw assegna una classe ad ogni dispositivo hardware. Puoi filtrare l'output del comando 'lshw' per includere solo determinati tipi di hardware utilizzando questi nomi di classe.

Le classi hardware lshw disponibili sono:

  • sistema : la scheda madre e i dispositivi PnP del sistema.
  • ponte : I dispositivi bus interni come PCIE, host bridge, ecc.
  • memoria : I dispositivi di memoria come BIOS, RAM, ROM, cache della CPU, firmware, ecc.
  • processore : i processori del computer e i controller RAID SCSI.
  • indirizzo : gli indirizzi di memoria per la ROM di estensione e il video.
  • magazzinaggio : Il controller SCSI e IDE.
  • disco : I dispositivi di archiviazione ad accesso casuale come HDD, SSD, NVME SSD, CD-ROM, DVD, ecc.
  • volume : le partizioni del disco/dispositivo di archiviazione.
  • nastro : I dispositivi di archiviazione ad accesso sequenziale come DAT, DDS, ecc.
  • autobus : Il bus di connessione del dispositivo come USB, SCSI, FireWire, ecc.
  • rete : Le interfacce di rete come Ethernet, WiFi, ecc.
  • Schermo : i dispositivi di visualizzazione come la tua GPU.
  • ingresso : I dispositivi di input come tastiere, mouse, porte HDMI/DP, porte audio HD, pulsante di accensione, altoparlante del PC, ecc.
  • stampante : I dispositivi di stampa, cioè la stampante.
  • multimedia : I dispositivi audio e video come la scheda video (GPU), la scheda audio, la scheda di uscita TV, ecc.
  • comunicazione : I dispositivi di comunicazione come Bluetooth.
  • energia : Le fonti di energia come l'alimentatore (PSU), la batteria interna, ecc.
  • generico : I dispositivi che non possono essere classificati.

Non tutti i computer/server avranno installata ogni classe di hardware. Quindi, per trovare le classi di hardware del tuo computer/server, ti consigliamo di eseguire il comando “lshw” con l'opzione “-short” o “-businfo”.

$ sudo eccetera -corto

$ sudo eccetera -businfo

Per filtrare l'output del comando 'lshw' per visualizzare solo i tipi specifici di hardware (ad esempio dispositivi di archiviazione), utilizzare l'opzione '-class' come segue:

$ sudo eccetera -businfo -classe disco

O

$ sudo eccetera -corto -classe disco

Come puoi vedere, lshw ha elencato solo i dispositivi di archiviazione (2x SSD Samsung 860 EVO SATA da 500 GB) installati sul nostro computer.

È possibile utilizzare l'opzione '-class' più volte per visualizzare più tipi di hardware contemporaneamente con il comando 'lshw'.

Ad esempio, per visualizzare i dispositivi di archiviazione e le partizioni del disco utilizzando il comando 'lshw', utilizzare due volte l'opzione '-class' come segue:

$ sudo eccetera -businfo -classe disco -classe volume

O

$ sudo eccetera -corto -classe disco -classe volume -classe

Come puoi vedere, lshw ha elencato i dispositivi di archiviazione e le partizioni di tali dispositivi di archiviazione.

Trovare le informazioni dettagliate sull'hardware con Lshw

Per trovare informazioni dettagliate su tipi specifici di hardware (ad esempio rete), esegui lshw con l'opzione '-class' come segue:

$ sudo eccetera -classe rete

Come puoi vedere, vengono stampate informazioni molto dettagliate su tutti i dispositivi di rete installati sul nostro computer.

Nascondere informazioni sensibili dall'output di Lshw

Per impostazione predefinita, il comando 'lshw' stampa informazioni sensibili (ad esempio l'indirizzo MAC dei dispositivi di rete) mentre visualizza le informazioni dettagliate sull'hardware. Se hai bisogno di condividere le informazioni sull'hardware con altre persone su Internet per ottenere aiuto, ad esempio, con l'installazione di un driver, potresti voler nascondere quelle informazioni sensibili dall'output di lshw.

Per nascondere le informazioni sensibili dalle informazioni dettagliate sull'hardware, è possibile utilizzare l'opzione '-sanitize' del comando 'lshw' come segue:

$ sudo eccetera -igienizzare -classe rete

Come puoi vedere, gli indirizzi MAC e gli indirizzi IP vengono rimossi dai dispositivi di rete.

Visualizzazione degli ID numerici per dispositivi PCIe e USB

Per impostazione predefinita, gli ID numerici non vengono visualizzati per i dispositivi PCIe e USB nell'output del comando 'lshw'.

Per visualizzare gli ID numerici dei dispositivi PCIe e USB nell'output del comando 'lshw', utilizzare l'opzione '-numeric' come segue:

$ sudo eccetera -numerico -classe rete

O

$ sudo eccetera -numerico -classe autobus

Come puoi vedere, gli ID numerici vengono visualizzati per i dispositivi USB nell'output del comando 'lshw'.

Rimozione dei timestamp volatili dall'output Lshw

Per impostazione predefinita, lshw stampa i timestamp volatili (modifica dei dati temporali) per i volumi del disco e altri dispositivi. Se non vuoi vedere quei timestamp, esegui il comando 'lshw' con l'opzione '-notime' come segue:

$ sudo eccetera -non c'è tempo -classe volume

Come puoi vedere, i dati del timestamp montato vengono rimossi dall'output lshw dove viene utilizzata l'opzione '-notime'.

Esportazione delle informazioni sull'hardware utilizzando Lshw

È possibile esportare le informazioni sull'hardware lshw in diversi formati. Al momento in cui scrivo, lshw può esportare le informazioni hardware nei seguenti formati:

  • Base di dati SQLite
  • HTML
  • XML
  • JSON

Per esportare le informazioni sull'hardware lshw in un file di database SQLite, eseguire il comando seguente:

$ sudo eccetera -scarico ~ / dati / lshw.db &>/ dev / nullo

Come puoi vedere, viene creato il file di database SQLite “lshw.db”.

$ ls -sx ~ / dati

È possibile leggere il file di database 'lshw.db' con SQLite e stampare tutte le tabelle del database come segue:

$ sudo sqlite3 ~ / dati / lshw.db --linea '.tabelle'

È possibile stampare un'informazione sui dispositivi di rete dal file “lshw.db” con il seguente comando SQLite:

$ sudo sqlite3 ~ / dati / lshw.db --linea 'SELECT * FROM nodi WHERE classe LIKE 'rete''

Per esportare le informazioni sull'hardware lshw in un file HTML, esegui il comando seguente:

$ sudo eccetera -html > ~ / dati / lshw.html

Se desideri disinfettare/nascondere anche informazioni sensibili, esegui il comando di esportazione HTML lshw come segue:

$ sudo eccetera -igienizzare -html > ~ / dati / lshw.html

Come puoi vedere, le informazioni sull'hardware lshw vengono esportate in un file HTML 'lshw.html'.

$ ls -sx ~ / dati

Puoi aprire il file 'lshw.html' con il tuo browser web preferito.

$ firefox ~ / dati / lshw.html

Abbiamo aperto il file 'lshw.html' con il browser web Mozilla Firefox e le informazioni sull'hardware vengono visualizzate come puoi vedere nello screenshot seguente:

Per esportare le informazioni sull'hardware lshw in un file XML, eseguire il comando seguente:

$ sudo eccetera -xml > ~ / dati / lshw.xml

Se desideri disinfettare/nascondere anche informazioni sensibili, esegui il comando lshw XML Export come segue:

$ sudo eccetera -igienizzare -xml > ~ / dati / lshw.xml

Come puoi vedere, le informazioni sull'hardware lshw vengono esportate in un file XML 'lshw.xml'.

$ ls -sx ~ / dati

Abbiamo aperto il file 'lshw.xml' con l'editor di testo Vim e le informazioni sull'hardware lshw vengono visualizzate in formato XML come puoi vedere nello screenshot seguente:

$ Perché ~ / dati / lshw.xml

Per esportare le informazioni sull'hardware lshw in un file JSON, esegui il comando seguente:

$ sudo eccetera -json > ~ / dati / lshw.json

Se desideri disinfettare/nascondere anche informazioni sensibili, esegui il comando di esportazione JSON lshw come segue:

$ sudo eccetera -igienizzare -json > ~ / dati / lshw.json

Come puoi vedere, le informazioni sull'hardware lshw vengono esportate in un file JSON 'lshw.json'.

$ ls -sx ~ / dati

Abbiamo aperto il file 'lshw.json' con l'editor di testo Vim e le informazioni sull'hardware lshw vengono visualizzate in formato JSON come puoi vedere nello screenshot seguente:

$ Perché ~ / dati / lshw.json

Le opzioni lshw -sanitize, -numeric e -notime funzioneranno per le esportazioni lshw HTML, XML e JSON, non per l'esportazione SQLite. Per ulteriori informazioni su queste opzioni, leggere le sezioni precedenti di questo articolo.

Esempio 1: trovare le GPU installate sul tuo computer/server con Lshw

Dopo aver installato un nuovo sistema operativo sul tuo computer/server, una delle cose più importanti da fare è trovare la GPU (scheda grafica/processore) che hai installato sul tuo computer/server e installarne il driver appropriato.

Puoi trovare le GPU che hai installato sul tuo computer/server con il seguente comando 'lshw':

$ sudo eccetera -classe Schermo

Come puoi vedere, sul nostro computer è installata una NVIDIA GeForce RTX 4070 [1] . Utilizza i driver NVIDIA ufficiali (come li abbiamo installati) [2] . Se hai una GPU NVIDIA installata sul tuo computer/server, ma i driver NVIDIA ufficiali non sono installati, vedrai invece 'driver=nouveau'. In tal caso, dovrai installare i driver NVIDIA ufficiali sul tuo computer/server per poter utilizzare tutte le funzionalità e ottenere le migliori prestazioni dalla tua GPU.

Esempio 2: Trovare il Chipset dei Dispositivi/Interfacce di Rete con Lshw

Anche l'installazione del driver di rete corretto è una parte essenziale di una nuova installazione di Linux. A meno che non siano installati i driver di rete corretti, i dispositivi di rete potrebbero non funzionare o funzionare con funzionalità limitate (potrebbero comportare prestazioni di rete molto scarse). Per poter installare i driver di rete corretti, è necessario conoscere il chipset dei dispositivi di rete.

Per trovare il chipset e altre informazioni sui dispositivi di rete installati sul tuo computer/server, esegui il comando 'lshw' come segue:

$ sudo eccetera -classe rete

Come puoi vedere, abbiamo due dispositivi Ethernet installati sul nostro computer.

Uno di questi è un'interfaccia di rete Intel I211 Gigabit [1] . Il kernel Linux gli ha dato un nome logico come enp38s0 [2] . Come puoi vedere, utilizza il chipset Intel igb (driver=igb) [3] . Pertanto, per far funzionare questa interfaccia di rete, è necessario installare il driver/firmware Intel igb sul computer/server (se non è già installato).

L'altra è un'interfaccia di rete Realtek RTL8125 2.5GbE [4] . Il kernel Linux gli ha dato un nome logico come enp39s0 [5] . Come puoi vedere, utilizza il chipset Realtek r8169 (driver=r8169) [6] . Pertanto, per far funzionare questa interfaccia di rete, è necessario installare il driver/firmware Realtek r8169 sul computer/server (se non è già installato).

Abbiamo anche un dispositivo Ethernet USB e un adattatore WiFi collegati al nostro computer.

L'interfaccia di rete LAN USB 10/100 Mbps [1] ha il nome logico, enp42s0f3u6u3 [2] . Come puoi vedere, utilizza il chipset Realtek r8152 (driver=r8152) [6] . Pertanto, per far funzionare questa interfaccia di rete, è necessario installare il driver/firmware Realtek r8152 sul computer/server (se non è già installato).

L'interfaccia di rete WiFi 802.11n[4] ha il nome logico wlp42s0f3u1[5]. Come puoi vedere, utilizza il chipset MediaTek mt7601u (driver=mt7601u) [6] . Pertanto, per far funzionare questa interfaccia di rete, è necessario installare il driver/firmware MediaTek mt7601u sul computer/server (se non è già installato).

Conclusione

Questa è una guida completa su lshw. In questo articolo, ti abbiamo mostrato come installare lshw sulle distribuzioni Linux più diffuse (ad esempio Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Ti abbiamo anche mostrato come elencare l'hardware del tuo computer, filtrare l'output di lshw per visualizzare determinati tipi di hardware e nascondere informazioni hardware sensibili dall'output di lshw. Ti abbiamo mostrato come visualizzare l'ID numerico per i dispositivi PCIE e USB e come rimuovere i timestamp volatili dall'output lshw. Ti abbiamo anche mostrato come esportare le informazioni sull'hardware lshw nel database SQLite, in formato HTML, XML e JSON e leggerle. Infine, ti abbiamo mostrato come trovare la GPU e i dispositivi di rete che hai installato sul tuo computer e il chipset utilizzato dai dispositivi di rete con lshw per aiutarti con la corretta installazione di driver/firmware.

Riferimenti: