Linuxul nu mai e ce-a fost, iar un utilizator obișnuit, care folosește un mediu desktop oarecare (Mate, KDE, Gnome...) va putea afla informațiile despre sistem din doar 2-3 click-uri. Dar dacă ai un server VPS, trebuie cunoscute câteva comenzi de bază care ne pot face munca mai ușoară, permitându-ne să aflăm hardware-ul de care dispunem.
Vizualizarea informațiilor despre procesor
Există 2 posibilități pentru a afla toate informațiile care ne interesează despre procesor:
lscpu
este o comandă care aduce informațiile despre procesor din /proc/cpuinfo și din sysfs:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Model name: Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
Stepping: 10
CPU MHz: 1600.000
CPU max MHz: 2933.0000
CPU min MHz: 1600.0000
BogoMIPS: 5868.04
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
NUMA node0 CPU(s): 0,1
Flags: 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 lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm tpr_shadow vnmi flexpriority dtherm
- putem vizualiza direct fișierul /proc/cpuinfo utilizând comanda
cat
:cat /proc/cpuinfo
La ieșire vom avea mai multe informații decât a furnizat comanda lscpu:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
stepping : 10
microcode : 0xa07
cpu MHz : 1600.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : 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 lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm tpr_shadow vnmi flexpriority dtherm
bugs :
bogomips : 5868.04
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
stepping : 10
microcode : 0xa07
cpu MHz : 1600.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : 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 lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm tpr_shadow vnmi flexpriority dtherm
bugs :
bogomips : 5868.07
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
Vizualizarea informațiilor despre memoria instalată
Vom afișa direct conținutul fișierului /proc/meminfo folosind comanda cat
și vom afla informații detaliate despre memoria sistemului (RAM, swap...):
cat /proc/meminfo
La ieșire va apărea ceva asemănător cu:
MemTotal: 4050388 kB
MemFree: 445520 kB
MemAvailable: 1072540 kB
Buffers: 69652 kB
Cached: 879720 kB
SwapCached: 12 kB
Active: 2390804 kB
Inactive: 911684 kB
Active(anon): 1971972 kB
Inactive(anon): 548992 kB
Active(file): 418832 kB
Inactive(file): 362692 kB
Unevictable: 132 kB
Mlocked: 132 kB
SwapTotal: 4194300 kB
SwapFree: 4194144 kB
Dirty: 68 kB
Writeback: 0 kB
AnonPages: 2106572 kB
Mapped: 471108 kB
Shmem: 167848 kB
Slab: 136672 kB
SReclaimable: 101344 kB
SUnreclaim: 35328 kB
KernelStack: 6400 kB
PageTables: 38748 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6219492 kB
Committed_AS: 6710692 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 294912 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 256896 kB
DirectMap2M: 3936256 kB
Vizualizarea informațiilor despre dispozitivele USB
Comanda lsusb
ne furnizează informații despre controlerele USB și dispozitivele USB atașate sistemului:
lsusb
Bus 001 Device 006: ID 048d:1345 Integrated Technology Express, Inc. Multi Cardreader
Bus 001 Device 002: ID 093a:2700 Pixart Imaging, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 003: ID 0000:0538
Bus 005 Device 002: ID 258a:0001
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 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 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Putem folosi opțiunea -v
pentru a afla informații detaliate:
lsusb -v | less
Bus 001 Device 006: ID 048d:1345 Integrated Technology Express, Inc. Multi Cardreader
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x048d Integrated Technology Express, Inc.
idProduct 0x1345 Multi Cardreader
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
Afișarea informațiilor despre dispozitivele PCI
Plăcile video, de rețea precum și porturile USB sunt condiderate dispozitive PCI. Comanda lspci
se folosește pentru a afișa toate magistralele PCI, precum și detalii despre acestea: adaptoare VGA, porturi USB, adaptoare SATA, plăci video, adaptoare de rețea, etc.:
lspci
La ieșire vom avea ceva asemănător cu:
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 10)
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 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.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
01:00.0 VGA compatible controller: NVIDIA Corporation GT216 [GeForce 210] (rev a2)
01:00.1 Audio device: NVIDIA Corporation GT216 HDMI Audio Controller (rev a1)
03:00.0 Ethernet controller: Qualcomm Atheros AR8131 Gigabit Ethernet (rev c0)
De asemena, putem filtra ceea ce vom avea la ieșire (de exemplul, comanda de mai jos va afișa doar primele 12 rânduri despre dispozitivul VGA):
lspci -v | grep "VGA" -A 12
01:00.0 VGA compatible controller: NVIDIA Corporation GT216 [GeForce 210] (rev a2) (prog-if 00 [VGA controller])
Flags: bus master, fast devsel, latency 0, IRQ 29
Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at de000000 (64-bit, prefetchable) [size=32M]
I/O ports at af00 [size=128]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia01:00.1 Audio device: NVIDIA Corporation GT216 HDMI Audio Controller (rev a1)
Flags: bus master, fast devsel, latency 0, IRQ 16
Utilitarul INXI
inxi
este o comandă care afișează informații complexe despre tot ceea ce înseamnă sistemul vostru. Formatul de ieșire este comun, astfel încât poate fi citit și interpretat și de utilizatorii non-tehnici.
inxi nu vine instalat, în mod prestabilit, pe aproape nicio distribuție.
Instalarea inxi în Arch Linux:
sudo pacman -S inxi
Instalarea inxi în Ubuntu
sudo apt-get install inxi
După instalare, vom rula următoarea comandă pentru afișarea informațiilor despre sistem:
inxi -Fx
Se va afișa:
Detalii despre comanda inxi: man inxi
Informații desre hard disk și partiții
Comanda df
(cunoscută și ca "disk free") este o comandă UNIX standard care afișează informații diverse despre partiții, puncte de montare, precum și spațiul utilizat sau liber alocat fiecăreia.
Comanda se folosește astfel:
df -h
Ieșirea va fi de forma:
Extragerea informațiilor despre componentele hardware
Comanda dmidecode
(instalată în Ubuntu, dar nu se află în Arch) extrage informațiile despre hardware-ul sistemului citind datele din tabelele DMI.
Instalarea dmidecode în Arch Linux:
sudo pacman -S dmidecode
Pentru afișarea informațiilor despre procesor putem da comanda (cu sudo în față):
sudo dmidecode -t processor
Output-ul va fi:
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.Handle 0x0004, DMI type 4, 35 bytes
Processor Information
Socket Designation: Socket 775
Type: Central Processor
Family: Other
Manufacturer: Intel
ID: 7A 06 01 00 FF FB EB BF
Version: Pentium(R) Dual-Core CPU E6
Voltage: 1.3 V
External Clock: 266 MHz
Max Speed: 4000 MHz
Current Speed: 2933 MHz
Status: Populated, Enabled
Upgrade: Socket 478
L1 Cache Handle: 0x0008
L2 Cache Handle: 0x0009
L3 Cache Handle: Not Provided
Serial Number:
Asset Tag:
Part Number:
Afișarea informațiilor despre memorie cu dmidecode:
sudo dmidecode -t memory
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.Handle 0x0005, DMI type 5, 20 bytes
Memory Controller Information
Error Detecting Method: 8-bit Parity
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 1024 MB
Maximum Total Memory Size: 2048 MB
Supported Speeds:
Other
Supported Memory Types:
Other
Memory Module Voltage: 5.0 V
Associated Memory Slots: 2
0x0006
0x0007
Enabled Error Correcting Capabilities:
NoneHandle 0x0006, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: A0
Bank Connections: 1
Current Speed: Unknown
Type: Other
Installed Size: 2048 MB (Single-bank Connection)
Enabled Size: 2048 MB (Single-bank Connection)
Error Status: OKHandle 0x0007, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: A1
Bank Connections: 2
Current Speed: Unknown
Type: Other
Installed Size: 2048 MB (Single-bank Connection)
Enabled Size: 2048 MB (Single-bank Connection)
Error Status: OKHandle 0x0019, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 2Handle 0x001A, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0019
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: A0
Bank Locator: Bank0/1
Type: Unknown
Type Detail: None
Speed: 800 MHz
Manufacturer:
Serial Number:
Asset Tag:
Part Number:Handle 0x001B, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0019
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: A1
Bank Locator: Bank2/3
Type: Unknown
Type Detail: None
Speed: 800 MHz
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
Mai multe despre comanda dmidecode pot fi aflate folosind man: man dmidecode
Vizualizarea informațiilor despre hard disk-urile SATA
Vom folosi comanda hdparm
(nu se află instalată în Arch, deși se regăsește în Ubuntu) - afișează informații despre dispozitivele SATA aflate în sistem.
Instalarea hdparm în Arch Linux:
sudo pacman -S hdparm
Poate fi folosită doar de administratorul de sistem (cu sudo în față); dacă, de exemplu, vrem să aflăm informații despre hardisk-ul nostru SATA sda, vom scrie comanda sub forma:
sudo hdparm -i /dev/sda
Ieșirea va fi de forma:
/dev/sda:
Model=ST1000DM003-1ER162, FwRev=CC45, SerialNo=Z4Y9HGY5
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953523055
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=yes: unknown setting WriteCache=enabled
Drive conforms to: Reserved: ATA/ATAPI-4,5,6,7* signifies the current active mode
gbagape a zis
Tot în inxi pentru detalii complete mai sunt comenzile acestea:
inxi -A Audio/Sound hardware details
inxi -c CPU
inxi -D Harddisk
inxi -F Complete Hardware details
inxi -fC CPU & CPU Flags
inxi -G Graphic card
inxi -i IP & Network
inxi -M Bios and Motherboard
inxi -n Network
inxi -r List of available repositories
inxi -tcm10 10 CPU & RAM Process
inxi -W oraș,Romania Weather
inxi -tcm10 -c 10 Change colour output
inxi --recommends Informations
Bobses a zis
man inxi
🙂Şerban Stănescu a zis
Salut!
Deşi ocolesc cât pot CLI, trebuie să recunosc, pe partea de diagnoză, ai nişte facilităţi puternice şi merge foarte repede. Mai mult, dacă vrei un diagnostic complet, poţi scrie un script în care redirecţionezi într-un fişier datele de la consolă şi concatenându-le, obţii un raport foarte necesar în contextul propus de tine. De fapt, VPS e doar o variantă de administrare. Ce oferi tu aici, e valabil pentru orice server, ca să te poţi mişca repede.
Pe de altă parte, o interfaţă grafică blocată, te lasă cam descoperit. Fără alt tty, mi-e practic imposibil să văd o ieşire! Acasă, pot reseta hardware, dar dacă aş avea server... Ştiu şi eu? Pot fi prea multe situaţii când trebuie să rezolvi "la cald" şi afară de Midnight Commander, HTop, ce altceva se poate folosi? Şi oricum, tot în CLI suntem şi cu astea! 🙂
eu mi-am luat câteva "biblii" între care şi o carte de bash, mai ales că mă bate gândul să-mi reorganizez serios arhiva şi să trec de la reţea P2P, la intranet. NAS (FreeNAS) pare a fi o soluţie aplicabilă şi cu costuri mai "subţiri", chiar dacă cedăm la performanţă. Aşa încât, cam trebuie să mă învăţ iar cu "băţul" care clipeşte...
Cândva chiar îmi plăcea. Până să descopăr interfaţa grafică şi cam ce oferă...
Dar Linuxul pe care l-am instalat prima oară, era 100% CLI. XFreeOrg, era încă opţional... Cred că era un Slackware 4.x. (era pe la finele lui 1996 - începutul lui 1997) Oricum, era pe o puzderie de dischete şi eram încântat că ştie să se instaleze dintr-un director, altfel mă omora la bani! 😀
Bobses a zis
Salut
Da, e valabil pentru orice server. VPS-ul l-am dat ca exemplu, că mă ocup de așa ceva.
Toto cu Slackware am început și eu, prin 2002-2003. 🙂 Asta am găsit prin revista Chip, asta am instalat...
Şerban Stănescu a zis
Păi, tot de la CHIP citire era şi acea distribuţie...
Malin a zis
E prima data cand aud pe cineva ca evita terminalul pe cat de mult posibil. Eu il prefer in locul oricarei solutii alternative mai ales pentru hosturile remote.
Şerban Stănescu a zis
Da, doar că avem interese şi obiective extrem de diferite: pe mine mă interesează ce pot face pentru CREAŢIE DE CONŢINUT şi aspectele corelate, cum sunt cele legate de învăţământul asistat. Ceea ce este extrem de departe de administrarea unei reţele şi a unor servere.
CLI pentru mine, este un regres colosal şi o colosală pierdere de vreme. Mi se pare inutilă orice polemică pe tema asta când domeniul de activitate este atât de diferit. Este ca şi cum te-ai apuca să faci depanare pe o placă de bază cu uneltele de tâmplărie.
Am mai spus, o repet: CLI este utilă doar în administrare şi chiar şi acolo, poate fi evitată mult cu aplicaţii gen Midnight Commander. Da, este o diferenţă uriaşă între programele cu interfaţă Viewport (VGA) şi interfeţele grafice, ştiu asta, dar intrăm în detalii de programare şi ajungem pe un domeniu care a încetat să mă mai intereseze de câţiva ani buni.