Probabilmente avete già familiarità con strumenti come lsusb, lspci, hwinfo, dmidecode, smartctl, acpi, ecc., disponibili nei nostri ambienti GNU/Linux per ottenere informazioni sull'hardware . Anche le informazioni ottenute leggendo i file nel pseudo-filesystem /proc, come /proc/cpuinfo, sono utili. Ebbene, come spesso accade, esistono molte altre alternative, come Hwinfo, che offre non solo un'interfaccia a riga di comando (CLI) ma anche una fantastica interfaccia grafica utente (GUI) che ricorda programmi come AIDA64 o Everest.
Oggi parleremo di un altro strumento chiamato lshw, che elenca e fornisce informazioni su tutti i dispositivi hardware del computer. Questo può essere molto utile per conoscere a fondo l'hardware e determinare quali driver installare, o come configurare al meglio un nuovo kernel che si sta installando sul sistema, e così via. A volte serve semplicemente per visualizzare informazioni provenienti dai sensori o dallo stato del sistema...
Di solito non è installato di default, quindi è necessario installarlo prima di poterlo utilizzare. Il pacchetto è presente nei repository ufficiali, quindi è sufficiente installare un pacchetto chiamato lshw tramite il gestore di pacchetti della propria distribuzione. Il suo nome, come si può intuire, deriva da Hardware Lister, ed è un piccolo strumento open source per ottenere informazioni su memoria, CPU, cache, velocità, rete, scheda grafica, dispositivi di I/O, ecc. Lo fa recuperando informazioni sia da /proc che dalla tabella DMI.
Per utilizzarlo, è possibile usare `lshw` senza opzioni per un output di informazioni più generico, oppure con alcune opzioni più interessanti. Ad esempio, per filtrare per tipo di bus o dispositivo, come con le opzioni `lshw -shot` o `lshw -businfo`, oppure per informazioni su un dispositivo specifico, è possibile utilizzare l'opzione `-class` seguita dalla classe. Ad esempio, per informazioni di sistema, `lshw -class system`, o per informazioni sulla memoria, `lshw -class memory`. Per ulteriori informazioni, consultare `man lshw`.