Información sobre el hardware
Como para todo, hay un montón de comandos para comprobar la información sobre el hardware de tu sistema linux.
Algunos comandos informan sólo de componentes de hardware específicos como la cpu o la memoria mientras que el resto cubren múltiples unidades de hardware.
Este post echa un vistazo rápido a algunos de los comandos más utilizados para comprobar la información y los detalles de configuración de varios periféricos y dispositivos de hardware.
La lista incluye lscpu, hwinfo, lshw, dmidecode, lspci etc.
1. lscpu
El comando lscpu reporta información sobre la cpu y las unidades de procesamiento. No tiene ninguna otra opción o funcionalidad.
$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 4On-line CPU(s) list: 0-3Thread(s) per core: 1Core(s) per socket: 4Socket(s): 1NUMA node(s): 1Vendor ID: GenuineIntelCPU family: 6Model: 23Stepping: 10CPU MHz: 1998.000BogoMIPS: 5302.48Virtualization: VT-xL1d cache: 32KL1i cache: 32KL2 cache: 2048KNUMA node0 CPU(s): 0-3
2. lshw – List Hardware
Una utilidad de propósito general, que reporta información detallada y breve sobre múltiples unidades de hardware diferentes como cpu, memoria, disco, controladores usb, adaptadores de red, etc. Lshw extrae la información de diferentes archivos /proc.
$ sudo lshw -shortH/W path Device Class Description=================================================== system ()/0 bus DG35EC/0/0 processor Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz/0/0/1 memory 2MiB L2 cache/0/0/3 memory 32KiB L1 cache/0/2 memory 32KiB L1 cache/0/4 memory 64KiB BIOS/0/14 memory 8GiB System Memory/0/14/0 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/14/1 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/14/2 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/14/3 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)/0/100 bridge 82G35 Express DRAM Controller/0/100/2 display 82G35 Express Integrated Graphics Controller/0/100/2.1 display 82G35 Express Integrated Graphics Controller/0/100/19 eth0 network 82566DC Gigabit Network Connection/0/100/1a bus 82801H (ICH8 Family) USB UHCI Controller #4/0/100/1a.1 bus 82801H (ICH8 Family) USB UHCI Controller #5/0/100/1a.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #2/0/100/1b multimedia 82801H (ICH8 Family) HD Audio Controller/0/100/1c bridge 82801H (ICH8 Family) PCI Express Port 1/0/100/1c.1 bridge 82801H (ICH8 Family) PCI Express Port 2/0/100/1c.2 bridge 82801H (ICH8 Family) PCI Express Port 3/0/100/1c.2/0 storage JMB368 IDE controller/0/100/1d bus 82801H (ICH8 Family) USB UHCI Controller #1/0/100/1d.1 bus 82801H (ICH8 Family) USB UHCI Controller #2/0/100/1d.2 bus 82801H (ICH8 Family) USB UHCI Controller #3/0/100/1d.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #1/0/100/1e bridge 82801 PCI Bridge/0/100/1e/5 bus FW322/323 1394a Controller/0/100/1f bridge 82801HB/HR (ICH8/R) LPC Interface Controller/0/100/1f.2 storage 82801H (ICH8 Family) 4 port SATA Controller /0/100/1f.3 bus 82801H (ICH8 Family) SMBus Controller/0/100/1f.5 storage 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller (rev 02)00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)00:1f.5 IDE interface: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller (rev 02)03:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller04:05.0 FireWire (IEEE 1394): LSI Corporation FW322/323 1394a Controller (rev 70)
Filtra la información de dispositivos específicos con grep.
$ lspci -v | grep "VGA" -A 12
5. lsscsi – Listar dispositivos scsi
Lista los dispositivos scsi/sata como discos duros y unidades ópticas.
$ lsscsi disk ATA ST3500418AS CC38 /dev/sda cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
6. lsusb – Listar buses usb y detalles de los dispositivos
Este comando muestra los controladores USB y detalles sobre los dispositivos conectados a ellos. Por defecto se imprime una información breve. Utilice la opción verbose «-v» para imprimir información detallada sobre cada puerto usb
$ lsusbBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 005 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
En el sistema anterior, el ratón está utilizando un puerto usb.
7. Inxi
Inxi es un mega script bash de 10K líneas que obtiene detalles del hardware de múltiples fuentes y comandos diferentes en el sistema, y genera un informe de aspecto hermoso que los usuarios no técnicos pueden leer fácilmente.
$ inxi -Fx
8. lsblk – Lista de dispositivos de bloque
Lista la información de todos los dispositivos de bloque, que son las particiones del disco duro y otros dispositivos de almacenamiento como unidades ópticas y unidades flash
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 465.8G 0 disk├─sda1 8:1 0 70G 0 part├─sda2 8:2 0 1K 0 part├─sda5 8:5 0 97.7G 0 part /media/4668484A68483B47├─sda6 8:6 0 97.7G 0 part /├─sda7 8:7 0 1.9G 0 part └─sda8 8:8 0 198.5G 0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1sr0 11:0 1 1024M 0 rom
9. df – espacio en disco de los sistemas de archivos
Informa de varias particiones, sus puntos de montaje y el espacio usado y disponible en cada una.
$ df -HFilesystem Size Used Avail Use% Mounted on/dev/sda6 104G 26G 73G 26% /none 4.1k 0 4.1k 0% /sys/fs/cgroupudev 4.2G 4.1k 4.2G 1% /devtmpfs 837M 1.6M 835M 1% /runnone 5.3M 0 5.3M 0% /run/locknone 4.2G 13M 4.2G 1% /run/shmnone 105M 21k 105M 1% /run/user/dev/sda8 210G 149G 51G 75% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1/dev/sda5 105G 31G 75G 30% /media/4668484A68483B47
10. Pydf – Python df
Una versión mejorada de df escrita en python, que muestra una salida coloreada que se ve mejor que df
$ pydfFilesystem Size Used Avail Use% Mounted on/dev/sda6 96G 23G 68G 24.4 //dev/sda8 195G 138G 47G 70.6 /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1/dev/sda5 98G 28G 69G 29.2 /media/4668484A68483B47
11. fdisk
Fdisk es una utilidad para modificar las particiones de los discos duros, y también se puede utilizar para listar la información de las particiones.
$ sudo fdisk -lDisk /dev/sda: 500.1 GB, 500107862016 bytes255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x30093008 Device Boot Start End Blocks Id System/dev/sda1 * 63 146801969 73400953+ 7 HPFS/NTFS/exFAT/dev/sda2 146802031 976771071 414984520+ f W95 Ext'd (LBA)/dev/sda5 146802033 351614654 102406311 7 HPFS/NTFS/exFAT/dev/sda6 351614718 556427339 102406311 83 Linux/dev/sda7 556429312 560427007 1998848 82 Linux swap / Solaris/dev/sda8 560429056 976771071 208171008 83 Linux
12. mount
El mount se utiliza para montar/desmontar y ver los sistemas de archivos montados.
$ mount | column -t/dev/sda6 on / type ext4 (rw,errors=remount-ro)proc on /proc type proc (rw,noexec,nosuid,nodev)sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)none on /sys/fs/cgroup type tmpfs (rw)none on /sys/fs/fuse/connections type fusectl (rw)none on /sys/kernel/debug type debugfs (rw)none on /sys/kernel/security type securityfs (rw)udev on /dev type devtmpfs (rw,mode=0755)devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)none on /run/shm type tmpfs (rw,nosuid,nodev)none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)none on /sys/fs/pstore type pstore (rw)/dev/sda8 on /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 type ext4 (rw,nosuid,nodev,errors=remount-ro)/dev/sda5 on /media/4668484A68483B47 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=enlightened)
De nuevo, usa grep para filtrar sólo los sistemas de archivos que quieras ver
$ mount | column -t | grep ext
13. free – Check RAM
Comprueba la cantidad de RAM usada, libre y total del sistema con el comando free.
$ free -m total used free shared buffers cachedMem: 7975 5865 2110 0 24 622-/+ buffers/cache: 5218 2757Swap: 1951 921 1030
14. dmidecode
El comando dmidecode es diferente a todos los demás comandos. Extrae información del hardware leyendo datos de las estructuras de datos SMBOIS (también llamadas tablas DMI).
# display information about the processor/cpu$ sudo dmidecode -t processor# memory/ram information$ sudo dmidecode -t memory# bios details$ sudo dmidecode -t bios
Consulta la página man para más detalles.
15. Archivos /proc
Muchos de los archivos virtuales del directorio /proc contienen información sobre el hardware y las configuraciones. Estos son algunos de ellos
Información de CPU/Memoria
# cpu information$ cat /proc/cpuinfo# memory information$ cat /proc/meminfo
Información de Linux/kernel
$ cat /proc/versionLinux versión 3.11.0-12-generic () (gcc versión 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013
DispositivosSCSI/Sata
$ cat /proc/scsi/scsiAttached devices:Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3500418AS Rev: CC38 Type: Direct-Access ANSI SCSI revision: 05Host: scsi4 Channel: 00 Id: 00 Lun: 00 Vendor: SONY Model: DVD RW DRU-190A Rev: 1.63 Type: CD-ROM ANSI SCSI revision: 05
Particiones
$ cat /proc/partitionsmajor minor #blocks name 8 0 488386584 sda 8 1 73400953 sda1 8 2 1 sda2 8 5 102406311 sda5 8 6 102406311 sda6 8 7 1998848 sda7 8 8 208171008 sda8 11 0 1048575 sr0
16. hdparm
El comando hdparm obtiene información sobre dispositivos sata como discos duros.
$ sudo hdparm -i /dev/sda/dev/sda: Model=ST3500418AS, FwRev=CC38, SerialNo=9VMJXV1N Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: unknown: ATA/ATAPI-4,5,6,7 * signifies the current active mode
Resumen
Cada uno de los comandos tiene un método ligeramente diferente para extraer la información, y puede que necesites probar más de uno de ellos, mientras buscas detalles específicos del hardware. Sin embargo, están disponibles en la mayoría de las distribuciones de Linux, y pueden ser fácilmente instalados desde los repositorios por defecto.
En el escritorio hay herramientas gui, para aquellos que no quieren memorizar y escribir comandos. Hardinfo, I-nex son algunas de las más populares que proporcionan información detallada sobre múltiples componentes de hardware diferentes.