======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: * Acceso a una consola * Teclado * Cerebro ---- ===== 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: * La versión major o principal del Kernel es la 3.5. Esto es indicativo de qué rama de desarrollo y tecnologías tienes disponibles este kernel. * La versión minor es la .0. * El kernel está compilado para la arquitectura y máquina Intel 686 o mejor conocido como Intel Pentium Pro (6), lo que equivale a las familias de procesadores Core y M, y a todos los procesadores Intel posteriores a Pentium II y AMD Athlon y posteriores. En términos básicos esto significa que el kernel está optimizado para correr en hardware Intel "moderno". * El Kernel fue compilado el viernes 25 de enero de 2013 y la compilación culminó a las 5:15 pm según el horario UTC. 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: * MemTotal: 239492 kB * MemFree: 36700 kB * Buffers: 2120 kB * Cached: 117744 kB * SwapCached: 112 kB * Active: 48064 kB * Inactive: 141124 kB 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:====== - [[http://gutl.jovenclub.cu/foro]] - [[http://humanos.uci.cu/2012/11/comandos-para-conocer-el-sistemaidentificar-hardware-y-algunas-configuraciones-de-software/]] - [[https://wiki.archlinux.org/index.php?title=Collect_system_information_(Espa%C3%B1ol)&oldid=230047]]