Conocer información de nuestro sistema


Introducción

Un equipo de cómputo consta de dispositivos físicos llamados de forma global hardware, y componentes lógicos llamados software. Existen herramientas que permiten identificar ambas partes, ya sea para conocer las características del equipo como para medir su desempeño y/o diagnosticar posibles fallas.
Cuando existe la necesidad de solicitar apoyo en la resolución de problemas es importante poder aportar toda la información que sea posible y necesaria sobre el hardware y el software que conforman el equipo.

Justificación

A la hora de buscar respuestas a los problemas que puedas enfrentar al usar Linux es necesario proporcionar toda la información necesaria sobre el problema en cuestión, como por ejemplo: el tipo de computadora que tienes, versión de Debian, versión del kernel, sistema de escritorio, etc. Eso ayudará a describir los pasos que llevaste a cabo para provocar o solucionar el problema.
Es más fácil solicitar y obtener apoyo cuando se sabe cómo proporcionar dicha información, y este artículo pretende ofrecer una lista de comandos para alcanzar dicho objetivo. Muchos usuarios nuevos de Debian GNU/Linux no saben cómo aportar toda la información posible y podrían no recibir la ayuda adecuada, simplemente por no saber proporcionar la información adecuada.

Convenciones

En algunos comandos la información resultante excede la altura de la pantalla, así que para facilitar la lectura de dicha información se usa el paginador less y de esta manera es posible desplazarse hacia abajo y hacia arriba visualizando toda la información. Para salir del paginador simplemente se presiona la tecla Q (quit). A continuación 2 ejemplos de cómo se usará dicho paginador:
dmesg | less
y
less /etc/apt/sources.list

Información del fabricante y del modelo

Fabricante del equipo:
sudo dmidecode -s system-manufacturer
Nombre del producto:
sudo dmidecode -s system-product-name
Versión del producto:
sudo dmidecode -s system-version
Número de serie del equipo:
sudo dmidecode -s system-serial-number
SKU (Stock Keeping Unit) ó P/N (Part Number) del producto:
sudo dmidecode | grep -i sku
Más información detallada:
sudo dmidecode

Información del procesador

Mostrar el nombre del fabricante, modelo, y velocidad:
grep 'vendor_id' /proc/cpuinfo ; grep 'model name' /proc/cpuinfo ; grep 'cpu MHz' /proc/cpuinfo
Mostrar la arquitectura (32 o 64 bits):
sudo lshw -C CPU | grep width
Nota: El paquete lshw no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación.
Mostrar el tipo de máquina:
uname -m
Mostrar si el procesador soporta “Extensiones de Virtualización” (Intel-VT ó AMD-V), las cuales se activan desde la configuración de BIOS del equipo:
Si el procesador es Intel, se necesita saber si aparece el valor “vmx”:
grep -i vmx /proc/cpuinfo
Si el procesador es AMD, se necesita saber si aparece el valor “svm”:
grep -i svm /proc/cpuinfo

Información de la batería

acpi -bi
ó
acpitool -B
Nota: el comando acpitool no se encuentra instalado de forma predeterminada.

Memoria RAM y partición SWAP

Mostrar el total de memoria RAM y la partición swap (cambiar el último parámetro por: -b = Bytes, -k = Kilobytes, -m = Megabytes, -g = Gigabytes, según convenga):
free -o -m
y otra forma de hacerlo es así:
grep 'MemTotal' /proc/meminfo; grep 'SwapTotal' /proc/meminfo
Para mostrar en qué partición (y el tamaño) está el swap:
sudo swapon -s

Kernel

Mostrar el nombre y versión del kernel:
uname -sr

Shell

Mostrar el shell en uso:
echo $SHELL

Distribución

Mostrar el nombre, versión y nombre clave de la distribución:
lsb_release -idc

Entorno del usuario

Nombre del usuario actual:
echo $USER
Nombre del equipo:
echo $HOSTNAME
Directorio base del usuario actual:
echo $HOME
Directorio de trabajo actual:
echo $PWD
o
pwd

Hardware

Listar los dispositivos PCI / PCIe
lspci
Listar todos los dispositivos PCMCIA
/sbin/lspcmcia
Listar todos los dispositivos USB:
lsusb
Listar todos los dispositivos detectados como SCSI:
lsscsi
Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación.
Módulos que se han indicado al kernel que cargue durante el arranque:
cat /etc/modules
Listar todos los módulos que cargó el sistema:
lsmod | less
Listar el hardware (información resumida):
sudo lshw -short
Listar el hardware (información extensa):
sudo lshw | less
Nota: El paquete lshw no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación.

Medios de almacenamiento y arranque

Listar las particiones en los medios de almacenamiento:
sudo fdisk -l
Conocer el espacio usado y disponible en las particiones:
df -h
Conocer en qué partición (y el tamaño) está swap:
sudo swapon -s
Mostrar las entradas registradas para el gestor de arranque GRUB “Legacy” (hasta la versión 0.97):
sudo grep -i title /boot/grub/menu.lst | grep "#" -v
Mostrar las entradas registradas para el gestor de arranque GRUB 2:
sudo grep -i menuentry /boot/grub/grub.cfg | grep "#" -v
Mostrar la tabla de particiones (File System TABle) que el sistema monta automáticamente durante el arranque:
less /etc/fstab
Mostrar el valor UUID (Universally Unique IDentifier) de todas las particiones:
sudo blkid

Redes

Listar los dispositivos de red alámbricos PCI:
lspci | grep -i ethernet
Listar los dispositivos de red inalámbricos PCI:
lspci | grep -i network
Listar los dispositivos de red USB:
lsusb | grep -i ethernet ; lsusb | grep -i network
Mostrar los módulos cargados por el sistema, para controlar tarjetas de red inalámbricas:
lsmod | grep iwl
Mostrar información del controlador usado por un dispositivo de red específico (se debe sustituir la palabra interfaz por el nombre lógico de la tarjeta de red, por ejemplo eth0, wlan0, ath0, etc.):
sudo ethtool -i interfaz
Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación.
Configuración de las tarjetas de red y sus direcciones IP asignadas:
cat /etc/network/interfaces
Resolución de Nombres de Dominio:
cat /etc/resolv.conf
Mostrar el contenido del archivo HOSTS:
cat /etc/hosts
Nombre del equipo, tal y como se verá en la red local:
cat /etc/hostname
ó
grep 127.0.1.1 /etc/hosts
ó
echo $HOSTNAME
Direcciones IP locales de las tarjetas de red alámbricas (resumen):
/sbin/ifconfig | grep -i direc | grep -i bcast
si el sistema está en inglés se usa:
/sbin/ifconfig | grep -i addr | grep -i bcast
Direcciones IP locales de las tarjetas de red alámbricas (detalle):
/sbin/ifconfig
Direcciones IP locales de las tarjetas de red inalámbricas (resumen):
/sbin/iwconfig | grep -i direc | grep -i bcast
si el sistema está en inglés se usa:
/sbin/iwconfig | grep -i addr | grep -i bcast
Direcciones IP locales de las tarjetas de red inalámbricas (detalle):
/sbin/iwconfig
Mostrar la tabla de enrutamiento:
sudo route -n
Para conocer la dirección IP pública (externa):
curl ip.appspot.com

Repositorios / actualización del sistema

Visualizar el contenido del archivo sources.list, el cual contiene las direcciones de los repositorios:
less /etc/apt/sources.list

Video

Listar las tarjetas de vídeo (PCI / PCIe):
lspci | grep -i vga
Para determinar si el equipo soporta aceleración de gráficos es necesario que esté instalado el paquete de herramientas mesa-utils. Dicho paquete contiene el comando glxinfo:
glxinfo | grep -i render
Para calcular los FPS (frames per second) se ejecuta el siguiente comando:
timeout 60 glxgears
El cual mostrará durante 60 segundos (con la ayuda del comando timeout) una ventana pequeña con una animación de 3 engranajes, mientras que al mismo tiempo en la ventana de la terminal se mostrarán los valores promedios de fotogramas por segundo (FPS, frames per second):
Ejemplo del desempeño gráfico de un sistema:
338 frames in 5.4 seconds = 62.225 FPS
280 frames in 5.1 seconds = 55.343 FPS
280 frames in 5.2 seconds = 54.179 FPS
280 frames in 5.2 seconds = 53.830 FPS
280 frames in 5.3 seconds = 53.211 FPS
338 frames in 5.4 seconds = 62.225 FPS
280 frames in 5.1 seconds = 55.343 FPS
280 frames in 5.2 seconds = 54.179 FPS
280 frames in 5.2 seconds = 53.830 FPS
280 frames in 5.3 seconds = 53.211 FPS
Ejemplo de un mejor desempeño gráfico en otro sistema:
2340 frames in 5.0 seconds = 467.986 FPS
2400 frames in 5.0 seconds = 479.886 FPS
2080 frames in 5.0 seconds = 415.981 FPS
2142 frames in 5.0 seconds = 428.346 FPS
2442 frames in 5.0 seconds = 488.181 FPS
2295 frames in 5.0 seconds = 458.847 FPS
2298 frames in 5.0 seconds = 459.481 FPS
2416 frames in 5.0 seconds = 483.141 FPS
2209 frames in 5.0 seconds = 441.624 FPS
2437 frames in 5.0 seconds = 487.332 FPS
Para mostrar la configuración actual del servidor X (X Window System):
less /etc/X11/xorg.conf
Para conocer la resolución actual (anchura x altura) y frecuencia de barrido (MHz):
xrandr | grep '*'
Para conocer todas las resoluciones que la configuración actual soporta:
xrandr
Para mostrar las cámaras web (USB):
lsusb | grep -i camera
El siguiente ejemplo muestra el resultado de 2 cámaras web conectadas a un mismo equipo:
Bus 001 Device 003: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
Bus 002 Device 004: ID 0ac8:3420 Z-Star Microelectronics Corp. Venus USB2.0 Camera
Las cámaras web se “montan” en orden consecutivo en la ruta /dev/ :
Bus 001 —> /dev/video0
Bus 002 —> /dev/video1
Bus 003 —> /dev/video2
[...]
Para comprobar que las cámaras web se han “montado” en su ruta correspondiente:
ls /dev/video* -lh

Audio

Listar hardware de audio:
lspci | grep -i audio
ó
sudo lshw | grep -i audio | grep product
Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación.
Listar los dispositivos de reproducción de audio:
aplay -l | grep -i tarjeta
si el sistema está en inglés entonces se usa:
aplay -l | grep -i card
Listar todos los módulos que cargó el sistema, para ser usados por los dispositivos de sonido:
lsmod | grep -i snd
Las siguientes son pruebas para verificar si los altavoces están correctamente conectados y distribuidos. Los altavoces deben estar encendidos y durante la prueba se puede ajustar el volumen, cables, y disposición. Cada prueba emite un sonido en un ciclo, y se repite 2 veces más:
Si el sistema de sonido es de 1 canal (monoaural):
speaker-test -l 3 -t sine -c 1
Si el sistema de sonido es de 2 canales (stereo):
speaker-test -l 3 -t sine -c 2
Si el sistema de sonido es de 5.1 canales (surround):
speaker-test -l 3 -t sine -c 6

Registros (logs)

Visualizar las 30 últimas líneas del buffer del kernel:
dmesg | tail -30
Visualizar todo el buffer del kernel:
dmesg | less
Los registros del servidor X dan información útil sobre la configuración actual del mismo, y sobre la tarjeta de video:
cd /var/log/
ls Xorg* -hl
ello mostrará todos los archivos de registros del servidor X, siendo el archivo Xorg.0.log el más reciente.
Para ver los mensajes de error (errors) y mensajes de advertencia (warnings):
grep -E "(WW)|(EE)" Xorg.0.log | grep -v unknown
Si se desea ver toda la información del registro:
less Xorg.0.log
Si se desea ver el contenido de algún registro anterior al actual sólo basta sustituir el nombre de archivo Xorg.0.log por el nombre del archivo que se desee visualizar.
Para visualizar el registro de arranque (boot) es necesario activarlo primeramente. Se debe abrir el archivo /etc/default/bootlogd y sustituir el valor no por yes, quedando así:
# Run bootlogd at startup ?
BOOTLOGD_ENABLE=yes
Durante el próximo inicio del sistema se generará el archivo /var/log/boot el cual ya podrá ser revisado:
sudo less /var/log/boot
Los registros anteriores de arranque pueden visualizarse con:
sudo ls /var/log/boot* -hl
y consultarse como ya se ha mostrado.
Para ver otros registros: La mayoría de los registros (logs) del sistema se encuentran en el directorio /var/log/, así como también en varios subdirectorios, por lo tanto sólo basta entrar a dicho directorio y realizar un listado para conocerlos:
cd /var/log/
ls -hl

Otras formas de conocer el sistema

Aunque existen también herramientas gráficas que permiten conocer el sistema, es posible que el ambiente gráfico no funcione, por ello el uso de la terminal es indispensable. Algunas de las herramientas gráficas más conocidas son hardinfo y sysinfo, y para instalarlas desde la terminal basta con ejecutar:
sudo aptitude install hardinfo sysinfo
Nota: hardinfo aparece como System Profiler and Benchmark, y sysinfo aparece con el nombre Sysinfo.

Comentarios:

@