Tabla de Contenidos

Cómo encontrar la información de nuestro sistema GNU/Linux

En este tutorial, vamos a ver cómo encontrar información acerca del sistema en una máquina con una distribución de GNU/Linux. Existen herramientas gráficas (al puro estilo de las aplicaciones privativas Aida64 o Everest) que nos brindan información de nuestro sistema, pero siempre es bueno saber que hay detrás de cada interfaz gráfica, esas herramientas funcionan a partir de enviar líneas de comandos como las que veremos a continuación. Para aprender a conocer nuestro hardware y sistema operativo a fondo emplearemos más que nada la consola y se utilizará medios disponibles para usuarios normales cuando sea posible, para determinar información acerca de nuestra distro, kernel, hardware, etc.

Saber cómo obtener esta información es muy útil en el mundo del software libre, pues forma parte de la [ netiqueta] en muchos foros de GNU/Linux el saber cómo hacer preguntas para evitar ser ignorado o (peor) flameado.


Herramientas

Para este tutorial se utilizarán las siguientes herramientas:


Mi Distribución y Kernel

¿Quieres saber qué distribución de GNU/Linux estás usando?

Una de las maneras más fáciles es consultar el archivo issue:

cat /etc/issue

En mi máquina esto entrega un resultado como el siguiente:

 Linux Mint 13 Maya \n \l

De aquí obtenemos la información importante: nombre de la distribución, versión y nombre código.

Más información: man issue.

Otra manera de obtener información sobre nuestra distribución es la siguiente:

lsb_release -idc

En mi caso obtuve la siguiente salida:

 Distributor ID: LinuxMint 
 Description:    Linux Mint 13 Maya
 Codename:       maya
 Suite:  n/a

Para saber qué kernel se está usando, basta con utilizar el comando uname:

uname -a

Esto entrega el siguiente resultado:

 Linux llamaret 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 i686 i686 i386 GNU/Linux

De aquí podemos obtener la siguiente información:

Más información: man uname.

Además el kernel cuando arranca mantiene un archivo llamado /proc/version donde se puede obtener información adicional sobre el kernel que se está usando actualmente.

maikel@llamaret:~$ cat /proc/version

de donde podemos ver la siguiente información:

 Linux version 3.5.0-23-generic (buildd@akateko) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013

Hardware

En general, es posible obtener toda la información del hardware con programas como lshw, lspci, hwinfo y dmidecode. Aquí veremos solamente cómo obtener información de partes y componentes específicos.

Para conocer características básicas de nuestro equipo tecleamos las siguientes líneas de comandos:

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

Otra manera de verificar información general sobre nuestro hardware es utilizando el comando lshw:

Forma reducida: sudo lshw -short

Forma extendida: sudo lshw | less


Procesador

El kernel Linux, mantiene un archivo en /proc/cpuinfo que contiene información del/los procesadores que utiliza la máquina:

cat /proc/cpuinfo

Aquí podemos encontrar información bastante interesante sobre nuestro procesador.

Mostrar la arquitectura (32 o 64 bits): sudo lshw -C CPU | grep width

Nota: Si el paquete lshw no está instalado de manera predeterminada antes de usarlo es necesaria su instalación.

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


Temperatura del procesador

El kernel Linux, mantiene un archivo en /proc/acpi/thermal_zone/THRM/temperature que contiene la información ACPI de la temperatura del procesador. Un detalle importante, para ello ACPI debe estar activado.

cat /proc/acpi/thermal_zone/THRM/temperature

También puede utilizarse lm-sensors instalándolo previamente

Usa sensors-detect para detectar y generar una lista de los modulos del Kernel:

sudo sensors-detect

Esto creará la configuración y la guardará en /etc/modules (en distribuciones como ArchLinux se guardará en /etc/conf.d/lm_sensors). Asegurate de responder YES a las preguntas sobre la exploración de diversos sensores. Cuando el script haya finalizado, se le presentará un resumen de las pruebas.

Puedes probar utilizando lo siguiente:

sensors

En mi caso obtengo la siguiente salida:

 acpitz-virtual-0
 Adapter: Virtual device
 temp1:        +30.0°C  (crit = +60.0°C)

Hay un paquete opcional con un daemon llamado sensord que puede registrar tus datos a una base de datos rrd que puedes visualizar gráficamente.


Memoria

La información del uso de memoria está en el archivo /proc/meminfo. Un ejemplo de las líneas que pueden ser de interés:

Otra manera de ver esta información es con el comando free:

free -m # ver la información de memoria disponible, en MegaBytes.

La salida de free es una tabla con información de la memoria física y virtual, tanto libre como ocupada:

               total       used       free     shared    buffers     cached
 Mem:          2007       1289        717          0        115        673
 -/+ buffers/cache:        499       1507
 Swap:         2520          0       2520

Para más información utilice man free

Una manera sencilla de verificar el total de Memoria RAM y SWAP de su sistema es tecleando lo siguiente en el terminal:

grep 'MemTotal' /proc/meminfo; grep 'SwapTotal' /proc/meminfo

 MemTotal:        2055668 kB
 SwapTotal:       2581236 kB
 

Para mostrar información sobre la memoria de intercambio (SWAP) tecleamos lo siguiente:

sudo swapon -s

 Filename                                Type            Size    Used    Priority
 /dev/sda7                               partition       1553404 0       -1
 /dev/zram0                              partition       513916  0       100
 /dev/zram1                              partition       513916  0       100

También es posible obtener la cantidad de memoria en la lista de procesos e información que entrega el comando top. Para más información véase man top

Al ejecutar top se desplegará la lista de procesos y consumos que está tomando cada uno, en la parte superior se podrá observar información sobre la memoria, cpu y otros

  top - 09:23:26 up  1:31,  2 users,  load average: 0.58, 0.63, 0.50
  Tasks: 151 total,   3 running, 148 sleeping,   0 stopped,   0 zombie
  Cpu(s):  7.3%us,  4.2%sy,  0.0%ni, 87.7%id,  0.7%wa,  0.0%hi,  0.2%si,  0.0%st
  Mem:   2055668k total,  1326684k used,   728984k free,   118992k buffers
  Swap:  2581236k total,        0k used,  2581236k free,   694012k cached
 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 

También puede utilizar htop (generalmente debe instalarlo)


Tarjeta Madre

El programa dmidecode lee la información de los chips de la tarjeta madre, de esta forma es posible determinar qué atributos soporta el hardware o cómo está construido. Toda esta información es proporcionada por el estándar Desktop Management Interface que soportan las placas madres desde 1997.


Bios

sudo dmidecode -t 0

 # dmidecode 2.11
 SMBIOS 2.5 present.
 Handle 0x0000, DMI type 0, 24 bytes
 BIOS Information
      Vendor: American Megatrends Inc.
      Version: 080014 
      Release Date: 02/01/2010
      Address: 0xF0000
      Runtime Size: 64 kB
      ROM Size: 512 kB
      Characteristics:
              ISA is supported
              PCI is supported
              PNP is supported
              APM is supported
              BIOS is upgradeable
              BIOS shadowing is allowed
              ESCD support is available
              Boot from CD is supported
              Selectable boot is supported
              BIOS ROM is socketed
              EDD is supported
              5.25"/1.2 MB floppy services are supported (int 13h)
              3.5"/720 kB floppy services are supported (int 13h)
              3.5"/2.88 MB floppy services are supported (int 13h)
              Print screen service is supported (int 5h)
              8042 keyboard services are supported (int 9h)
              Serial services are supported (int 14h)
              Printer services are supported (int 17h)
              CGA/mono video services are supported (int 10h)
              ACPI is supported
              USB legacy is supported
              LS-120 boot is supported
              ATAPI Zip drive boot is supported
              BIOS boot specification is supported
              Targeted content distribution is supported
      BIOS Revision: 8.14

Modelo de la Placa madre (Motherboard)

sudo dmidecode -t 2

   
  # dmidecode 2.11
  SMBIOS 2.5 present.
  Handle 0x0002, DMI type 2, 15 bytes
  Base Board Information
      Manufacturer: BIOSTAR Group
      Product Name: G31D-M7
      Version:  
      Serial Number: None
      Asset Tag: To Be Filled By O.E.M.
      Features:
              Board is a hosting board
              Board is replaceable
      Location In Chassis: To Be Filled By O.E.M.
      Chassis Handle: 0x0003
      Type: Motherboard
      Contained Object Handles: 0
    

Almacenamiento

Comando fdisk -l → Para más detalle vea man fdisk

Ejemplo de salida de sudo fdisk -l: aquí se puede observar que la máquina posee 3 unidades de almacenamiento conectada, se puede observar la distribución de las particiones de cada una. Este comando debe ser ejecutado con niveles de root.

 Disco /dev/sda: 500.1 GB, 500107862016 bytes
 255 cabezas, 63 sectores/pista, 60801 cilindros, 976773168 sectores en total
 Unidades = sectores de 1 * 512 = 512 bytes
 Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
 Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
 Identificador del disco: 0xfbea3d7c
    
 Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
 /dev/sda1            2046   126156799    63077377    f  W95 Ext'd (LBA)
 /dev/sda2       126158848   976773119   425307136    7  HPFS/NTFS/exFAT
 /dev/sda5            2048    31250431    15624192   83  Linux
 /dev/sda6        31252480   123047935    45897728   83  Linux
 /dev/sda7       123049984   126156799     1553408   82  Linux swap / Solaris

También es posible obtener la lista de particiones de las diferentes unidades revisando el archivo controlado por el kernel que contiene dicha información /proc/partitions:

cat /proc/partitions

 major minor  #blocks  name
   11        0    1048575 sr0
    8        0  488386584 sda
    8        1          1 sda1
    8        2  425307136 sda2
    8        5   15624192 sda5
    8        6   45897728 sda6
    8        7    1553408 sda7
  251        0     513920 zram0
  251        1     513920 zram1

Para conocer el espacio usado y disponible en las particiones:

df -h

S.ficheros     Tamaño Usado  Disp Uso% Montado en
/dev/sda5         15G  4,7G  9,3G  34% /
udev             993M  4,0K  993M   1% /dev
tmpfs            402M  844K  401M   1% /run
none             5,0M     0  5,0M   0% /run/lock
none            1004M  416K 1004M   1% /run/shm
/dev/sda6         44G   11G   31G  26% /home
/dev/sda2        406G  264G  143G  65% /media/MAIKEL_DATA

Para más explicación vea man blkid, man df. Ver también: Explicaciones Acerca de /dev.


Interface Humana

Se entiende usualmente por interface humana a todos los dispositivos que pueden recibir y enviar información de/a un ser humano. En el sistema de eventos del kernel de Linux el significado está más acotado a aquellos dispositivos que cambian de estado cuando reciben interacción de un humano: teclado, mouse, joystick, etc.


Dispositivos USB

Utilizando el comando lsusb. (Para más explicación véase man lsusb). Ejemplo de salida de lsusb

Bus 001 Device 002: ID 058f:6364 Alcor Micro Corp. Hi-Speed 7-in-1 Flash Card Reader/Writer [Sabrent]
Bus 003 Device 002: ID 0471:060c Philips (or NXP) Consumer Infrared Transceiver (HP)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Dispositivos PCI

Utilizando el comando lspci podemos listar los dispositivos PCI de nuestro ordenador. Para aprender más véase man lspci

Ejemplo de salida de lspci en mi propio ordenador:

00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
00:1d.7 USB controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

Audio

Listar hardware de audio: lspci | grep -i audio

También puede utilizar 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 sustituya tarjeta por 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


Vídeo

Listar las tarjetas de vídeo (PCI / PCIe): lspci | grep -i vga

Si tu computador tiene más de un monitor activado, o si tiene dos salidas de video activas (por ejemplo, un laptop conectado a una salida VGA o similar), es posible encontrar información de las salidas de video activas en /proc/video o /proc/acpi/video, dependiendo del kernel y la tarjeta madre. Aceleración gráfica y poder de cálculo gráfico.

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.

Si el resultado del comando glxinfo | grep rendering retorna Yes entonces la sesión gráfica que está usando posee soporte para aceleración gráfica.

glxinfo | grep rendering

direct rendering: Yes

Para obtener un valor referencial del poder de cálculo de su tarjeta gráfica, puede someter a esta a una sesión de estrés con el siguiente test.

glxgears

salida esperada de glxgears

364 frames in 5.0 seconds = 72.776 FPS
365 frames in 5.0 seconds = 72.932 FPS
376 frames in 5.0 seconds = 75.132 FPS
363 frames in 5.0 seconds = 72.532 FPS

..

Para mostrar la configuración actual del servidor X (X Window System): timeout 60 glxgears

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

Para comprobar que las cámaras web se han “montado” en su ruta correspondiente: ls /dev/video* -lh


Controles para Pantallas de Notebook

El brillo de la pantalla LCD del notebook se puede ver en el archivo /proc/acpi/video/IGPU/LCD0/brightness que retornará los tipos de brillo soportados y el brillo actual en que se encuentra el monitor

cat /proc/acpi/video/IGPU/LCD0/brightness

retornará algo similar a:

 levels:  10 20 30 40 50 60 70 80 90 100
 current: 60

En donde 60 es el brillo actual (current)


Información acerca del Teclado

El idioma del sistema en curso está almacenado en el shell en un conjunto de variables, la más importante LANG:

comando:

echo $LANG

ejemplo de salida:

es_CL.UTF-8

Establecer un lenguaje diferente, por ejemplo inglés de US:

export LANG=US

Bateria

La información de la batería de un notebook está disponible en más de un lugar dependiendo de la versión del kernel, en kernels antiguos se encuentra en los archivos del directorio /proc/acpi/battery/BATn, sin embargo, en kernels actuales se encuentra en /sys/class/power_supply/BATn (en donde n es el numero de la batería) Carga actual de la bateria

La información de la carga actual se encuentra en el archivo /sys/class/power_supply/BAT1/charge_now

cat /sys/class/power_supply/BAT1/charge_now

regresará algo similar a:

2647000

Carga full de la batería

La información de la carga actual se encuentra en el archivo /sys/class/power_supply/BAT1/charge_full

cat /sys/class/power_supply/BAT1/charge_full

regresará algo similar a:

2647000

Carga full según diseño de la bateria

La información de la carga actual se encuentra en el archivo /sys/class/power_supply/BAT1/charge_full_design

cat /sys/class/power_supply/BAT1/charge_full_design

regresará algo similar a:

4000000

Resumen de información de la batería

Un archivo que acompaña a los anteriores es un resumen de la información total de la batería, el cual se encuentra en /sys/class/power_supply/BAT1/uevent

cat /sys/class/power_supply/BAT1/uevent

regresará algo similar a:

POWER_SUPPLY_NAME=BAT1
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_STATUS=Full
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
POWER_SUPPLY_VOLTAGE_NOW=12086000
POWER_SUPPLY_CURRENT_NOW=0
POWER_SUPPLY_CHARGE_FULL_DESIGN=4000000
POWER_SUPPLY_CHARGE_FULL=2647000
POWER_SUPPLY_CHARGE_NOW=2647000
POWER_SUPPLY_MODEL_NAME=Chapala
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_SERIAL_NUMBER=29220

Fuente: