Comment installer Lshw sur Linux et l'utiliser pour rechercher des informations sur le matériel

Comment Installer Lshw Sur Linux Et L Utiliser Pour Rechercher Des Informations Sur Le Materiel



Lshw est un outil de ligne de commande Linux permettant de trouver des informations sur le matériel installé sur votre ordinateur/serveur. Lshw peut signaler la carte mère/carte mère, le processeur, la mémoire, le disque, PCIE, USB et d'autres informations matérielles.

Lshw est disponible sur toutes les distributions Linux. Ainsi, vous pouvez utiliser le même outil pour trouver les informations matérielles requises sur chaque distribution Linux.







Dans cet article, nous allons vous montrer comment installer lshw sur les distributions Linux populaires et l'utiliser pour trouver les informations sur le matériel.



Sujet du contenu :

Installation de Lshw sur Ubuntu/Debian/Linux Mint/Kali Linux

Lshw est disponible dans le référentiel de packages officiel d'Ubuntu/Debian/Linux Mint/Kali Linux. Ainsi, vous pouvez l’installer facilement sur votre ordinateur/serveur.



Tout d’abord, mettez à jour le cache du référentiel du package APT avec la commande suivante :





$ sudo mise à jour appropriée



Pour installer lshw, exécutez la commande suivante :

$ sudo apte installer -et etc.

Lshw doit être installé sur votre système Ubuntu/Debian/Linux Mint/Kali Linux.

Installation de Lshw sur Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Lshw est disponible dans le référentiel de packages officiel de Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Ainsi, vous pouvez l’installer facilement sur votre ordinateur/serveur.

Tout d’abord, mettez à jour le cache du référentiel du package DNF avec la commande suivante :

$ sudo dnf makecache

Pour installer lshw, exécutez la commande suivante :

$ sudo dnf installer etc.

Pour confirmer l'installation, appuyez sur « Y » puis appuyez sur .

Lshw doit être installé sur votre système Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream.

Liste du matériel disponible avec Lshw

Vous pouvez lister tout le matériel disponible de votre ordinateur/serveur avec lshw comme suit :

$ sudo etc. -court

Tout le matériel disponible de votre ordinateur/serveur doit être répertorié dans un format agréable.

Vous trouverez ici les informations suivantes :

  1. Chemin matériel : Il s'agit du chemin physique du matériel installé sur votre ordinateur/serveur. Ici, /0 est la carte mère, /0/100 est le processeur (connecté à la carte mère), /0/100/ est le matériel connecté aux voies du processeur, et ainsi de suite.
  2. Appareil : Il s'agit du nom/identifiant attribué par le noyau au matériel. L'exemple le plus courant est le nom/identifiant des périphériques réseau tels que enp38s0, enp39s0, etc.
  3. Classe : Tout le matériel de votre ordinateur/serveur appartient à un certain groupe/classe. Par exemple, les périphériques réseau sont regroupés dans la classe réseau, les périphériques de stockage sont regroupés dans la classe de stockage, etc. La classe matérielle peut être utilisée pour filtrer la sortie de lshw .
  4. Description : Il s’agit d’une brève description du matériel respectif.

Si vous souhaitez voir les informations de bus du matériel au lieu du chemin du matériel (chemin matériel), exécutez la commande lshw comme suit :

$ sudo etc. -infobus

Comme vous pouvez le constater, la première colonne affiche désormais les informations de bus du matériel au lieu du chemin du matériel.

Les informations de bus des différents matériels afficheront les informations dans différents formats :

  • CPU : L'ID de bus des CPU sera dans le cpu@ , Par exemple, le CPU cpu@0 (processeur AMD Ryzen 9 3900X dans mon cas) a l'ID 0. Sur la plupart des ordinateurs de bureau et portables, vous n'aurez qu'un seul processeur et une seule entrée CPU qui est « cpu@0 ».
  • Appareils PCIE : L'ID de bus des périphériques PCIE sera dans le pci@: : . Le numéro est également appelé numéro . Par exemple, le périphérique PCIE pci@0000:26:00.0 (périphérique réseau Gigabit I211 dans notre cas) possède le domaine 0000, le bus 26, l'emplacement/périphérique 00 et la fonction 0. Les numéros d'identification sont hexadécimaux et complétés par des zéros.
  • Périphériques SCSI : L'ID de bus des périphériques de stockage SCSI sera dans le scsi@:. ., Par exemple, scsi@1:0.0.0 est un périphérique de stockage SCSI/SATA doté du contrôleur 1, de la cible 0, de l'ID 0, du LUN 0 et d'aucune partition. Si le périphérique de stockage SCSI/SATA comporte des partitions, l'ID du bus sera scsi@1:0.0.0,1 pour la première partition, scsi@1:0.0.0,2 pour la deuxième partition, scsi@1:0.0.0 ,3 pour la troisième partition, et ainsi de suite.
  • Périphériques USB : L'ID de bus des périphériques de stockage USB sera dans le usb@: . Par exemple, usb@3:6.3 est un périphérique USB doté du contrôleur 3, de l'emplacement 6 et de l'identifiant 3. L'usb@3:1 est un périphérique USB doté du contrôleur 3 et de l'emplacement 1.

Filtrage de la sortie Lshw avec la classe matérielle

Lshw attribue une classe à chaque périphérique matériel. Vous pouvez filtrer la sortie de la commande « lshw » pour inclure uniquement certains types de matériel utilisant ces noms de classe.

Les classes matérielles lshw disponibles sont :

  • système : La carte mère et les périphériques PnP du système.
  • pont : Les périphériques de bus internes comme PCIE, pont hôte, etc.
  • mémoire : Les périphériques de mémoire comme le BIOS, la RAM, la ROM, les caches CPU, le firmware, etc.
  • processeur : Les processeurs de votre ordinateur et les contrôleurs SCSI RAID.
  • adresse : Les adresses mémoire pour l’extension ROM et vidéo.
  • stockage : Le contrôleur SCSI et IDE.
  • disque : Les périphériques de stockage à accès aléatoire comme le disque dur, le SSD, le SSD NVME, le CD-ROM, le DVD, etc.
  • volume : Les partitions de vos disques/périphériques de stockage.
  • ruban adhésif : Les périphériques de stockage à accès séquentiel comme DAT, DDS, etc.
  • bus : Le bus de connexion du périphérique comme USB, SCSI, FireWire, etc.
  • réseau : Les interfaces réseau comme Ethernet, WiFi, etc.
  • afficher : Les périphériques d'affichage comme votre GPU.
  • saisir : Les périphériques d'entrée comme vos claviers, souris, ports HDMI/DP, ports audio HD, bouton d'alimentation, haut-parleur PC, etc.
  • imprimante : Les appareils d'impression, c'est-à-dire l'imprimante.
  • multimédia : Les périphériques audio et vidéo comme la carte vidéo (GPU), la carte son, la carte de sortie TV, etc.
  • communication : Les appareils de communication comme Bluetooth.
  • pouvoir : Les sources d'énergie comme l'alimentation (PSU), la batterie interne, etc.
  • générique : Les appareils qui ne peuvent pas être classés.

Tous les ordinateurs/serveurs ne disposeront pas de toutes les classes de matériel installées. Ainsi, pour connaître les classes de matériel dont dispose votre ordinateur/serveur, nous vous recommandons d'exécuter la commande « lshw » avec l'option « -short » ou « -businfo ».

$ sudo etc. -court

$ sudo etc. -infobus

Pour filtrer la sortie de la commande « lshw » afin d'afficher uniquement les types spécifiques de matériel (c'est-à-dire les périphériques de stockage), utilisez l'option « -class » comme suit :

$ sudo etc. -infobus -classe disque

ou

$ sudo etc. -court -classe disque

Comme vous pouvez le voir, lshw n'a répertorié que les périphériques de stockage (2 disques SSD Samsung 860 EVO SATA de 500 Go) installés sur notre ordinateur.

Vous pouvez utiliser l'option « -class » plusieurs fois pour afficher plusieurs types de matériel à la fois avec la commande « lshw ».

Par exemple, pour afficher les périphériques de stockage ainsi que les partitions de disque à l'aide de la commande « lshw », utilisez l'option « -class » deux fois comme suit :

$ sudo etc. -infobus -classe disque -classe volume

ou

$ sudo etc. -court -classe disque -classe volume -classe

Comme vous pouvez le voir, lshw a répertorié les périphériques de stockage ainsi que les partitions de ces périphériques de stockage.

Recherche des informations détaillées sur le matériel avec Lshw

Pour trouver des informations détaillées sur des types spécifiques de matériel (c'est-à-dire le réseau), exécutez lshw avec l'option « -class » comme suit :

$ sudo etc. -classe réseau

Comme vous pouvez le voir, des informations très détaillées sur tous les périphériques réseau installés sur notre ordinateur sont imprimées.

Masquage des informations sensibles de la sortie Lshw

Par défaut, la commande « lshw » imprime une information sensible (c'est-à-dire l'adresse MAC des périphériques réseau) tout en affichant les informations détaillées sur le matériel. Si vous avez besoin de partager des informations sur le matériel avec d'autres personnes sur Internet pour obtenir de l'aide pour l'installation d'un pilote par exemple, vous souhaiterez peut-être masquer ces informations sensibles de la sortie lshw.

Pour masquer les informations sensibles des informations détaillées sur le matériel, vous pouvez utiliser l'option « -sanitize » de la commande « lshw » comme suit :

$ sudo etc. -désinfecter -classe réseau

Comme vous pouvez le constater, les adresses MAC et IP sont supprimées des périphériques réseau.

Affichage des identifiants numériques des périphériques PCIe et USB

Par défaut, les ID numériques ne sont pas affichés pour les périphériques PCIe et USB dans la sortie de la commande « lshw ».

Pour afficher les identifiants numériques des périphériques PCIe et USB dans la sortie de la commande « lshw », utilisez l'option « -numeric » comme suit :

$ sudo etc. -numérique -classe réseau

ou

$ sudo etc. -numérique -classe bus

Comme vous pouvez le voir, les identifiants numériques sont affichés pour les périphériques USB dans la sortie de la commande « lshw ».

Suppression des horodatages volatils de la sortie Lshw

Par défaut, lshw imprime les horodatages volatils (données temporelles changeantes) pour les volumes de disque et autres périphériques. Si vous ne souhaitez pas voir ces horodatages, exécutez la commande « lshw » avec l'option « -notime » comme suit :

$ sudo etc. -pas le temps -classe volume

Comme vous pouvez le voir, les données d'horodatage montées sont supprimées de la sortie lshw où l'option « -notime » est utilisée.

Exportation des informations sur le matériel à l'aide de Lshw

Vous pouvez exporter les informations sur le matériel lshw dans différents formats. Au moment d'écrire ces lignes, lshw peut exporter les informations sur le matériel dans les formats suivants :

  • Base de données SQLite
  • HTML
  • XML
  • JSON

Pour exporter les informations matérielles lshw vers un fichier de base de données SQLite, exécutez la commande suivante :

$ sudo etc. -décharge ~ / données / lshw.db &>/ développeur / nul

Comme vous pouvez le voir, le fichier de base de données SQLite « lshw.db » est créé.

$ ls -lh ~ / données

Vous pouvez lire le fichier de base de données « lshw.db » avec SQLite et imprimer toutes les tables de la base de données comme suit :

$ sudo sqlite3 ~ / données / lshw.db --doubler '.les tables'

Vous pouvez imprimer une information sur les périphériques réseau à partir du fichier « lshw.db » avec la commande SQLite suivante :

$ sudo sqlite3 ~ / données / lshw.db --doubler 'SELECT * FROM nœuds WHERE classe LIKE 'réseau''

Pour exporter les informations matérielles lshw vers un fichier HTML, exécutez la commande suivante :

$ sudo etc. -html > ~ / données / lshw.html

Si vous souhaitez également nettoyer/masquer une information sensible, exécutez la commande d'exportation HTML lshw comme suit :

$ sudo etc. -désinfecter -html > ~ / données / lshw.html

Comme vous pouvez le voir, les informations sur le matériel lshw sont exportées vers un fichier HTML « lshw.html ».

$ ls -lh ~ / données

Vous pouvez ouvrir le fichier « lshw.html » avec votre navigateur Web préféré.

$ Firefox ~ / données / lshw.html

Nous avons ouvert le fichier « lshw.html » avec le navigateur Web Mozilla Firefox et les informations sur le matériel sont affichées comme vous pouvez le voir dans la capture d'écran suivante :

Pour exporter les informations matérielles lshw vers un fichier XML, exécutez la commande suivante :

$ sudo etc. -xml > ~ / données / lshw.xml

Si vous souhaitez également nettoyer/masquer des informations sensibles, exécutez la commande d'exportation XML lshw comme suit :

$ sudo etc. -désinfecter -xml > ~ / données / lshw.xml

Comme vous pouvez le voir, les informations sur le matériel lshw sont exportées vers un fichier XML « lshw.xml ».

$ ls -lh ~ / données

Nous avons ouvert le fichier « lshw.xml » avec l'éditeur de texte Vim et les informations sur le matériel lshw sont affichées au format XML comme vous pouvez le voir dans la capture d'écran suivante :

$ parce que ~ / données / lshw.xml

Pour exporter les informations matérielles lshw vers un fichier JSON, exécutez la commande suivante :

$ sudo etc. -json > ~ / données / lshw.json

Si vous souhaitez également nettoyer/masquer des informations sensibles, exécutez la commande d'exportation lshw JSON comme suit :

$ sudo etc. -désinfecter -json > ~ / données / lshw.json

Comme vous pouvez le voir, les informations sur le matériel lshw sont exportées vers un fichier JSON « lshw.json ».

$ ls -lh ~ / données

Nous avons ouvert le fichier « lshw.json » avec l'éditeur de texte Vim et les informations sur le matériel lshw sont affichées au format JSON comme vous pouvez le voir dans la capture d'écran suivante :

$ parce que ~ / données / lshw.json

Les options lshw -sanitize, -numeric et -notime fonctionneront pour les exportations lshw HTML, XML et JSON, pas pour l'exportation SQLite. Pour plus d’informations sur ces options, lisez les sections précédentes de cet article.

Exemple 1 : Recherche des GPU installés sur votre ordinateur/serveur avec Lshw

Après avoir installé un nouveau système d'exploitation sur votre ordinateur/serveur, l'une des choses les plus importantes à faire est de trouver le GPU (carte graphique/processeur) que vous avez installé sur votre ordinateur/serveur et d'installer le pilote approprié pour celui-ci.

Vous pouvez trouver les GPU que vous avez installés sur votre ordinateur/serveur avec la commande « lshw » suivante :

$ sudo etc. -classe afficher

Comme vous pouvez le voir, nous avons une NVIDIA GeForce RTX 4070 installée sur notre ordinateur [1] . Il utilise les pilotes NVIDIA officiels (tels que nous les avons installés) [2] . Si vous avez un GPU NVIDIA installé sur votre ordinateur/serveur, mais que les pilotes NVIDIA officiels ne sont pas installés, vous verrez « driver=nouveau » à la place. Dans ce cas, vous devrez installer les pilotes NVIDIA officiels sur votre ordinateur/serveur pour pouvoir utiliser toutes les fonctionnalités et obtenir les meilleures performances de votre GPU.

Exemple 2 : Trouver le chipset des périphériques/interfaces réseau avec Lshw

L'installation du bon pilote réseau est également une partie essentielle d'une nouvelle installation Linux. À moins que les pilotes réseau appropriés ne soient installés, vos périphériques réseau risquent de ne pas fonctionner ou de fonctionner avec des fonctionnalités limitées (ce qui peut entraîner de très mauvaises performances réseau). Pour pouvoir installer les pilotes réseau appropriés, vous devez connaître le chipset de vos périphériques réseau.

Pour trouver le chipset et d'autres informations sur les périphériques réseau installés sur votre ordinateur/serveur, exécutez la commande « lshw » comme suit :

$ sudo etc. -classe réseau

Comme vous pouvez le voir, deux périphériques Ethernet sont installés sur notre ordinateur.

L'un d'eux est une interface réseau Intel I211 Gigabit [1] . Le noyau Linux lui a donné un nom logique comme enp38s0 [2] . Comme vous pouvez le voir, il utilise le chipset Intel igb (driver=igb) [3] . Ainsi, pour que cette interface réseau fonctionne, vous devez installer le pilote/micrologiciel Intel igb sur votre ordinateur/serveur (s'il n'est pas déjà installé).

L'autre est une interface réseau Realtek RTL8125 2,5GbE [4] . Le noyau Linux lui a donné un nom logique comme enp39s0 [5] . Comme vous pouvez le voir, il utilise le chipset Realtek r8169 (pilote=r8169) [6] . Ainsi, pour que cette interface réseau fonctionne, vous devez installer le pilote/micrologiciel Realtek r8169 sur votre ordinateur/serveur (s'il n'est pas déjà installé).

Nous disposons également d'un périphérique USB Ethernet et d'un adaptateur WiFi connectés à notre ordinateur.

L'interface réseau LAN USB 10/100 mbps [1] a le nom logique, enp42s0f3u6u3 [2] . Comme vous pouvez le voir, il utilise le chipset Realtek r8152 (pilote=r8152) [6] . Ainsi, pour que cette interface réseau fonctionne, vous devez installer le pilote/micrologiciel Realtek r8152 sur votre ordinateur/serveur (s'il n'est pas déjà installé).

L'interface réseau WiFi 802.11n[4] porte le nom logique wlp42s0f3u1[5]. Comme vous pouvez le voir, il utilise le chipset MediaTek mt7601u (driver=mt7601u) [6] . Ainsi, pour que cette interface réseau fonctionne, vous devez installer le pilote/micrologiciel MediaTek mt7601u sur votre ordinateur/serveur (s'il n'est pas déjà installé).

Conclusion

Ceci est un guide complet sur lshw. Dans cet article, nous vous avons montré comment installer lshw sur les distributions Linux populaires (c'est-à-dire Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Nous vous avons également montré comment répertorier le matériel de votre ordinateur, filtrer la sortie de lshw pour afficher certains types de matériel et masquer les informations matérielles sensibles de la sortie de lshw. Nous vous avons montré comment afficher l'ID numérique des périphériques PCIE et USB, ainsi que supprimer les horodatages volatils de la sortie lshw. Nous vous avons également montré comment exporter les informations sur le matériel lshw au format SQLite, HTML, XML et JSON et les lire. Enfin, nous vous avons montré comment trouver le GPU et les périphériques réseau que vous avez installés sur votre ordinateur ainsi que le chipset que les périphériques réseau utilisent avec lshw pour vous aider à installer correctement le pilote/micrologiciel.

Les références: