Informacje o sprzęcie
Jak dla każdej rzeczy, istnieje wiele komend do sprawdzenia informacji o sprzęcie twojego systemu linuxowego.
Niektóre komendy informują tylko o konkretnych komponentach sprzętowych, takich jak procesor czy pamięć, podczas gdy pozostałe dotyczą wielu jednostek sprzętowych.
W tym poście przyjrzymy się niektórym z najczęściej używanych komend do sprawdzania informacji i szczegółów konfiguracji różnych urządzeń peryferyjnych i sprzętowych.
Lista obejmuje lscpu, hwinfo, lshw, dmidecode, lspci etc.
1. lscpu
Komenda lscpu podaje informacje o procesorze i jednostkach przetwarzających. Nie posiada żadnych dodatkowych opcji ani funkcjonalności.
$ 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
Ogólnego przeznaczenia narzędzie, które raportuje szczegółowe i krótkie informacje o wielu różnych jednostkach sprzętowych, takich jak procesory, pamięć, dyski, kontrolery usb, karty sieciowe itp. Lshw wyodrębnia informacje z różnych plików /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)
Filtruj informacje o konkretnych urządzeniach za pomocą grep.
$ lspci -v | grep "VGA" -A 12
5. lsscsi – List scsi devices
Wykazuje urządzenia scsi/sata, takie jak dyski twarde i napędy optyczne.
$ lsscsi disk ATA ST3500418AS CC38 /dev/sda cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
6. lsusb – List usb buses and device details
To polecenie pokazuje kontrolery USB i szczegóły dotyczące podłączonych do nich urządzeń. Domyślnie wypisywane są krótkie informacje. Użyj opcji verbose „-v”, aby wydrukować szczegółowe informacje o każdym porcie 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
W powyższym systemie, 1 port usb jest używany przez mysz.
7. Inxi
Inxi jest mega skryptem basha o 10 tys. linii, który pobiera szczegóły sprzętu z wielu różnych źródeł i poleceń w systemie, i generuje pięknie wyglądający raport, który nietechniczni użytkownicy mogą łatwo przeczytać.
$ inxi -Fx
8. lsblk – List block devices
Wykazuje informacje o wszystkich urządzeniach blokowych, którymi są partycje dysku twardego oraz inne urządzenia pamięci masowej, takie jak napędy optyczne i pamięci 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 – przestrzeń dyskowa systemów plików
Raportuje różne partycje, ich punkty montowania oraz używane i dostępne miejsce na każdej z nich
$ 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
Ulepszona wersja df napisana w pythonie, która wyświetla kolorowe dane wyjściowe, które wyglądają lepiej niż 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 jest narzędziem do modyfikacji partycji na dyskach twardych, może być również użyty do wypisania informacji o partycji.
$ 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
Montaż jest używany do montowania/odmontowywania i przeglądania zamontowanych systemów plików.
$ 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)
Ponownie, użyj grep, aby odfiltrować tylko te systemy plików, które chcesz zobaczyć
$ mount | column -t | grep ext
13. free – Sprawdź pamięć RAM
Sprawdź ilość używanej, wolnej i całkowitej pamięci RAM w systemie za pomocą polecenia free.
$ free -m total used free shared buffers cachedMem: 7975 5865 2110 0 24 622-/+ buffers/cache: 5218 2757Swap: 1951 921 1030
14. dmidecode
Komenda dmidecode różni się od wszystkich innych komend. Wyodrębnia informacje o sprzęcie poprzez odczyt danych ze struktur danych SMBOIS (zwanych również tablicami DMI).
# display information about the processor/cpu$ sudo dmidecode -t processor# memory/ram information$ sudo dmidecode -t memory# bios details$ sudo dmidecode -t bios
Sprawdź stronę man po więcej szczegółów.
15. Pliki /proc
Wiele plików wirtualnych w katalogu /proc zawiera informacje o sprzęcie i konfiguracjach. Oto niektóre z nich
Informacje oCPU/pamięci
# cpu information$ cat /proc/cpuinfo# memory information$ cat /proc/meminfo
Informacje o Linuksie/kernelu
$ cat /proc/versionLinux version 3.11.0-12-generic () (gcc wersja 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013
Urządzenia SCSI/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
Partycje
$ 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
Komenda hdparm pobiera informacje o urządzeniach sata, takich jak dyski twarde.
$ 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
Podsumowanie
Każde z tych poleceń ma nieco inną metodę wydobywania informacji, i może być konieczne wypróbowanie więcej niż jednego z nich, szukając specyficznych szczegółów sprzętowych. Jednak są one dostępne w większości dystrybucji linuxa i mogą być łatwo zainstalowane z domyślnych repozytoriów.
Na pulpicie znajdują się narzędzia z gui, dla tych, którzy nie chcą zapamiętywać i wpisywać komend. Hardinfo, I-nex to niektóre z popularnych narzędzi, które dostarczają szczegółowych informacji o wielu różnych komponentach sprzętowych.