Hardware und Details via CLI-Tools ermitteln

Mit leichtgewichtigen Tools erhält man viel Informationen zur genutzten Hardware. Es braucht nicht immer große Software-Pakete oder gar GUIs ;)

Root Rechte nötig

Die Befehle werden mit root-Rechten ausgeführt. Nutze “sudo” oder su (switch user), wenn du nicht als root eingeloggt bist.

CPU / Prozessor

lscpu

Architektur:                     x86_64
CPU Operationsmodus:             32-bit, 64-bit
Byte-Reihenfolge:                Little Endian
Adressgrößen:                    39 bits physical, 48 bits virtual
CPU(s):                          8
Liste der Online-CPU(s):         0-7
Thread(s) pro Kern:              2
Kern(e) pro Sockel:              4
Sockel:                          1
NUMA-Knoten:                     1
Anbieterkennung:                 GenuineIntel
Prozessorfamilie:                6
Modell:                          94
Modellname:                      Intel(R) Xeon(R) CPU E3-1260L v5 @ 2.90GHz
Stepping:                        3
CPU MHz:                         900.140
Maximale Taktfrequenz der CPU:   3900,0000
Minimale Taktfrequenz der CPU:   800,0000
BogoMIPS:                        5802.42
Virtualisierung:                 VT-x
L1d Cache:                       128 KiB
L1i Cache:                       128 KiB
L2 Cache:                        1 MiB
L3 Cache:                        8 MiB
NUMA-Knoten0 CPU(s):             0-7
Vulnerability Itlb multihit:     KVM: Mitigation: VMX disabled
Vulnerability L1tf:              Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Full generic retpoline, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling
Vulnerability Srbds:             Mitigation; Microcode
Vulnerability Tsx async abort:   Mitigation; Clear CPU buffers; SMT vulnerable
Markierungen:                    fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx
                                  est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2
                                 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d

Block-Devices (Festplatten, SSDs, NVMEs)

Mit lsblk können eine Vielzahl von Informationen abgerufen werden (–output). Eine Liste erhält man mit (-h|–help). Der Parameter –nodeps (-d) sorgt dafür, dass man nur “Hauptgeräte” wie Festplatten, aber keine Partitionen, RAIDs, LVMs angezeigt bekommt. ROTA zeigt an, ob das Gerät rotierende Teile hat (Festplatten).

lsblk --output name,model,serial,rota --nodeps

NAME MODEL                      SERIAL               ROTA
sda  SAMSUNG_MZ7KM1T9HAJM-00005 S2XXXXXXXXXXXX          0
sdb  SAMSUNG_MZ7KM1T9HAJM-00005 S2XXXXXXXXXXXX          0
sdc  WDC_WD80EFZX-68UW8N0       xxxxxxxx                1
sdd  WDC_WD30EFRX-68EUZN0       WD-WMCxxxxxxxxx         1
sde  WDC_WD30EFRX-68EUZN0       WD-WMCxxxxxxxxx         1
sdf  WDC_WD30EFRX-68EUZN0       WD-WMCxxxxxxxxx         1
sdg  WDC_WD30EFRX-68EUZN0       WD-WMCxxxxxxxxx         1

S.M.A.R.T. Werte von Block Devices

Ist der Health-Status, die Menge der Lesefehler oder Laufzeit relevant, ist das Auslesen der SMART-Werte von nöten. Alle gängigen Distributionen halten hierfür Pakete bereit. Unter Archlinux und Ubuntu nennt dieses sich smartmontools.

# Ubuntu
apt update && apt install smartmontools

# Archlinux
pacman -Syu smartmontools

smartctl -a /dev/sda

smartctl 7.4 2023-08-01 r5530 [x86_64-linux-5.15.81-1-lts] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     SAMSUNG xxxxxx-xxxxxxx
Serial Number:    xxxxxxxxxxxxxxxxxxxx
LU WWN Device Id: 5 xxxxx xxxxxxxxx
Firmware Version: xxxxxxx
User Capacity:    1.920.383.410.176 bytes [1,92 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
TRIM Command:     Available, deterministic, zeroed
Device is:        In smartctl database 7.3/5528
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Feb  3 20:36:53 2024 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

..........

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   089   089   000    Old_age   Always       -       51508
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       36
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       82
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0013   100   100   010    Pre-fail  Always       -       15335
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
184 End-to-End_Error        0x0033   100   100   097    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   060   052   000    Old_age   Always       -       40
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   099   099   000    Old_age   Always       -       1
202 Exception_Mode_Status   0x0033   100   100   010    Pre-fail  Always       -       0
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       24
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       180868725074
242 Total_LBAs_Read         0x0032   099   099   000    Old_age   Always       -       135827340303
243 SATA_Downshift_Ct       0x0032   100   100   000    Old_age   Always       -       0
244 Thermal_Throttle_St     0x0032   100   100   000    Old_age   Always       -       0
245 Timed_Workld_Media_Wear 0x0032   100   100   000    Old_age   Always       -       65535
246 Timed_Workld_RdWr_Ratio 0x0032   100   100   000    Old_age   Always       -       65535
247 Timed_Workld_Timer      0x0032   100   100   000    Old_age   Always       -       65535
251 NAND_Writes             0x0032   100   100   000    Old_age   Always       -       232084360256

..........

PCI Devices

Je genauer die Ausgabe sein soll, desto mehr “-v”.
Nach Menge der Ausgabe lohnt sich die Umleitung in eine Datei, oder nach less, um den Inhalt in Ruhe lesen zu können…

lspci
lspci -v
lspci -vvvvv | less
lspci -vvvvv > pci.out; less pci.out

USB Devices

Das gleich Prozedere wie bei PCI-Devices…

lsusb

Mainboard, RAM, Prozessor, BIOS

dmidecode
biosdecode

https://wiki.ubuntuusers.de/dmidecode/