Cómo instalar Lshw en Linux y usarlo para buscar información de hardware

Como Instalar Lshw En Linux Y Usarlo Para Buscar Informacion De Hardware



Lshw es una herramienta de línea de comandos de Linux para encontrar información sobre el hardware instalado en su computadora/servidor. Lshw puede informar la placa base/placa base, CPU, memoria, disco, PCIE, USB y otra información de hardware.

Lshw está disponible en todas las distribuciones de Linux que existen. Por lo tanto, puede utilizar la misma herramienta para encontrar la información de hardware requerida en cada distribución de Linux.







En este artículo, le mostraremos cómo instalar lshw en distribuciones populares de Linux y utilizarlo para encontrar información de hardware.



Tema de contenidos:

Instalación de Lshw en Ubuntu/Debian/Linux Mint/Kali Linux

Lshw está disponible en el repositorio de paquetes oficial de Ubuntu/Debian/Linux Mint/Kali Linux. Entonces, puedes instalarlo fácilmente en tu computadora/servidor.



Primero, actualice la caché del repositorio de paquetes APT con el siguiente comando:





$ sudo actualización adecuada

 



Para instalar lshw, ejecute el siguiente comando:

$ sudo apto instalar -y etc.

 

Lshw debe estar instalado en su sistema Ubuntu/Debian/Linux Mint/Kali Linux.

Instalación de Lshw en Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Lshw está disponible en el repositorio de paquetes oficial de Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Entonces, puedes instalarlo fácilmente en tu computadora/servidor.

Primero, actualice la caché del repositorio de paquetes DNF con el siguiente comando:

$ sudo dnf crear caché

 

Para instalar lshw, ejecute el siguiente comando:

$ sudo dnf instalar etc.

 

Para confirmar la instalación, presione “Y” y luego presione .

Lshw debe estar instalado en su sistema Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream.

Listado del hardware disponible con Lshw

Puede enumerar todo el hardware disponible de su computadora/servidor con lshw de la siguiente manera:

$ sudo etc. -corto

 

Todo el hardware disponible de su computadora/servidor debe aparecer en un formato agradable.

Encontrará la siguiente información aquí:

  1. Ruta H/W : Esta es la ruta física del hardware instalado en su computadora/servidor. Aquí, /0 es la placa base, /0/100 es el procesador (conectado a la placa base), /0/100/ es el hardware que está conectado a las líneas del procesador, y así sucesivamente.
  2. Dispositivo : Este es el nombre/identificador del hardware asignado por el kernel. El ejemplo más común es el nombre/identificador del dispositivo de los dispositivos de red, como enp38s0, enp39s0, etc.
  3. Clase : Todo el hardware de su computadora/servidor pertenece a un determinado grupo/clase. Por ejemplo, los dispositivos de red se agrupan en la clase de red, los dispositivos de almacenamiento se agrupan en la clase de almacenamiento, etc. La clase de hardware se puede utilizar para filtrar la salida de lshw .
  4. Descripción : Es una breve descripción del hardware respectivo.

Si desea ver la información del bus del hardware en lugar de la ruta del hardware (ruta H/W), ejecute el comando lshw de la siguiente manera:

$ sudo etc. -infobus

 

Como puede ver, la primera columna ahora muestra la información del bus del hardware en lugar de la ruta del hardware.

La información del bus de diferente hardware mostrará la información en diferentes formatos:

  • UPC : El ID del bus de las CPU estará en cpu@ ,. Por ejemplo, la CPU cpu@0 (procesador AMD Ryzen 9 3900X en mi caso) tiene el ID 0. En la mayoría de las computadoras de escritorio y portátiles, tendrá sólo un procesador y una entrada de CPU que es “cpu@0”.
  • Dispositivos PCIE: El ID del bus de los dispositivos PCIE estará en el pci@: :. El número de también se denomina número de . Por ejemplo, el dispositivo PCIE pci@0000:26:00.0 (dispositivo de red gigabit I211 en nuestro caso) tiene el dominio 0000, bus 26, ranura/dispositivo 00 y función 0. Los números de identificación son hexadecimales y se rellenan con ceros.
  • dispositivos SCSI : El ID del bus de los dispositivos de almacenamiento SCSI estará en el scsi@:. ., Por ejemplo, scsi@1:0.0.0 es un dispositivo de almacenamiento SCSI/SATA que tiene controlador 1, destino 0, id 0, lun 0 y sin particiones. Si el dispositivo de almacenamiento SCSI/SATA tiene particiones, el ID del bus será scsi@1:0.0.0,1 para la primera partición, scsi@1:0.0.0,2 para la segunda partición, scsi@1:0.0.0 ,3 para la tercera partición, y así sucesivamente.
  • dispositivos USB : El ID del bus de los dispositivos de almacenamiento USB estará en el usb@:. Por ejemplo, usb@3:6.3 es un dispositivo USB que tiene el controlador 3, ranura 6 y id 3. El usb@3:1 es un dispositivo USB que tiene el controlador 3 y la ranura 1.

Filtrado de la salida Lshw con clase de hardware

Lshw asigna una clase a cada dispositivo de hardware. Puede filtrar la salida del comando 'lshw' para incluir solo ciertos tipos de hardware que utilizan estos nombres de clase.

Las clases de hardware lshw disponibles son:

  • sistema : La placa base y los dispositivos PnP del sistema.
  • puente : Los dispositivos de bus interno como PCIE, puente de host, etc.
  • memoria : Los dispositivos de memoria como BIOS, RAM, ROM, cachés de CPU, firmware, etc.
  • procesador : Los procesadores de su computadora y los controladores SCSI RAID.
  • DIRECCIÓN : Las direcciones de memoria para extensión ROM y vídeo.
  • almacenamiento : El controlador SCSI e IDE.
  • disco : Los dispositivos de almacenamiento de acceso aleatorio como HDD, SSD, NVME SSD, CD-ROM, DVD, etc.
  • volumen : Las particiones de su disco/dispositivos de almacenamiento.
  • cinta : Los dispositivos de almacenamiento de acceso secuencial como DAT, DDS, etc.
  • autobús : El dispositivo que conecta el bus como USB, SCSI, FireWire, etc.
  • red : Las interfaces de red como Ethernet, WiFi, etc.
  • mostrar : Los dispositivos de visualización como su GPU.
  • aporte : Los dispositivos de entrada como teclados, ratones, puertos HDMI/DP, puertos de audio HD, botón de encendido, altavoz de PC, etc.
  • impresora : Los dispositivos de impresión, es decir, la impresora.
  • multimedia : Los dispositivos de audio y video como tarjeta de video (GPU), tarjeta de sonido, tarjeta de salida de TV, etc.
  • comunicación : Los dispositivos de comunicación como Bluetooth.
  • fuerza : Las fuentes de energía como fuente de alimentación (PSU), batería interna, etc.
  • genérico : Los dispositivos que no se pueden clasificar.

No todas las computadoras/servidores tendrán instalado todo tipo de hardware. Entonces, para encontrar las clases de hardware que tiene su computadora/servidor, le recomendamos ejecutar el comando “lshw” con la opción “-short” o “-businfo”.

$ sudo etc. -corto

$ sudo etc. -infobus

 

Para filtrar la salida del comando 'lshw' para mostrar solo los tipos específicos de hardware (es decir, dispositivos de almacenamiento), use la opción '-class' de la siguiente manera:

$ sudo etc. -infobus -clase disco

 

o

$ sudo etc. -corto -clase disco

 

Como puede ver, lshw enumeró solo los dispositivos de almacenamiento (2 SSD Samsung 860 EVO SATA de 500 GB) que están instalados en nuestra computadora.

Puede utilizar la opción '-class' varias veces para mostrar varios tipos de hardware a la vez con el comando 'lshw'.

Por ejemplo, para mostrar los dispositivos de almacenamiento y las particiones del disco usando el comando 'lshw', use la opción '-class' dos veces de la siguiente manera:

$ sudo etc. -infobus -clase disco -clase volumen

 

o

$ sudo etc. -corto -clase disco -clase volumen -clase

 

Como puede ver, lshw enumeró los dispositivos de almacenamiento, así como las particiones de esos dispositivos de almacenamiento.

Encontrar la información detallada del hardware con Lshw

Para encontrar información detallada sobre tipos específicos de hardware (es decir, red), ejecute lshw con la opción '-class' de la siguiente manera:

$ sudo etc. -clase red

 

Como ves, se imprime una información muy detallada de todos los dispositivos de red que hay instalados en nuestro ordenador.

Ocultar información confidencial de la salida Lshw

De forma predeterminada, el comando 'lshw' imprime información confidencial (es decir, la dirección MAC de los dispositivos de red) mientras muestra información detallada del hardware. Si necesita compartir la información del hardware con otras personas en Internet para obtener ayuda con la instalación de un controlador, por ejemplo, es posible que desee ocultar esa información confidencial de la salida lshw.

Para ocultar la información confidencial de la información detallada del hardware, puede utilizar la opción '-sanitize' del comando 'lshw' de la siguiente manera:

$ sudo etc. -desinfectar -clase red

 

Como puede ver, las direcciones MAC y las direcciones IP se eliminan de los dispositivos de red.

Visualización de ID numéricos para dispositivos PCIe y USB

De forma predeterminada, los ID numéricos no se muestran para los dispositivos PCIe y USB en la salida del comando 'lshw'.

Para mostrar las ID numéricas de los dispositivos PCIe y USB en la salida del comando 'lshw', use la opción '-numeric' de la siguiente manera:

$ sudo etc. -numérico -clase red

 

o

$ sudo etc. -numérico -clase autobús

 

Como puede ver, las ID numéricas se muestran para los dispositivos USB en la salida del comando 'lshw'.

Eliminación de marcas de tiempo volátiles de la salida de Lshw

De forma predeterminada, lshw imprime las marcas de tiempo volátiles (datos de tiempo cambiantes) para volúmenes de disco y otros dispositivos. Si no desea ver esas marcas de tiempo, ejecute el comando 'lshw' con la opción '-notime' de la siguiente manera:

$ sudo etc. -notime -clase volumen

 

Como puede ver, los datos de la marca de tiempo montada se eliminan de la salida de lshw donde se usa la opción '-notime'.

Exportación de la información del hardware mediante Lshw

Puede exportar la información del hardware lshw en diferentes formatos. Al momento de escribir este artículo, lshw puede exportar la información del hardware en los siguientes formatos:

  • base de datos SQLite
  • HTML
  • XML
  • JSON

Para exportar la información del hardware lshw a un archivo de base de datos SQLite, ejecute el siguiente comando:

$ sudo etc. -vertedero ~ / datos / lshw.db &>/ desarrollador / nulo

 

Como puede ver, se crea el archivo de base de datos SQLite “lshw.db”.

$ es -lh ~ / datos

 

Puede leer el archivo de base de datos “lshw.db” con SQLite e imprimir todas las tablas de la base de datos de la siguiente manera:

$ sudo sqlite3 ~ / datos / lshw.db --línea '.mesas'

 

Puede imprimir información sobre los dispositivos de red desde el archivo “lshw.db” con el siguiente comando SQLite:

$ sudo sqlite3 ~ / datos / lshw.db --línea 'SELECCIONAR * DE nodos DONDE clase COMO 'red''

 

Para exportar la información del hardware lshw a un archivo HTML, ejecute el siguiente comando:

$ sudo etc. -html > ~ / datos / lshw.html

 

Si también desea desinfectar/ocultar información confidencial, ejecute el comando de exportación HTML lshw de la siguiente manera:

$ sudo etc. -desinfectar -html > ~ / datos / lshw.html

 

Como puede ver, la información del hardware lshw se exporta a un archivo HTML “lshw.html”.

$ es -lh ~ / datos

 

Puede abrir el archivo 'lshw.html' con su navegador web favorito.

$ firefox ~ / datos / lshw.html

 

Abrimos el archivo “lshw.html” con el navegador web Mozilla Firefox y se muestra la información del hardware como puedes ver en la siguiente captura de pantalla:

Para exportar la información del hardware lshw a un archivo XML, ejecute el siguiente comando:

$ sudo etc. -xml > ~ / datos / lshw.xml

 

Si también desea desinfectar/ocultar información confidencial, ejecute el comando de exportación XML lshw de la siguiente manera:

$ sudo etc. -desinfectar -xml > ~ / datos / lshw.xml

 

Como puede ver, la información del hardware de lshw se exporta a un archivo XML 'lshw.xml'.

$ es -lh ~ / datos

 

Abrimos el archivo “lshw.xml” con el editor de texto Vim y la información del hardware lshw se muestra en formato XML como puedes ver en la siguiente captura de pantalla:

$ porque ~ / datos / lshw.xml

 

Para exportar la información del hardware lshw a un archivo JSON, ejecute el siguiente comando:

$ sudo etc. -json > ~ / datos / lshw.json

 

Si también desea desinfectar/ocultar información confidencial, ejecute el comando de exportación lshw JSON de la siguiente manera:

$ sudo etc. -desinfectar -json > ~ / datos / lshw.json

 

Como puede ver, la información del hardware lshw se exporta a un archivo JSON “lshw.json”.

$ es -lh ~ / datos

 

Abrimos el archivo “lshw.json” con el editor de texto Vim y la información del hardware lshw se muestra en formato JSON como puedes ver en la siguiente captura de pantalla:

$ porque ~ / datos / lshw.json

 

Las opciones lshw -sanitize, -numeric y -notime funcionarán para las exportaciones lshw HTML, XML y JSON, no para las exportaciones SQLite. Para obtener más información sobre estas opciones, lea las secciones anteriores de este artículo.

Ejemplo 1: encontrar las GPU instaladas en su computadora/servidor con Lshw

Después de instalar un nuevo sistema operativo en su computadora/servidor, una de las cosas más importantes que debe hacer es encontrar la GPU (tarjeta gráfica/procesador) que instaló en su computadora/servidor e instalar el controlador adecuado para ella.

Puede encontrar las GPU que instaló en su computadora/servidor con el siguiente comando 'lshw':

$ sudo etc. -clase mostrar

 

Como podéis ver, tenemos una NVIDIA GeForce RTX 4070 instalada en nuestro ordenador [1] . Está utilizando los controladores oficiales de NVIDIA (tal como los instalamos) [2] . Si tiene una GPU NVIDIA instalada en su computadora/servidor, pero los controladores oficiales de NVIDIA no están instalados, verá 'driver=nouveau' en su lugar. En ese caso, tendrás que instalar los controladores oficiales de NVIDIA en tu ordenador/servidor para poder utilizar todas las funciones y obtener el mejor rendimiento de tu GPU.

Ejemplo 2: Encontrar el chipset de los dispositivos/interfaces de red con Lshw

Instalar el controlador de red correcto también es una parte esencial de una nueva instalación de Linux. A menos que estén instalados los controladores de red correctos, es posible que sus dispositivos de red no funcionen o que funcionen con una funcionalidad limitada (puede resultar en un rendimiento de red muy deficiente). Para poder instalar los controladores de red correctos, necesita conocer el conjunto de chips de sus dispositivos de red.

Para encontrar el chipset y otra información sobre los dispositivos de red que están instalados en su computadora/servidor, ejecute el comando 'lshw' de la siguiente manera:

$ sudo etc. -clase red

 

Como podéis ver, tenemos dos dispositivos ethernet instalados en nuestro ordenador.

Uno de ellos es una interfaz de red Intel I211 Gigabit. [1] . El kernel de Linux le dio un nombre lógico como enp38s0. [2] . Como puedes ver, utiliza el chipset Intel igb (driver=igb) [3] . Por lo tanto, para que esta interfaz de red funcione, debe instalar el controlador/firmware Intel igb en su computadora/servidor (si aún no está instalado).

La otra es una interfaz de red Realtek RTL8125 de 2,5 GbE. [4] . El kernel de Linux le dio un nombre lógico como enp39s0. [5] . Como puede ver, utiliza el chipset Realtek r8169 (controlador=r8169) [6] . Entonces, para que esta interfaz de red funcione, debe instalar el controlador/firmware Realtek r8169 en su computadora/servidor (si aún no está instalado).

También tenemos un dispositivo USB ethernet y un adaptador WiFi conectados a nuestro ordenador.

La interfaz de red LAN USB de 10/100 mbps [1] tiene el nombre lógico, enp42s0f3u6u3 [2] . Como puede ver, utiliza el chipset Realtek r8152 (controlador=r8152) [6] . Entonces, para que esta interfaz de red funcione, debe instalar el controlador/firmware Realtek r8152 en su computadora/servidor (si aún no está instalado).

La interfaz de red WiFi 802.11n[4] tiene el nombre lógico wlp42s0f3u1[5]. Como puede ver, utiliza el chipset MediaTek mt7601u (controlador=mt7601u) [6] . Entonces, para que esta interfaz de red funcione, debe instalar el controlador/firmware MediaTek mt7601u en su computadora/servidor (si aún no está instalado).

Conclusión

Esta es una guía extensa sobre lshw. En este artículo, le mostramos cómo instalar lshw en distribuciones populares de Linux (es decir, Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). También le mostramos cómo enumerar el hardware de su computadora, filtrar la salida de lshw para mostrar ciertos tipos de hardware y ocultar información confidencial del hardware de la salida de lshw. Le mostramos cómo mostrar la identificación numérica para dispositivos PCIE y USB, así como eliminar las marcas de tiempo volátiles de la salida lshw. También le mostramos cómo exportar la información del hardware lshw en la base de datos SQLite, formato HTML, XML y JSON y leerla. Finalmente, le mostramos cómo encontrar la GPU y los dispositivos de red que instaló en su computadora y el conjunto de chips que utilizan los dispositivos de red con lshw para ayudarlo con la instalación correcta del controlador/firmware.

Referencias: