10 comandos para coletar informações do sistema e hardware no Linux
É sempre uma boa prática conhecer os componentes de hardware do seu sistema Linux em execução, isso ajuda você a lidar com problemas de compatibilidade quando se trata de instalar pacotes e drivers em seu sistema usando yum, dnf ou apt.
Neste artigo, veremos alguns comandos úteis do Linux que podem ajudá-lo a extrair informações sobre seu sistema Linux e componentes de hardware.
1. Como visualizar informações do sistema Linux
Para saber apenas o nome do sistema, você pode usar o comando uname sem qualquer opção que imprima as informações do sistema ou o comando uname -s imprimirá o nome do kernel do seu sistema.
tecmint@tecmint ~ $ uname
Linux
Para visualizar o nome do host da sua rede Linux, use a opção '-n' com o comando uname conforme mostrado.
tecmint@tecmint ~ $ uname -n
linux-console.net
Para obter informações sobre a versão do kernel Linux, use a opção '-v'.
tecmint@tecmint ~ $ uname -v
#64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014
Para obter informações sobre a versão do kernel Linux, use a opção '-r'.
tecmint@tecmint ~ $ uname -r
3.13.0-37-generic
Para imprimir o nome da arquitetura de hardware Linux, use a opção '-m':
tecmint@tecmint ~ $ uname -m
x86_64
Todas essas informações podem ser impressas de uma vez executando o comando 'uname -a' conforme mostrado abaixo.
tecmint@tecmint ~ $ uname -a
Linux linux-console.net 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38
UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2. Como visualizar informações de hardware do sistema Linux
Aqui você pode usar a ferramenta lshw para coletar vastas informações sobre seus componentes de hardware, como cpu, discos, memória , controladores USB, etc.
lshw é uma ferramenta relativamente pequena e existem algumas opções que você pode usar ao extrair informações. As informações fornecidas por lshw foram coletadas de diferentes arquivos /proc.
Nota: Lembre-se de que o comando lshw é executado pelo superusuário (root) ou pelo usuário sudo.
Para imprimir informações sobre o hardware do seu sistema Linux, execute o seguinte comando.
tecmint@tecmint ~ $ sudo lshw
linux-console.net
description: Notebook
product: 20354 (LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70)
vendor: LENOVO
version: Lenovo Z50-70
serial: 1037407803441
width: 64 bits
capabilities: smbios-2.7 dmi-2.7 vsyscall32
configuration: administrator_password=disabled boot=normal
chassis=notebook family=IDEAPAD frontpanel_password=disabled
keyboard_password=disabled power-on_password=disabled
sku=LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70
uuid=E4B1D229-D237-E411-9F6E-28D244EBBD98
*-core
description: Motherboard
product: Lancer 5A5
vendor: LENOVO
physical id: 0
version: 31900059WIN
serial: YB06377069
slot: Type2 - Board Chassis Location
*-firmware
description: BIOS
vendor: LENOVO
physical id: 0
version: 9BCN26WW
date: 07/31/2014
size: 128KiB
capacity: 4032KiB
capabilities: pci upgrade shadowing cdboot bootselect edd
int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720
int13floppy2880 int9keyboard int10video acpi usb biosbootspecification uefi
......
Você pode imprimir um resumo das informações do seu hardware usando a opção -short
.
tecmint@tecmint ~ $ sudo lshw -short
H/W path Device Class Description
=====================================================
system 20354 (LENOVO_MT_20354_
BU_idea_FM_Lenovo Z50-70)
/0 bus Lancer 5A5
/0/0 memory 128KiB BIOS
/0/4 processor Intel(R) Core(TM) i5-4210U
CPU @ 1.70GHz
/0/4/b memory 32KiB L1 cache
/0/4/c memory 256KiB L2 cache
/0/4/d memory 3MiB L3 cache
/0/a memory 32KiB L1 cache
/0/12 memory 8GiB System Memory
/0/12/0 memory DIMM [empty]
/0/12/1 memory DIMM [empty]
/0/12/2 memory 8GiB SODIMM DDR3 Synchronous
1600 MHz (0.6 ns)
/0/12/3 memory DIMM [empty]
/0/100 bridge Haswell-ULT DRAM Controller
/0/100/2 display Haswell-ULT Integrated
Graphics Controller
/0/100/3 multimedia Haswell-ULT HD Audio Controller
...
Se desejar gerar a saída como um arquivo html, você pode usar a opção -html
.
tecmint@tecmint ~ $ sudo lshw -html > lshw.html
3. Como visualizar informações da CPU do Linux
Para visualizar informações sobre sua CPU, use o comando lscpu, pois ele mostra informações sobre a arquitetura de sua CPU, como número de CPUs, núcleos, modelo de família de CPU, caches de CPU, threads, etc. de sysfs e /proc/cpuinfo.
tecmint@tecmint ~ $ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 69
Stepping: 1
CPU MHz: 768.000
BogoMIPS: 4788.72
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
4. Como coletar informações do dispositivo de bloco Linux
Dispositivos de bloco são dispositivos de armazenamento, como discos rígidos, unidades flash, etc. O comando lsblk é usado para relatar informações sobre dispositivos de bloco como segue.
tecmint@tecmint ~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1000M 0 part
├─sda2 8:2 0 260M 0 part /boot/efi
├─sda3 8:3 0 1000M 0 part
├─sda4 8:4 0 128M 0 part
├─sda5 8:5 0 557.1G 0 part
├─sda6 8:6 0 25G 0 part
├─sda7 8:7 0 14.7G 0 part
├─sda8 8:8 0 1M 0 part
├─sda9 8:9 0 324.5G 0 part /
└─sda10 8:10 0 7.9G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
Se você deseja visualizar todos os dispositivos de bloco em seu sistema, inclua a opção -a
.
tecmint@tecmint ~ $ lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1000M 0 part
├─sda2 8:2 0 260M 0 part /boot/efi
├─sda3 8:3 0 1000M 0 part
├─sda4 8:4 0 128M 0 part
├─sda5 8:5 0 557.1G 0 part
├─sda6 8:6 0 25G 0 part
├─sda7 8:7 0 14.7G 0 part
├─sda8 8:8 0 1M 0 part
├─sda9 8:9 0 324.5G 0 part /
└─sda10 8:10 0 7.9G 0 part [SWAP]
sdb 8:16 1 0 disk
sr0 11:0 1 1024M 0 rom
ram0 1:0 0 64M 0 disk
ram1 1:1 0 64M 0 disk
ram2 1:2 0 64M 0 disk
ram3 1:3 0 64M 0 disk
ram4 1:4 0 64M 0 disk
ram5 1:5 0 64M 0 disk
ram6 1:6 0 64M 0 disk
ram7 1:7 0 64M 0 disk
ram8 1:8 0 64M 0 disk
ram9 1:9 0 64M 0 disk
loop0 7:0 0 0 loop
loop1 7:1 0 0 loop
loop2 7:2 0 0 loop
loop3 7:3 0 0 loop
loop4 7:4 0 0 loop
loop5 7:5 0 0 loop
loop6 7:6 0 0 loop
loop7 7:7 0 0 loop
ram10 1:10 0 64M 0 disk
ram11 1:11 0 64M 0 disk
ram12 1:12 0 64M 0 disk
ram13 1:13 0 64M 0 disk
ram14 1:14 0 64M 0 disk
ram15 1:15 0 64M 0 disk
5. Como verificar o controlador USB no Linux
O comando lsusb é usado para relatar informações sobre controladores USB e todos os dispositivos conectados a eles.
tecmint@tecmint ~ $ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 0bda:b728 Realtek Semiconductor Corp.
Bus 002 Device 004: ID 5986:0249 Acer, Inc
Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp.
RTS5129 Card Reader Controller
Bus 002 Device 002: ID 045e:00cb Microsoft Corp.
Basic Optical Mouse v2.0
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation
2.0 root hub
Você pode usar a opção -v
para gerar informações detalhadas sobre cada dispositivo USB.
tecmint@tecmint ~ $ lsusb -v
6. Como verificar dispositivos PCI no Linux
Os dispositivos PCI podem incluir portas USB, placas gráficas, adaptadores de rede, etc. A ferramenta lspci é usada para gerar informações sobre todos os controladores PCI em seu sistema, além dos dispositivos conectados a eles.
Para imprimir informações sobre dispositivos PCI, execute o seguinte comando.
tecmint@tecmint ~ $ lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT
DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT
Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller
(rev 0b)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC
(rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0
(rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller
(rev 04)
00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3
(rev e4)
00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4
(rev e4)
00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 5
(rev e4)
00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1
(rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller
(rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1
[AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411
PCI Express Gigabit Ethernet Controller (rev 10)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd.
RTL8723BE PCIe Wireless Network Adapter
03:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev a2)
Use a opção -t
para produzir saída em formato de árvore.
tecmint@tecmint ~ $ lspci -t
-[0000:00]-+-00.0
+-02.0
+-03.0
+-14.0
+-16.0
+-1b.0
+-1c.0-[01]----00.0
+-1c.3-[02]----00.0
+-1c.4-[03]----00.0
+-1d.0
+-1f.0
+-1f.2
\-1f.3
Use a opção -v
para produzir informações detalhadas sobre cada dispositivo conectado.
tecmint@tecmint ~ $ lspci -v
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
Subsystem: Lenovo Device 3978
Flags: bus master, fast devsel, latency 0
Capabilities:
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT
Integrated Graphics Controller (rev 0b) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 380d
Flags: bus master, fast devsel, latency 0, IRQ 62
Memory at c3000000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 6000 [size=64]
Expansion ROM at [disabled]
Capabilities:
Kernel driver in use: i915
.....
7. Como verificar dispositivos SCSI no Linux
Para visualizar todos os seus dispositivos scsi/sata, use o comando lsscsi conforme a seguir. Se você não tiver a ferramenta lsscsi instalada, execute o seguinte comando para instalá-la.
sudo apt-get install lsscsi [on Debian derivatives]
yum install lsscsi [On RedHat based systems]
dnf install lsscsi [On Fedora 21+ Onwards]
Após a instalação, execute o comando lsscsi conforme mostrado:
tecmint@tecmint ~ $ lsscsi
[0:0:0:0] disk ATA ST1000LM024 HN-M 2BA3 /dev/sda
[1:0:0:0] cd/dvd PLDS DVD-RW DA8A5SH RL61 /dev/sr0
[4:0:0:0] disk Generic- xD/SD/M.S. 1.00 /dev/sdb
Use a opção -s
para mostrar os tamanhos dos dispositivos.
tecmint@tecmint ~ $ lsscsi -s
[0:0:0:0] disk ATA ST1000LM024 HN-M 2BA3 /dev/sda 1.00TB
[1:0:0:0] cd/dvd PLDS DVD-RW DA8A5SH RL61 /dev/sr0 -
[4:0:0:0] disk Generic- xD/SD/M.S. 1.00 /dev/sdb -
8. Como verificar o dispositivo SATA no Linux
Você pode encontrar algumas informações sobre dispositivos sata em seu sistema da seguinte maneira, usando o utilitário hdparm. No exemplo abaixo, usei o dispositivo de bloco /dev/sda1 que é o disco rígido do meu sistema.
tecmint@tecmint ~ $ sudo hdparm /dev/sda1
/dev/sda1:
multcount = 0 (off)
IO_support = 1 (32-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 56065/255/63, sectors = 2048000, start = 2048
Para imprimir informações sobre a geometria do dispositivo em termos de cilindros, cabeçotes, setores, tamanho e deslocamento inicial do dispositivo, use a opção -g
.
tecmint@tecmint ~ $ sudo hdparm -g /dev/sda1
/dev/sda1:
geometry = 56065/255/63, sectors = 2048000, start = 2048
9. Como verificar as informações do sistema de arquivos Linux
Para coletar informações sobre partições do sistema de arquivos, você pode usar o comando fdisk. Embora a principal funcionalidade do comando fdisk seja modificar as partições do sistema de arquivos, ele também pode ser usado para visualizar informações sobre as diferentes partições do seu sistema de arquivos.
Você pode imprimir informações de partição da seguinte maneira. Lembre-se de executar o comando como superusuário ou você não verá nenhuma saída.
tecmint@tecmint ~ $ sudo fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'!
The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders,
total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xcee8ad92
Device Boot Start End Blocks Id System
/dev/sda1 1 1953525167 976762583+ ee GPT
Partition 1 does not start on physical sector boundary.
10. Como verificar as informações dos componentes de hardware do Linux
Você também pode usar o utilitário dmidecode para extrair informações de hardware lendo dados das tabelas DMI.
Para imprimir informações sobre a memória do Linux, execute este comando como superusuário.
tecmint@tecmint ~ $ sudo dmidecode -t memory
dmidecode 2.12
SMBIOS entry point at 0xaaebef98
SMBIOS 2.7 present.
Handle 0x0005, DMI type 5, 24 bytes
Memory Controller Information
Error Detecting Method: None
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 8192 MB
Maximum Total Memory Size: 32768 MB
Supported Speeds:
Other
Supported Memory Types:
Other
Memory Module Voltage: Unknown
Associated Memory Slots: 4
0x0006
0x0007
0x0008
0x0009
Enabled Error Correcting Capabilities:
None
...
Para imprimir informações sobre o sistema, execute este comando.
tecmint@tecmint ~ $ sudo dmidecode -t system
dmidecode 2.12
SMBIOS entry point at 0xaaebef98
SMBIOS 2.7 present.
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: LENOVO
Product Name: 20354
Version: Lenovo Z50-70
Serial Number: 1037407803441
UUID: 29D2B1E4-37D2-11E4-9F6E-28D244EBBD98
Wake-up Type: Power Switch
SKU Number: LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70
Family: IDEAPAD
...
Para imprimir informações sobre o BIOS do Linux, execute este comando.
tecmint@tecmint ~ $ sudo dmidecode -t bios
dmidecode 2.12
SMBIOS entry point at 0xaaebef98
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: LENOVO
Version: 9BCN26WW
Release Date: 07/31/2014
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 4096 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
5.25"/360 kB floppy services are supported (int 13h)
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)
8042 keyboard services are supported (int 9h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 0.26
Firmware Revision: 0.26
...
Para imprimir informações sobre o processador Linux, execute este comando.
tecmint@tecmint ~ $ sudo dmidecode -t processor
dmidecode 2.12
SMBIOS entry point at 0xaaebef98
SMBIOS 2.7 present.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: U3E1
Type: Central Processor
Family: Core i5
Manufacturer: Intel(R) Corporation
ID: 51 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 69, Stepping 1
Flags:
...
Resumo
Existem muitas outras maneiras que você pode usar para obter informações sobre os componentes de hardware do sistema Linux. A maioria desses comandos usa arquivos no diretório /proc para extrair informações do sistema.
Espero que essas dicas e truques sejam úteis e lembre-se de postar um comentário caso queira adicionar mais informações ou se tiver alguma dificuldade em usar algum dos comandos. Lembre-se de estar sempre conectado ao Tecmint.