¿Qué hardware tiene mi PC? Herramientas GNU/Linux (2)

Publicado por Diego Córdoba en

Ya hemos estado analizando algunos aspectos del hardware de nuestra computadora en nuestra entrega anterior.

Ahora veremos otros comandos interesantes para conocer nuestro hardware en sistemas GNU/Linux!

hardware2_banner

lsusb

Este comando nos mostrará los dispositivos usb que disponga nuestro ordenador, por ejemplo:
También disponemos del modificador -v o –verbose para usa salida más detallada:

lsmod

Con lsmod podemos listar los módulos que están cargados en nuestro equipo.

En el kernel de Linux las funcionalidades para acceder a diversos elementos de hardware pueden cargarse de dos maneras. Una, directamente compiladas junto con el código del kernel. Otra, compiladas en forma externa, como módulos. Los módulos tienen la ventaja de que pueden cargarse y descargarse a gusto y necesidad, según sean los dispositivos que necesitemos utilizar.

Los módulos del kernel son agregados de funcionalidad que permiten acceder a dispositivos de ciertas y determinadas maneras. Muchas veces para poder, por ejemplo, tener audio, o red wireless en nuestro sistema, deberemos cargar los módulos correspondientes.

Veamos una salida del comando lsmod:


En la primer columna tenemos el nombre del módulo, en la segunda el tamaño del mismo, luego un contador de la cantidad de módulos que usan al módulo en cuestión. Los módulos pueden tener cierta jerarquía, es decir, módulos que utilizan a módulos. En este caso, en la última columna veremos una serie de dependencias, o qué módulos utilizan al módulo en cuestión, y, por consiguiente, qué módulos deberán estar previamente cargados para poder cargar un módulo en el sistema.

Este comando es una forma simple de mostrar el contenido del archivo /proc/modules

dmesg y los logs de hardware

El kernel mantiene un buffer de mensajes de funcionamiento normal y de logs de errores, que se cargan en el momento de iniciar el equipo, y luego se va nutriendo con cambios de hardware, montaje de dispositivos, etc.

El comando dmesg nos permite acceder a este contenido de mensajes, para analizar y poder, en caso de ser necesario, encontrar errores.

Supongamos que insertamos un pendrive usb en nuestro sistema, y no se monta solo. Una posible causa es que nuestro entorno de escritorio no lo esté montando automáticamente. Otra, que el dispositivo no haya sido reconocido por el kernel, y no haya sabido interpretarlo.

Para salir de dudas, podemos correr un dmesg y analizar las últimas líneas para determinar qué es lo que «vio» el kernel en el momento en el que insertamos el dispositivo.

Los mensajes de log entregados por dmesg se encuentran almacenados en el directorio de log del sistema, en sistemas SysVInit, en el archivo /var/log/dmesg.

En el mismo directorio también encontraremos también los demás archivos de log, de por sí interesantes, sobre los registros de actividad del resto del sistema y sus servicios.

Por ejemplo, en el archivo /var/log/auth.log encontraremos logs de autenticación y seguridad.

En /var/log/syslog tendremos todos los registros del sistema.

En /var/log/apache2/* encontraremos los archivos de log de accesos y errores de sitios cargados en nuestro servidor web.

Por ejemplo, también tenemos /var/log/mail.log con los mensajes de eventos de nuestro servidor de correos.

Estos logs son manejados por un daemon que hace las veces de implementación del protocolo de syslog, y que en Debian, por default en la versión 7 «Wheezy» es rsyslog, que detallaremos en algún otro artículo.

Conociendo al fabricante de nuestro equipo

En nuestro Linux además poseemos algunos comandos para acceder a los datos de fabricante, serial, etc, de nuestro hardware.

El comando dmidecode nos muestra muchísima información detallada, que podremos guardar en algún archivo de texto para facilitarnos el acceso:


De esta información podremos extraer algunos datos interesantes:

Espero les resulte interesante el post!
Si conocen alguna otra herramienta interesante para agregar, pueden hacerlo a través de los comentarios en el artículo!
¡GRACIAS!

Diego Córdoba

- Ingeniero en Informática - Mg. Teleinformática - Tesis pendiente - Docente universitario - Investigador