Inxi: una potent eina d'informació del sistema de línia d'ordres rica en funcions per a Linux


Inxi és un script d'informació del sistema de línia d'ordres potent i notable dissenyat tant per a consola com per a IRC (Internet Relay Chat). Es pot utilitzar per deduir a l'instant la configuració del sistema de l'usuari i la informació de maquinari, i també funciona com a eina de depuració i suport tècnic del fòrum.

Mostra informació útil sobre el maquinari del sistema (disc dur, targetes de so, targeta gràfica, targetes de xarxa, CPU, RAM i més), juntament amb informació del sistema sobre controladors, Xorg, entorn d'escriptori, nucli, versions de GCC, processos, etc. temps d'activitat, memòria i una àmplia gamma d'informació útil.

Tanmateix, la seva sortida difereix lleugerament entre la línia d'ordres i l'IRC, amb uns quants filtres predeterminats i opcions de color aplicables a l'ús de l'IRC. Els clients IRC compatibles inclouen: BitchX, Gaim/Pidgin, ircII, Irssi, Konversation, Kopete, KSirc, KVIrc, Weechat i Xchat, a més de qualsevol altre que sigui capaç de mostrar la sortida Inxi integrada o externa.

Com instal·lar Inxi al sistema Linux

Inix està disponible a la majoria de repositoris de distribució de Linux convencionals i també s'executa en BSD.

$ sudo apt-get install inxi   [On Debian/Ubuntu/Linux Mint]
$ sudo yum install inxi       [On CentOs/RHEL/Fedora]
$ sudo dnf install inxi       [On Fedora 22+]

Abans de començar a utilitzar-lo, podem executar l'ordre que segueix per comprovar totes les dependències de l'aplicació més recomanacions i diversos directoris, i mostrar quins paquets hem d'instal·lar per afegir suport per a una funció determinada.

$ inxi --recommends 
inxi will now begin checking for the programs it needs to operate. First a check of the main languages and tools
inxi uses. Python is only for debugging data collection.
---------------------------------------------------------------------------
Bash version: 4.3.42(1)-release
Gawk version: 4.1.3,
Sed version: 
Sudo version: 1.8.16
Python version: 2.7.12
---------------------------------------------------------------------------
Test One: Required System Directories (Linux Only).
If one of these system directories is missing, inxi cannot operate:

/proc....................................................................... Present
/sys........................................................................ Present

All the  directories are present.
---------------------------------------------------------------------------
Test Two: Required Core Applications.
If one of these applications is missing, inxi cannot operate:

df (info: partition data)................................................... /bin/df
gawk (info: core tool)...................................................... /usr/bin/gawk
grep (info: string search).................................................. /bin/grep
lspci (info: hardware data)................................................. /usr/bin/lspci
ps (info: process data)..................................................... /bin/ps
readlink.................................................................... /bin/readlink
sed (info: string replace).................................................. /bin/sed
tr (info: character replace)................................................ /usr/bin/tr
uname (info: kernel data)................................................... /bin/uname
wc (info: word character count)............................................. /usr/bin/wc

All the  applications are present.
---------------------------------------------------------------------------
Test Three: Script Recommends for Graphics Features.
NOTE: If you do not use X these do not matter (like a headless server). Otherwise, if one of these applications
is missing, inxi will have incomplete output:

glxinfo (info: -G glx info)................................................. /usr/bin/glxinfo
xdpyinfo (info: -G multi screen resolution)................................. /usr/bin/xdpyinfo
xprop (info: -S desktop data)............................................... /usr/bin/xprop
xrandr (info: -G single screen resolution).................................. /usr/bin/xrandr

All the  applications are present.
---------------------------------------------------------------------------
Test Four: Script Recommends for Remaining Features.
If one of these applications is missing, inxi will have incomplete output:

dig (info: -i first wlan ip default test)................................... /usr/bin/dig
dmidecode (info: -M if no sys machine data; -m memory)...................... /usr/sbin/dmidecode
file (info: -o unmounted file system)....................................... /usr/bin/file
hciconfig (info: -n -i bluetooth data)...................................... /bin/hciconfig
hddtemp (info: -Dx show hdd temp)........................................... /usr/sbin/hddtemp
ifconfig (info: -i ip lan-deprecated)....................................... /sbin/ifconfig
ip (info: -i ip lan)........................................................ /sbin/ip
sensors (info: -s sensors output)........................................... /usr/bin/sensors
strings (info: -I sysvinit version)......................................... /usr/bin/strings
lsusb (info: -A usb audio;-N usb networking)................................ /usr/bin/lsusb
modinfo (info: -Ax,-Nx module version)...................................... /sbin/modinfo
runlevel (info: -I runlevel)................................................ /sbin/runlevel
sudo (info: -Dx hddtemp-user;-o file-user).................................. /usr/bin/sudo
uptime (info: -I uptime (check which package owns Debian)).................. /usr/bin/uptime

All the  applications are present.
---------------------------------------------------------------------------
Test Five: Script Recommends for Remaining Features.
One of these downloaders needed for options -i/-w/-W (-U/-! [11-15], if supported):

wget (info: -i wan ip;-w/-W;-U/-! [11-15] (if supported))................... /usr/bin/wget
curl (info: -i wan ip;-w/-W;-U/-! [11-15] (if supported))................... /usr/bin/curl

All the  applications are present.
---------------------------------------------------------------------------
Test Six: System Directories for Various Information.
(Unless otherwise noted, these are for GNU/Linux systems)
If one of these directories is missing, inxi may have incomplete output:

/sys/class/dmi/id (info: -M system, motherboard, bios)...................... Present
/dev (info: -l,-u,-o,-p,-P,-D disk partition data).......................... Present
/dev/disk/by-label (info: -l,-o,-p,-P partition labels)..................... Present
/dev/disk/by-uuid (info: -u,-o,-p,-P partition uuid)........................ Present

All the  directories are present.
---------------------------------------------------------------------------
Test Seven: System Files for Various Information.
(Unless otherwise noted, these are for GNU/Linux systems)
If one of these files is missing, inxi may have incomplete output:

/proc/asound/cards (info: -A sound card data)............................... Present
/proc/asound/version (info: -A ALSA data)................................... Present
/proc/cpuinfo (info: -C cpu data)........................................... Present
/etc/lsb-release (info: -S distro version data [deprecated])................ Present
/proc/mdstat (info: -R mdraid data)......................................... Present
/proc/meminfo (info: -I memory data)........................................ Present
/etc/os-release (info: -S distro version data).............................. Present
/proc/partitions (info: -p,-P partitions data).............................. Present
/proc/modules (info: -G module data)........................................ Present
/proc/mounts (info: -P,-p partition advanced data).......................... Present
/var/run/dmesg.boot (info: -D,-d disk data [BSD only])...................... Missing
/proc/scsi/scsi (info: -D Advanced hard disk data [used rarely])............ Present
/var/log/Xorg.0.log (info: -G graphics driver load status).................. Present

The following files are missing from your system:
File: /var/run/dmesg.boot
---------------------------------------------------------------------------
All tests completed.

Ús bàsic de l'eina Inxi a Linux

A continuació es mostren algunes opcions bàsiques d'Inxi que podem utilitzar per recopilar informació sobre la màquina i el sistema.

Quan s'executa sense cap marca, Inxi produirà una sortida relacionada amb la CPU del sistema, el nucli, el temps d'activitat, la mida de la memòria, la mida del disc dur, el nombre de processos, el client utilitzat i la versió d'inxi:

$ inxi

CPU~Dual core Intel Core i5-4210U (-HT-MCP-) speed/max~2164/2700 MHz Kernel~4.4.0-21-generic x86_64 Up~3:15 Mem~3122.0/7879.9MB HDD~1000.2GB(20.0% used) Procs~234 Client~Shell inxi~2.2.35

L'ordre següent mostrarà la informació del sistema de mostra (nom d'amfitrió, informació del nucli, entorn d'escriptori i disto) mitjançant el senyalador -S:

$ inxi -S

System: Host: TecMint Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
        Distro: Linux Mint 18 Sarah

Per imprimir les dades de la màquina, igual que els detalls del producte (sistema, identificador del producte, versió, Mobo, model, BIOS, etc.), podem utilitzar l'opció -M de la següent manera:

$ inxi -M

Machine:   System: LENOVO (portable) product: 20354 v: Lenovo Z50-70
           Mobo: LENOVO model: Lancer 5A5 v: 31900059WIN Bios: LENOVO v: 9BCN26WW date: 07/31/2014

Podem mostrar informació completa de la CPU, inclosa la velocitat de rellotge de la CPU i la velocitat màxima de la CPU (si està disponible) amb el senyalador -C de la manera següent:

$ inxi -C

CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB 
           clock speeds: max: 2700 MHz 1: 1942 MHz 2: 1968 MHz 3: 1734 MHz 4: 1710 MHz

L'opció -G es pot utilitzar per mostrar informació de la targeta gràfica (tipus de targeta, servidor de visualització, resolució, renderitzador GLX i versió GLX) de la següent manera:

$ inxi -G

Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics Controller
           Card-2: NVIDIA GM108M [GeForce 840M]
           Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa) Resolution: [email 
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 11.2.0

Per obtenir informació sobre la targeta d'àudio/so del sistema, utilitzem el senyalador -A:

$ inxi -A

Audio:     Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel Sound: ALSA v: k4.4.0-21-generic
           Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel

Per mostrar la informació de la targeta de xarxa, podem utilitzar el senyalador -N:

$ inxi -N

Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
           Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be

Per veure la informació completa del disc dur (mida, id, model) podem utilitzar la marca -D:

$ inxi -D

Drives:    HDD Total Size: 1000.2GB (20.0% used) ID-1: /dev/sda model: ST1000LM024_HN size: 1000.2GB

Mostrar una informació resumida del sistema; combinant tota la informació anterior, hem d'utilitzar el senyalador -b com es mostra a continuació:

$ inxi -b 

System:    Host: TecMint Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
           Distro: Linux Mint 18 Sarah
Machine:   System: LENOVO (portable) product: 20354 v: Lenovo Z50-70
           Mobo: LENOVO model: Lancer 5A5 v: 31900059WIN Bios: LENOVO v: 9BCN26WW date: 07/31/2014
CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) speed/max: 2018/2700 MHz
Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics Controller
           Card-2: NVIDIA GM108M [GeForce 840M]
           Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa) Resolution: [email 
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 11.2.0
Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
           Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be
Drives:    HDD Total Size: 1000.2GB (20.0% used)
Info:      Processes: 233 Uptime: 3:23 Memory: 3137.5/7879.9MB Client: Shell (bash) inxi: 2.2.35  

La següent ordre ens permetrà veure la llista completa de particions del disc dur en relació amb la mida, l'espai utilitzat i disponible, el sistema de fitxers i el tipus de sistema de fitxers a cada partició amb el senyalador -p:

$ inxi -p

Partition: ID-1: / size: 324G used: 183G (60%) fs: ext4 dev: /dev/sda10
           ID-2: swap-1 size: 4.00GB used: 0.00GB (0%) fs: swap dev: /dev/sda9

Per mostrar la sortida completa d'Inxi, utilitzem la marca -F com a continuació (tingueu en compte que certes dades es filtren per motius de seguretat, com ara la IP WAN):

$ inxi -F 

System:    Host: TecMint Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
           Distro: Linux Mint 18 Sarah
Machine:   System: LENOVO (portable) product: 20354 v: Lenovo Z50-70
           Mobo: LENOVO model: Lancer 5A5 v: 31900059WIN Bios: LENOVO v: 9BCN26WW date: 07/31/2014
CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB 
           clock speeds: max: 2700 MHz 1: 1716 MHz 2: 1764 MHz 3: 1776 MHz 4: 1800 MHz
Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics Controller
           Card-2: NVIDIA GM108M [GeForce 840M]
           Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa) Resolution: [email 
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 11.2.0
Audio:     Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel Sound: ALSA v: k4.4.0-21-generic
           Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel
Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
           IF: enp1s0 state: up speed: 100 Mbps duplex: full mac: 28:d2:44:eb:bd:98
           Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be
           IF: wlp2s0 state: down mac: 38:b1:db:7c:78:c7
Drives:    HDD Total Size: 1000.2GB (20.0% used) ID-1: /dev/sda model: ST1000LM024_HN size: 1000.2GB
Partition: ID-1: / size: 324G used: 183G (60%) fs: ext4 dev: /dev/sda10
           ID-2: swap-1 size: 4.00GB used: 0.00GB (0%) fs: swap dev: /dev/sda9
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 56.0C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 234 Uptime: 3:26 Memory: 3188.9/7879.9MB Client: Shell (bash) inxi: 2.2.35 

Supervisió del sistema Linux amb l'eina Inxi

A continuació es mostren algunes opcions que s'utilitzen per supervisar els processos del sistema Linux, el temps d'activitat, la memòria, etc.

Obteniu informació resumida del sistema en relació al nombre total de processos, temps d'activitat i ús de memòria:

$ inxi -I

Info:      Processes: 232 Uptime: 3:35 Memory: 3256.3/7879.9MB Client: Shell (bash) inxi: 2.2.35 

Per defecte, ens pot ajudar a determinar els 5 principals processos que consumeixen CPU o memòria. L'opció -t que s'utilitza juntament amb les opcions c (CPU) i/o m (memòria) enumera els 5 processos més actius que consumeixen la CPU i/o memòria tal com es mostra a continuació:

----------------- Linux CPU Usage ----------------- 
$ inxi -t c 
Processes: CPU: % used - top 5 active
           1: cpu: 53.7% command: plugin-container pid: 3066
           2: cpu: 20.0% command: java pid: 1527
           3: cpu: 19.7% command: firefox pid: 3018
           4: cpu: 4.6% command: Xorg pid: 2114
           5: cpu: 3.0% command: cinnamon pid: 2835
----------------- Linux Memoery Usage ----------------- 
$ inxi -t m
Processes: Memory: MB / % used - Used/Total: 3212.5/7879.9MB - top 5 active
           1: mem: 980.51MB (12.4%) command: plugin-container pid: 3066
           2: mem: 508.96MB (6.4%) command: java pid: 1527
           3: mem: 507.89MB (6.4%) command: firefox pid: 3018
           4: mem: 244.05MB (3.0%) command: chrome pid: 7405
           5: mem: 211.46MB (2.6%) command: chrome pid: 6146
----------------- Linux CPU and Memory Usage ----------------- 
$ inxi -t cm
Processes: CPU: % used - top 5 active
           1: cpu: 53.7% command: plugin-container pid: 3066
           2: cpu: 20.0% command: java pid: 1527
           3: cpu: 19.7% command: firefox pid: 3018
           4: cpu: 4.6% command: Xorg pid: 2114
           5: cpu: 3.0% command: cinnamon pid: 2835
           Memory: MB / % used - Used/Total: 3223.6/7879.9MB - top 5 active
           1: mem: 991.93MB (12.5%) command: plugin-container pid: 3066
           2: mem: 508.96MB (6.4%) command: java pid: 1527
           3: mem: 507.86MB (6.4%) command: firefox pid: 3018
           4: mem: 244.45MB (3.1%) command: chrome pid: 7405
           5: mem: 211.68MB (2.6%) command: chrome pid: 6146

Podem utilitzar el número cm (el nombre pot ser de l'1 al 20) per especificar un número diferent del 5, l'ordre següent ens mostrarà els 10 processos més actius que consumeixen CPU i memòria.

$ inxi -t cm10

Processes: CPU: % used - top 10 active
           1: cpu: 53.4% command: plugin-container pid: 3066
           2: cpu: 19.8% command: java pid: 1527
           3: cpu: 19.5% command: firefox pid: 3018
           4: cpu: 4.5% command: Xorg pid: 2114
           5: cpu: 3.0% command: cinnamon pid: 2835
           6: cpu: 2.8% command: chrome pid: 7405
           7: cpu: 1.1% command: pulseaudio pid: 2733
           8: cpu: 1.0% command: soffice.bin pid: 7799
           9: cpu: 0.9% command: chrome pid: 5763
           10: cpu: 0.5% command: chrome pid: 6179
           Memory: MB / % used - Used/Total: 3163.1/7879.9MB - top 10 active
           1: mem: 976.82MB (12.3%) command: plugin-container pid: 3066
           2: mem: 511.70MB (6.4%) command: java pid: 1527
           3: mem: 466.01MB (5.9%) command: firefox pid: 3018
           4: mem: 244.40MB (3.1%) command: chrome pid: 7405
           5: mem: 203.71MB (2.5%) command: chrome pid: 6146
           6: mem: 199.74MB (2.5%) command: chrome pid: 5763
           7: mem: 168.30MB (2.1%) command: cinnamon pid: 2835
           8: mem: 165.51MB (2.1%) command: soffice.bin pid: 7799
           9: mem: 158.91MB (2.0%) command: chrome pid: 6179
           10: mem: 151.83MB (1.9%) command: mysqld pid: 1259

L'ordre que segueix ens mostrarà informació avançada de la targeta de xarxa, inclosa la interfície, la velocitat, l'identificador de mac, l'estat, les IP, etc.:

$ inxi -Nni

Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
           IF: enp1s0 state: up speed: 100 Mbps duplex: full mac: 28:d2:44:eb:bd:98
           Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be
           IF: wlp2s0 state: down mac: 38:b1:db:7c:78:c7
           WAN IP: 111.91.115.195 IF: wlp2s0 ip-v4: N/A
           IF: enp1s0 ip-v4: 192.168.0.103

Podem fer un seguiment de la sortida dels sensors instal·lats/configurats del maquinari mitjançant l'opció -s:

$ inxi -s

Sensors:   System Temperatures: cpu: 53.0C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A

També podem veure si la informació (tot i que l'API utilitzada no és fiable) per a la ubicació actual amb -w o -W per configurar una ubicació diferent.

$ inxi -w
Weather:   Conditions: 93 F (34 C) - smoke Time: February 20, 1:38 PM IST

$ inxi -W Mumbai,India
Weather:   Conditions: 93 F (34 C) - smoke Time: February 20, 1:38 PM IST

$ inxi -W Nairobi,Kenya
Weather:   Conditions: 70 F (21 C) - Mostly Cloudy Time: February 20, 11:08 AM EAT

També podem veure les dades d'un repositori de distribució amb la marca -r:

$ inxi -r 

Repos:     Active apt sources in file: /etc/apt/sources.list.d/dawidd0811-neofetch-xenial.list
           deb http://ppa.launchpad.net/dawidd0811/neofetch/ubuntu xenial main
           deb-src http://ppa.launchpad.net/dawidd0811/neofetch/ubuntu xenial main
           Active apt sources in file: /etc/apt/sources.list.d/dhor-myway-xenial.list
           deb http://ppa.launchpad.net/dhor/myway/ubuntu xenial main
           deb-src http://ppa.launchpad.net/dhor/myway/ubuntu xenial main
           Active apt sources in file: /etc/apt/sources.list.d/official-package-repositories.list
           deb http://packages.linuxmint.com sarah main upstream import backport
           deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
           deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
           deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse
           deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
           deb http://archive.canonical.com/ubuntu/ xenial partner
           Active apt sources in file: /etc/apt/sources.list.d/qbittorrent-team-qbittorrent-stable-xenial.list
           deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu xenial main
           deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu xenial main
           Active apt sources in file: /etc/apt/sources.list.d/slgobinath-safeeyes-xenial.list
           deb http://ppa.launchpad.net/slgobinath/safeeyes/ubuntu xenial main
           deb-src http://ppa.launchpad.net/slgobinath/safeeyes/ubuntu xenial main
           Active apt sources in file: /etc/apt/sources.list.d/snwh-pulp-xenial.list
           deb http://ppa.launchpad.net/snwh/pulp/ubuntu xenial main
           deb-src http://ppa.launchpad.net/snwh/pulp/ubuntu xenial main
           Active apt sources in file: /etc/apt/sources.list.d/twodopeshaggy-jarun-xenial.list
           deb http://ppa.launchpad.net/twodopeshaggy/jarun/ubuntu xenial main
           deb-src http://ppa.launchpad.net/twodopeshaggy/jarun/ubuntu xenial main
           Active apt sources in file: /etc/apt/sources.list.d/ubuntu-mozilla-security-ppa-xenial.list
           deb http://ppa.launchpad.net/ubuntu-mozilla-security/ppa/ubuntu xenial main
           deb-src http://ppa.launchpad.net/ubuntu-mozilla-security/ppa/ubuntu xenial main

Per veure la seva versió instal·lada actual, una ajuda ràpida i obrir la pàgina de manual per a una llista completa d'opcions i informació d'ús detallada i molt més, escriviu:

$ inxi -v   #show version
$ inxi -h   #quick help
$ man inxi  #open man page

Per obtenir més informació, visiteu el repositori oficial de GitHub: https://github.com/smxi/inxi

Això és tot per ara! En aquest article, vam revisar Inxi, una eina de línia d'ordres destacada i completa per recopilar informació sobre el maquinari i el sistema de la màquina. Aquesta és una de les millors eines de recollida d'informació de maquinari/sistema basades en CLI per a Linux, que he utilitzat mai.

Per compartir les vostres opinions al respecte, utilitzeu el formulari de comentaris a continuació. Finalment, si coneixeu altres eines tan útils com Inxi, ens podeu informar i estarem encantats de revisar-les també.