New version, man page. Major man page edits. Bug fixes.

Bugs fixed:
1. RAID - both mdraid and zfs bugs corrected. Issue #135
2. EPYC cpu wrong die count corrected, and also added support for the EPYC type.
   Issue #135
3. Possible ARM data glitch that made reader fail on a non-existent file.

Man:
Ongoing updates and edits and corrections and cleanup. Slowly but surely.
This commit is contained in:
Harald Hope 2018-03-30 20:12:25 -07:00
parent a09968f120
commit c4bc0ff282
3 changed files with 265 additions and 199 deletions

106
inxi
View file

@ -35,9 +35,9 @@ use POSIX qw(uname strftime ttyname);
# use feature qw(state);
## INXI INFO ##
my $self_name='pinxi';
my $self_version='2.9.09';
my $self_date='2018-03-28';
my $self_name='inxi';
my $self_version='2.9.10';
my $self_date='2018-03-30';
my $self_patch='00';
## END INXI INFO ##
@ -4634,9 +4634,22 @@ sub memory_data_full {
}
sub pci_cleaner {
my ($string) = @_;
$string =~ s/\[[^\]]+\]$|compatible\scontroller|device|controller|multimedia|\([^)]+\)//g;
my ($string,$type) = @_;
#print "st1 $type:$string\n";
my $filter = 'compatible\scontroller|\b(device|controller|multimedia)\b|\([^)]+\)';
# \[[^\]]+\]$| not trimming off ending [...] initial type filters removes end
$filter = '\[[^\]]+\]$|' . $filter if $type eq 'pci';
$string =~ s/$filter//ig;
$string =~ s/^\s+|\s+$//g;
#print "st2 $type:$string\n";
return $string;
}
sub pci_long_filter {
my ($string) = @_;
if ($string =~ /\[AMD(\/ATI)?\]/){
$string =~ s/Advanced\sMicro\sDevices\s\[AMD(\/ATI)?\]/AMD/;
}
return $string;
}
@ -5241,7 +5254,8 @@ sub card_data {
my $driver = $row[9];
$driver ||= 'N/A';
my $card = $row[4];
$card ||= 'N/A';
$card = ($card) ? main::pci_cleaner($card,'output') : 'N/A';
#$card ||= 'N/A';
@data = ({
$num++ . "#Card" => $card,
$num++ . "#driver" => $driver,
@ -5976,6 +5990,7 @@ sub data_cpuinfo {
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/arm/armv7-new-format-model-name-single-core.txt";
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/arm/arm-2-die-96-core-rk01.txt";
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/amd/16-core-32-mt-ryzen.txt";
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/amd/2-16-core-epyc-abucodonosor.txt";
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/amd/2-core-probook-antix.txt";
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/amd/4-core-jean-antix.txt";
# $file = "$ENV{'HOME'}/bin/scripts/inxi/data/cpu/intel/2-core-ht-atom-bruh.txt";
@ -6326,12 +6341,18 @@ sub data_sysctl {
sub cpu_properties {
my (%cpu) = @_;
my $b_xeon = ($cpu{'model_name'} && $cpu{'model_name'} =~ /Xeon/i) ? 1 : 0;
my $b_ht = 0;
my $b_ryzen = 0;
if ( ($cpu{'type'} && $cpu{'type'} eq 'amd' && $cpu{'family'} && $cpu{'family'} eq '17' ) ||
$cpu{'model_name'} && $cpu{'model_name'} =~ /Ryzen/i){
my ($b_amd_zen,$b_epyc,$b_ht,$b_ryzen);
if ( $cpu{'type'} && $cpu{'type'} eq 'amd' && $cpu{'family'} && $cpu{'family'} eq '17' ) {
$b_amd_zen = 1;
if ($cpu{'model_name'} ){
if ($cpu{'model_name'} =~ /Ryzen/i ){
$b_ryzen = 1;
}
elsif ($cpu{'model_name'} =~ /EPYC/i){
$b_epyc = 1;
}
}
}
#my @dies = $phys[0][0];
my $ref = $cpu{'ids'};
my @phys = @$ref;
@ -6406,6 +6427,11 @@ sub cpu_properties {
my @temp = split /\./, $working;
$cpu{'dies'} = ($temp[1] && $temp[1] > 0) ? $temp[0]++ : $temp[0];
}
# these always have 4 dies
elsif ($b_epyc) {
$cpu_cores = $cpu{'cores'};
$cpu{'dies'} = 4;
}
# final check, override the num of cores value if it clearly is wrong
# and use the raw core count and synthesize the total instead of real count
if ( $cpu_cores == 0 && ($cpu{'cores'} * $phyical_count > 1)){
@ -6419,7 +6445,7 @@ sub cpu_properties {
# this happens with BSDs which have very little cpu data available
if ( $processors_count == 0 && $cpu_cores > 0 ){
$processors_count = $cpu_cores;
if ($bsd_type && ($b_ht || $b_ryzen) && $cpu_cores > 2 ){
if ($bsd_type && ($b_ht || $b_amd_zen) && $cpu_cores > 2 ){
$cpu_cores = $cpu_cores/2;;
}
my $count = $processors_count;
@ -6484,13 +6510,13 @@ sub cpu_properties {
$cpu_type = 'UP';
}
if ($phyical_count > 1){
$cpu_layout = "$phyical_count ";
$cpu_layout = $phyical_count . 'x ';
}
if (!$bsd_type){
if ($cpu{'dies'} > 1){
$cpu_layout .= count_alpha($cpu{'dies'}) . ' Die ';
}
$cpu_layout .= count_alpha($cpu_cores) . 'Core';
if ($cpu{'dies'} > 1){
$cpu_layout .= ' (' . $cpu{'dies'}. '-Die)';
}
}
else {
$cpu_layout .= count_alpha($cpu_cores) . ' Core';
@ -6852,7 +6878,12 @@ sub count_alpha {
my ($count) = @_;
#print "$count\n";
my @alpha = qw(Single Dual Triple Quad);
$count = $alpha[$count-1] if $count > 0 && $count < 5;
if ($count > 4){
$count .= '-';
}
else {
$count = $alpha[$count-1] . ' ' if $count > 0;
}
return $count;
}
sub set_cpu_data {
@ -7588,9 +7619,16 @@ sub card_data {
$j = scalar @rows;
$driver = $row[9];
$driver ||= 'N/A';
my $card = main::trimmer($row[4]);
$card = ($card) ? main::pci_cleaner($card,'output') : 'N/A';
#$card ||= 'N/A';
# have seen absurdly verbose card descriptions, with non related data etc
if (length($card) > 85 || $size{'max'} < 110){
$card = main::pci_long_filter($card);
}
@data = (
{
$num++ . "#Card" => main::trimmer($row[4]),
$num++ . "#Card" => $card,
$num++ . "#driver" => $driver,
},
);
@ -8688,10 +8726,13 @@ sub card_data {
}
# first check if it's a known wifi id'ed card, if so, no print of duplex/speed
$b_wifi = check_wifi($row[4]);
my $card = $row[4];
$card = ($card) ? main::pci_cleaner($card,'output') : 'N/A';
#$card ||= 'N/A';
$driver ||= 'N/A';
@data = (
{
$num++ . "#Card" => $row[4],
$num++ . "#Card" => $card,
$num++ . "#driver" => $driver,
},
);
@ -10107,6 +10148,7 @@ sub create_output {
@sizes,@spare,@temp);
my ($allocated,$available,$blocks_avail,$chunk_raid,$component_string,$raid,
$ref2,$ref3,$report_size,$size,$status);
my ($b_row_1_sizes);
my ($i,$j,$num,$status_id) = (0,0,0,0);
#print Data::Dumper::Dumper \@raid;
if ($extra > 2 && $raid[0]{'system-supported'}){
@ -10118,6 +10160,7 @@ sub create_output {
foreach my $ref (@raid){
$j = scalar @rows;
my %row = %$ref;
$b_row_1_sizes = 0;
next if !%row;
@data = ({
$num++ . '#Device' => $row{'id'},
@ -10158,17 +10201,23 @@ sub create_output {
if (($row{'type'} eq 'mdraid' && $extra == 0 ) || !defined $arrays[0]{'raid'} ){
$raid = (defined $arrays[0]{'raid'}) ? $arrays[0]{'raid'}: 'no-raid';
$rows[$j]{$num++ . "#raid"} = $raid;
}
if ( ( $row{'type'} eq 'zfs' || ($row{'type'} eq 'mdraid' && $extra == 0 ) ) && $size){
#print "here 0\n";
$rows[$j]{$num++ . "#$report_size"} = $size;
$size = '';
$b_row_1_sizes = 1;
}
if ( $row{'type'} eq 'zfs' && $available){
$rows[$j]{$num++ . "#$blocks_avail"} = $available;
$available = '';
$b_row_1_sizes = 1;
}
if ( $row{'type'} eq 'zfs' && $allocated){
$rows[$j]{$num++ . "#$chunk_raid"} = $allocated;
$allocated = '';
}
($allocated,$available,$size) = ('','','');
$i = 0;
my $count = scalar @arrays;
foreach $ref3 (@arrays){
@ -10190,21 +10239,22 @@ sub create_output {
@rows = (@rows,@data);
}
# items like cache may have one component, with a size on that component
elsif ($row{'type'} eq 'zfs' && !$size){
elsif (!$b_row_1_sizes && $row{'type'} eq 'zfs'){
#print "here $count\n";
@sizes = ($row2{'size'}) ? main::get_size($row2{'size'}) : ();
$size = (@sizes) ? "$sizes[0] $sizes[1]" : '';
@sizes = ($row2{'free'}) ? main::get_size($row2{'free'}) : ();
$available = (@sizes) ? "$sizes[0] $sizes[1]" : '';
$rows[$j]{$num++ . "#size"} = $size;
$rows[$j]{$num++ . "#free"} = $available;
}
if ($row{'type'} eq 'zfs' && $extra > 2){
if ($extra > 2){
@sizes = ($row{'allocated'}) ? main::get_size($row2{'allocated'}) : ();
$allocated = (@sizes) ? "$sizes[0] $sizes[1]" : '';
if ($allocated){
$rows[$j]{$num++ . "#$chunk_raid"} = $allocated;
}
}
}
$ref3 = $row2{'components'};
@components = (ref $ref3 eq 'ARRAY') ? @$ref3 : ();
@failed = ();
@ -10306,6 +10356,7 @@ sub mdraid_data {
#$mdstat = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/md-4-device-1.txt";
#$mdstat = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/md-rebuild-1.txt";
#$mdstat = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/md-2-mirror-fserver2-1.txt";
#$mdstat = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/md-2-raid10-abucodonosor.txt";
my @working = main::reader($mdstat,'strip');
#print Data::Dumper::Dumper \@working;
my (@data,@mdraid,@temp,$b_found,$system,$unused);
@ -10330,7 +10381,7 @@ sub mdraid_data {
my $raid = $4;
my $component_string = $5;
@temp = ();
$raid =~ s/^raid1/mirror/;
$raid =~ s/^raid1$/mirror/;
$raid =~ s/^raid/raid-/;
$raid = 'mirror' if $raid eq '1';
# remember, these include the [x] id, so remove that for disk/unmounted
@ -10355,7 +10406,8 @@ sub mdraid_data {
$mdraid[$j]{'arrays'}[0]{'raid'} = $raid;
$mdraid[$j]{'arrays'}[0]{'components'} = \@components;
}
if ($_ =~ /^\s*([0-9]+)\sblocks/){
#print "$_\n";
if ($_ =~ /^([0-9]+)\sblocks/){
$mdraid[$j]{'blocks'} = $1;
}
if ($_ =~ /super\s([0-9\.]+)\s/){
@ -10371,7 +10423,7 @@ sub mdraid_data {
if ($_ =~ /resync=([\S]+)/){
$mdraid[$j]{'resync'} = $1;
}
if ($_ =~ /([0-9]+[km])\schunk/){
if ($_ =~ /([0-9]+[km])\schunk/i){
$mdraid[$j]{'chunk-size'} = $1;
}
if ($_ =~ /(\[[=]*>[\.]*\]).*(resync|recovery)\s*=\s*([0-9\.]+%)?(\s\(([0-9\/]+)\))?/){
@ -10401,6 +10453,7 @@ sub zfs_data {
my ($allocated,$free,$ref,$size,$status);
my $b_v = 1;
my ($i,$j,$k) = (0,0,0);
#my $file = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/zpool-list-1-mirror-main-solestar.txt";
#my $file = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/zpool-list-2-mirror-main-solestar.txt";
#my $file = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/zpool-list-v-tank-1.txt";
#my @working = main::reader($file);$zpool = '';
@ -10524,6 +10577,7 @@ sub zfs_status {
my %row = %$ref;
$i = 0;
$k = 0;
#$file = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/zpool-status-1-mirror-main-solestar.txt";
#$file = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/zpool-status-2-mirror-main-solestar.txt";
#$file = "$ENV{'HOME'}/bin/scripts/inxi/data/raid/zpool-status-tank-1.txt";
#@pool_status = main::reader($file,'strip');
@ -15059,7 +15113,7 @@ sub set_lspci_data {
$working[0] =~ /\[([^\]]+)\]$/;
$type_id = $1;
$type = lc($type);
$type = pci_cleaner($type);
$type = pci_cleaner($type,'pci');
$type =~ s/\s+$//;
$port = '';
$driver = '';

327
inxi.1
View file

@ -1,57 +1,57 @@
.TH INXI 1 "2018\-03\-27" inxi "inxi manual"
.TH INXI 1 "2018\-03\-30" inxi "inxi manual"
.SH NAME
inxi \- Command line system information script for console and IRC
.SH SYNOPSIS
\fBinxi\fR \- Single line, short form. Very basic output.
\fBinxi \fR[\fB\-AbBCdDfFGhHiIlmMnNopPrRsSuw\fR] \fR[\fB\-c
NUMBER\fR] \fR[\fB\-v NUMBER\fR]
\fBinxi \fR[\fB\-AbBCdDfFGhHiIlmMnNopPrRsSuUVwzZ\fR]
\fBinxi \fR[\fB\-t \fR(\fBc\fR or\fB m\fR or\fB cm\fR or\fB mc
NUMBER\fR)] \fR[\fB\-x \-OPTION\fR(\fBs\fR)] \fR[\fB\-xx
\-OPTION\fR(\fBs\fR)] \fR[\fB\-xxx \-OPTION\fR(\fBs\fR)]
\fBinxi \fR[\fB\-c NUMBER\fR] [\fB\-t c|m|cm|mc [NUMBER]\fR] \fR[\fB\-v NUMBER\fR]
[\fB\-W LOCATION\fR] [\fB\-y WIDTH\fR]
\fBinxi \fR[\fB\-\-slots\fR] \fR[\fB\-\-usb\fR]
\fBinxi \fR[\fB\-\-recommends\fR] \fR[\fB\-\-slots\fR] \fR[\fB\-\-usb\fR]
\fBinxi \fR[\fB\-\-help\fR] \fR[\fB\-\-recommends\fR]
\fR[\fB\-\-version\fR] \fR
\fBinxi \fB\-x\fR|\fB\-xx\fR|\fB\-xxx\fR \fB\-OPTION(s) \fR
All options have long form variants. See below.
All options have long form variants - see below for these and more advanced options.
.SH DESCRIPTION
\fBinxi\fR is a command line system information script built for for console
and IRC. It is also used for forum technical support, as a debugging tool,
to quickly ascertain user system configuration and hardware. inxi shows
\fBinxi\fR is a command line system information script built for console
and IRC. It is also used a debugging tool for forum technical support,
to quickly ascertain users' system configurations and hardware. inxi shows
system hardware, CPU, drivers, Xorg, Desktop, Kernel, GCC version(s), Processes,
RAM usage, and a wide variety of other useful information.
\fBinxi\fR output varies between CLI and IRC, with some default filters and
color options applied to IRC use. Script colors can be turned off if desired
\fBinxi\fR output varies depending on whether it is being used on CLI or IRC,
with some default filters and color options applied only for IRC use.
Script colors can be turned off if desired
with \fB\-c 0\fR, or changed using the \fB\-c\fR color options listed in the
OPTIONS section below.
STANDARD OPTIONS section below.
.SH PRIVACY AND SECURITY
In order to maintain basic privacy and security, inxi filters out automatically
on IRC things like your network card mac address, WAN and LAN IP, your \fB/home\fR
username directory in partitions, and a few other things.
In order to maintain basic privacy and security, inxi used on IRC automatically
filters out your network card mac address, WAN and LAN IP, your \fB/home\fR
username directory in partitions, and a few other items.
Because inxi is often used on forums for support, you can also trigger this
filtering with the \fB\-z\fR option (\fB\-Fz\fR, for example). To override
the IRC filter, you can use the \fB\-Z\fR option. This can be useful to debug
the IRC filter, you can use the \fB\-Z\fR option. This can be useful in debugging
network connection issues online in a private chat, for example.
.SH USING OPTIONS
Options can be combined if they do not conflict. Either group the letters
Options can be combined if they do not conflict. You can either group the letters
together or separate them.
Letters with numbers can have no gap or a gap at your discretion unless using \fB \-t\fR.
Letters with numbers can have no gap or a gap at your discretio, except when
using \fB \-t\fR.
For example:
.B inxi
\fB\-AG\fR or \fBinxi \-A \-G\fR or \fBinxi \-c10\fR
Note that below, all the short form options have long form equivalents, which are
given, but in examples, to keep things simple, usually the short form is used.
Note that all the short form options have long form equivalents, which are
listed below. However, usually the short form is used in examples in order to
keep things simple.
.SH STANDARD OPTIONS
.TP
@ -59,7 +59,7 @@ given, but in examples, to keep things simple, usually the short form is used.
Show Audio/sound card information.
.TP
.B \-b\fR,\fB \-\-basic\fR
Shows basic output, short form (previously \fB\-d\fR). Same as: \fBinxi \-v 2\fR
Shows basic output, short form. Same as: \fBinxi \-v 2\fR
.TP
.B \-B\fR,\fB \-\-battery\fR
Shows Battery data, charge, condition, plus extra information (if battery present).
@ -67,32 +67,29 @@ Uses \fB/sys\fR or for BSDs without systctl battery data, \fBdmidecode\fR.
\fBdmidecode\fR does not have very much information, and none about current battery
state/charge/voltage. Supports multiple batteries when using \fB/sys\fR data.
Note on the \fBcharge\fR item, the output shows the current charge, and the
percent of the available capacity, which can be less than the original design
capacity. In the following example, the actual current capacity of the battery
is \fB22.2 Wh\fR, so the charge shows what percent of the current capacity
is charged.
Note that for \fBcharge\fR, the output shows the current charge, as well as its
value as percentage of the available capacity, which can be less than the original design
capacity. In the following example, the actual current available capacity of the battery
is \fB22.2 Wh\fR.
For example: \fB20.1 Wh 95.4%\fR
\fBcharge: 20.1 Wh 95.4%\fR
The \fBcondition\fR item shows the current available capacity / original design
capacity, then the percentage of original capacity available in the battery.
In the following example, the battery capacity is only 61% of it's original amount.
The \fBcondition\fR item shows the remaining available capacity / original design
capacity, and then this figure as a percentage of original capacity available in the battery.
\fBcondition: 22.2/36.4 Wh (61%)\fR
For example: \fB22.2/36.4 Wh 61%\fR
.TP
.B \-c\fR,\fB \-\-color\fR \fR[\fB0\fR\-\fB43\fR]
Available color schemes. Scheme number is required.
Supported color schemes: \fB0\-43\fR
Set color scheme. If no scheme number is supplied, 0 is assumed.
.TP
.B \-c \fR[\fB94\fR\-\fB99\fR]
Color selectors run a color selector option prior to inxi starting which lets
These color selectors run a color selector option prior to inxi starting which lets
you set the config file value for the selection.
Color selectors for each type display (NOTE: irc and global only show safe color set):
Color selectors for each type display (NOTE: IRC and global only show safe color set):
.TP
.B \-c 94\fR
\- Console, out of X.
@ -101,7 +98,7 @@ Color selectors for each type display (NOTE: irc and global only show safe color
\- Terminal, running in X \- like xTerm.
.TP
.B \-c 96\fR
\- Gui IRC, running in X \- like Xchat, Quassel,
\- GUI IRC, running in X \- like XChat, Quassel,
Konversation etc.
.TP
.B \-c 97\fR
@ -113,66 +110,69 @@ Konversation etc.
.B \-c 99\fR
\- Global \- Overrides/removes all settings.
Setting specific color type removes the global color selection.
Setting a specific color type removes the global color selection.
.TP
.B \-C\fR,\fB \-\-cpu\fR
Show full CPU output, including per CPU clock speed and CPU max speed (if available).
If max speed data present, shows \fB(max)\fR in short output formats (\fB\inxi\fR,
\fB\inxi \-b\fR) if CPU actual speed matches CPU max speed. If CPU max speed does
not match CPU actual speed, shows both actual and max speed information.
See \fB\-x\fR and \fB\-xx\fR for more options.
\fB\inxi \-b\fR) if actual CPU speed matches max CPU speed. If max CPU speed does
not match actual CPU speed, shows both actual and max speed information.
See \fB\-x\fR for more options.
CPU description includes technical CPU(s) description: \fBtype: MT\-MCP\fR
For certain CPUs (some ARM, and AMD Zen family) shows CPU die count.
* \fBMT\fR \- Multi/Hyper Threaded CPUs, more than 1 thread per core. (Previously \fBHT\fR)
The details for each CPU include a technical description e.g \fBtype: MT MCP\fR
* \fBMCM\fR \- Multi Chip Model (More than 1 die per CPU)
* \fBMT\fR \- Multi/Hyper Threaded CPU, more than 1 thread per core (previously \fBHT\fR).
* \fBMCP\fR \- Multi Core Processor (More than 1 core per CPU)
* \fBMCM\fR \- Multi Chip Model (more than 1 die per CPU).
* \fBSMP\fR \- Symmetric Multi Processing (More than 1 physical CPUs)
* \fBMCP\fR \- Multi Core Processor (more than 1 core per CPU).
* \fBUP\fR \- Uni (single core) Processor
* \fBSMP\fR \- Symmetric Multi Processing (more than 1 physical CPUs).
* \fBUP\fR \- Uni (single core) Processor.
.TP
.B \-d\fR,\fB \-\-disk\-full\fR,\fB\-\-optical\fR
Shows optical drive data. Same as \fB\-Dd\fR. With \fB\-x\fR, adds features line to
output. Also shows floppy disks if present. Note that there is no current way to get
any information about the floppy device that I am aware of, so it will simply show the
floppy id, without any extra data. \fB\-xx\fR adds a few more features.
Show optical drive data as well as \fB\-D\fR hard drive data. With \fB\-x\fR, adds a
feature line to the output. Also shows floppy disks if present. Note that there is
no current way to get any information about the floppy device that I am aware of,
so it will simply show the floppy ID without any extra data. \fB\-xx\fR adds a
few more features.
.TP
.B \-D\fR,\fB \-\-disk\fR
Show full hard Disk info, not only model, ie: \fB/dev/sda ST380817AS 80.0GB\fR.
Shows disk space total + used percentage. The disk used percentage includes space
used by swap partition(s), since those are not usable for data storage. Note that
Show Hard Disk info. Shows total disk space, used percentage, and details for
each disk. The disk used percentage includes space used by swap partition(s),
since those are not usable for data storage. Note that
with RAID disks, the percentage will be wrong since the total is computed from the
disk sizes, but the used is computed from mounted partition used percentages. This
disk sizes, but used is computed from mounted partition used percentages. This
small defect may get corrected in the future. Also, unmounted partitions are not
counted in disk use percentages since inxi has no access to that data.
.TP
.B \-f\fR,\fB \-\-flags\fR
Show all cpu flags used, not just the short list. Not shown with \fB\-F\fR to avoid
spamming. ARM cpus: show \fBfeatures\fR items.
Show all CPU flags used, not just the short list. Not shown with \fB\-F\fR in order
to avoid spamming. ARM CPUs: show \fBfeatures\fR items.
.TP
.B \-F\fR,\fB \-\-full\fR
Show Full output for inxi. Includes all Upper Case line letters, plus \fB\-s\fR
and \fB\-n\fR. Does not show extra verbose options like
\fB\-d \-f \-l \-m \-o \-p \-r \-t \-u \-x\fR unless you use those arguments in
the command, like: \fBinxi \-Frmxx\fR
Show Full output for inxi. Includes all Upper Case line letters except \fB\-W\fR,
plus \fB\-s\fR and \fB\-n\fR. Does not show extra verbose options such as
\fB\-d \-f \-i \-l \-m \-o \-p \-r \-t \-u \-x\fR unless you use those arguments in
the command, e.g.: \fBinxi \-Frmxx\fR
.TP
.B \-G\fR,\fB \-\-graphics\fR
Show Graphic card information. Card(s), Display Server (vendor and version number),
for example:
Show Graphic card information, including details of Card(s), Display Server
(vendor and version number), e.g.:
\fBDisplay Server: x11 (Xorg 1.15.1)\fR
as well as screen resolution(s), OpenGL renderer, OpenGL core profile version/OpenGL
version.
If detected (currently only available if on a desktop: will attempt to show the
server type, ie, x11, wayland, mir. When xorg is present, its version information
will show after the server type in parentheses. Future versions will show compositor
information as well.
If detected (currently only available if on a desktop), it will attempt to show the
server type, i.e., X11, Wayland, Mir. When Xorg is present, its version information
will show after the server type in parentheses. Compositor information will show if
detected using \fB\-xx\fR option.
.TP
.B \-h\fR,\fB \-\-help\fR
The help menu. Features dynamic sizing to fit into terminal window. Set script
@ -184,86 +184,86 @@ The help menu, plus developer options. Do not use dev options in normal
operation!
.TP
.B \-i\fR,\fB \-\-ip\fR
Show Wan IP address, and shows local interfaces (requires \fBifconfig\fR or
\fBip\fR network tool). Same as \-Nni. Not shown with \fB\-F\fR for user security
reasons, you shouldn't paste your local/wan IP. Shows both IPv4 and IPv6 link IP
address.
Show WAN IP address, and local interfaces (latter requires \fBifconfig\fR or
\fBip\fR network tool). as well as network output from \fB\-n\fR.
Not shown with \fB\-F\fR for user security reasons, you shouldn't paste your
local/WAN IP. Shows both IPv4 and IPv6 link IP addresses.
.TP
.B \-I\fR,\fB \-\-info\fR
Show Information: processes, uptime, memory, irc client (or shell type if run in
shell, not irc), inxi version. See \fB\-x\fR and \fB\-xx\fR for extra information
Show Information: processes, uptime, memory, IRC client (or shell type if run in
shell, not IRC), inxi version. See \fB\-x\fR and \fB\-xx\fR for extra information
(init type/version, runlevel).
.TP
.B \-l\fR,\fB \-\-label\fR
Show partition labels. Default: short partition \fB\-P\fR. For full \fB\-p\fR output,
use: \fB\-pl\fR (or \fB\-plu\fR).
Show partition labels. Default: main partitions \fB\-P\fR. For full \fB\-p\fR output,
use: \fB\-pl\fR.
.TP
.B \-m\fR,\fB \-\-memory\fR
Memory (RAM) data. Does not show with \fB\-b\fR or \fB\-F\fR unless you use \fB\-m\fR
explicitly. Ordered by system board physical system memory array(s) (\fBArray\-[number]
capacity:\fR), and individual memory devices (\fBDevice\-[number]\fR). Physical memory
array(s) data shows array capacity, and number of devices supported, and Error Correction
Memory (RAM) data. Does not display with \fB\-b\fR or \fB\-F\fR unless you use \fB\-m\fR
explicitly. Ordered by system board physical system memory array(s) (\fBArray\-[number]\fR),
and individual memory devices (\fBDevice\-[number]\fR). Physical memory
array data shows array capacity, number of devices supported, and Error Correction
information. Devices shows locator data (highly variable in syntax), size, speed,
type (eg: \fBtype: DDR3\fR).
Note that \fB\-m\fR uses \fBdmidecode\fR, which must be run as root (or start
\fBinxi\fR with \fBsudo\fR), unless you figure out how to set up sudo to permit
dmidecode to read \fB/dev/mem\fR as user. Note that speed will not show if \fBNo Module
Installed\fR is found in size. This will also turn off Bus Width data output if it is null.
Installed\fR is found in \fBsize\fR. This will also turn off Bus Width data output if it is null.
If memory information was found, and if the \fB\-I\fR line or the \fB\-tm\fR item have
not been triggered, will also print the ram used/total.
Because dmidecode data is extremely unreliable, inxi will try to make best guesses.
If you see \fB(check)\fR after capacity number, you should check it for sure with
Because \fBdmidecode\fR data is extremely unreliable, inxi will try to make best guesses.
If you see \fB(check)\fR after the capacity number, you should check it with the
specifications. \fB(est)\fR is slightly more reliable, but you should still check
the real specifications before buying ram. Unfortunately there is nothing \fBinxi\fR
the real specifications before buying RAM. Unfortunately there is nothing \fBinxi\fR
can do to get truly reliable data about the system ram, maybe one day the kernel devs
will put this data into \fB/sys\fR, and make it real data, taken from the actual system,
not dmi data. For most people, the data will be right, but a significant percentage of
users will have either wrong max module size, if present, or max capacity.
users will have either a wrong max module size, if present, or max capacity.
.TP
.B \-M\fR,\fB \-\-machine\fR
Show machine data. Device, Motherboard, Bios, and if present, System Builder (Like Lenovo).
Older systems/kernels without the required \fB/sys\fR data can use dmidecode instead, run
as root. If using dmidecode, may also show bios revision as well as version. \fB\-! 33\fR
can force use of \fBdmidecode\fR data instead of \fB/sys\fR. Will also attempt to show
if the system was booted by BIOS, UEFI, or UEFI [Legacy]. The last one is legacy BIOS
boot mode in a systemboard using UEFI but booted as BIOS/Legacy.
Older systems/kernels without the required \fB/sys\fR data can use \fBdmidecode\fR instead, run
as root. If using \fBdmidecode\fR, may also show BIOS/UEFI revision as well as version.
\fB\-\-dmidecode\fR forces use of \fBdmidecode\fR data instead of \fB/sys\fR.
Will also attempt to show if the system was booted by BIOS, UEFI, or UEFI [Legacy], the
latter being legacy BIOS boot mode in a system board using UEFI.
Device requires either /sys or dmidecode. Note that 'other\-vm?' is a type that means
it's usually a vm, but inxi failed to detect which type, or to positively confirm which
vm it is. Primary vm identification is via systemd\-detect\-virt but fallback tests that
should support some BSDs as well are used. Less commonly used or harder to detect VMs
may not be correctly detected, if you get a wrong output, post an issue and we'll get it
fixed if possible.
Device information requires either \fB/sys\fR or \fBdmidecode\fR. Note that 'other\-vm?'
is a type that means it's usually a VM, but inxi failed to detect which type, or
positively confirm which VM it is. Primary VM identification is via systemd\-detect\-virt
but fallback tests that should also support some BSDs are used. Less commonly
used or harder to detect VMs may not be correctly detected. If you get an incorrect output,
post an issue and we'll get it fixed if possible.
Due to unreliable vendor data, device will show: desktop; laptop; notebook; server;
blade plus some obscure stuff that inxi is unlikely to ever run on.
Due to unreliable vendor data, device type will show: desktop, laptop, notebook, server,
blade, plus some obscure stuff that inxi is unlikely to ever run on.
.TP
.B \-n\fR,\fB \-\-network-advanced\fR
Show Advanced Network card information. Same as \fB\-Nn\fR. Shows interface, speed,
mac id, state, etc.
Show Advanced Network card information in addition to that produced by \fB\-N\fR.
Shows interface, speed, MAC ID, state, etc.
.TP
.B \-N\fR,\fB \-\-network\fR
Show Network card information. With \fB\-x\fR, shows PCI BusID, Port number.
.TP
.B \-o\fR,\fB \-\-unmounted\fR
Show unmounted partition information (includes UUID and LABEL if available).
Shows file system type if you have \fBlsblk\fR installed (Linux only) OR for BSD/GNU Linux:
if \fBfile\fR is installed, and if you are root OR if you have added to
\fB/etc/sudoers\fR (sudo v. 1.7 or newer):
Shows file system type if you have \fBlsblk\fR installed (Linux only). For BSD/GNU Linux:
shows file system type if \fBfile\fR is installed, and if you are root or
if you have added to \fB/etc/sudoers\fR (sudo v. 1.7 or newer):
.B <username> ALL = NOPASSWD: /usr/bin/file (sample)
Does not show components (partitions that create the md raid array) of md\-raid arrays.
.TP
.B \-p\fR,\fB \-\-partitions-full\fR
Show full partition information (\fB\-P\fR plus all other detected partitions).
Show full Partition information (\fB\-P\fR plus all other detected mounted partitions).
.TP
.B \-P\fR,\fB \-\-partitions\fR
Show Partition information (shows what \fB\-v 4\fR would show, but without extra data).
Show basic Partition information.
Shows, if detected: \fB/ /boot /home /opt /tmp /usr /var /var/tmp /var/log\fR.
Use \fB\-p\fR to see all mounted partitions.
.TP
@ -288,68 +288,67 @@ Show distro repository data. Currently supported repo types:
\fBURPMQ\fR (Mandriva, Mageia + derived versions)
\fBYUM/ZYPP\fR (Fedora, Redhat, Suse + derived versions)
\fBYUM/ZYPP\fR (Fedora, Red Hat, Suse + derived versions)
As distro data is collected more will be added. If your's is missing please
More will be added as distro data is collected. If yours is missing please
show us how to get this information and we'll try to add it.
.TP
.B \-R\fR,\fB \-\-raid\fR
Show RAID data. Shows RAID devices, states, levels, and components, and
extra data with \fB\-x\fR / \fB\-xx\fR.
md\-raid: If device is resyncing, shows resync progress line as well.
md\-raid: If device is resyncing, also shows resync progress line.
Note: Only md\-raid and ZFS are currently supported. Other software raid types could
Note: Only md\-raid and ZFS are currently supported. Other software RAID types could
be added, but only if users supply all data required, and if the software
raid actually can be made to give the required output.
RAID actually can be made to give the required output.
.TP
.B \-\-recommends\fR
Checks inxi application dependencies + recommends, and directories, then shows
what package(s) you need to install to add support for that feature.
Checks inxi application dependencies and recommends, as well as directories,
then shows what package(s) you need to install to add support for each feature.
.TP
.B \-s\fR,\fB \-\-sensors\fR
Show sensors output (if sensors installed/configured): mobo/cpu/gpu temp;
detected fan speeds. Gpu temp only for Fglrx/Nvidia drivers. Nvidia shows
screen number for > 1 screens.
Show output from sensors if sensors installed/configured: Motherboard/CPU/GPU
temperatures; detected fan speeds. GPU temperature when available. Nvidia shows
screen number for multiple screens.
.TP
.B \-\-slots\fR
Show PCI slots, type, speed, status.
Show PCI slots with type, speed, and status information.
.TP
.B \-S\fR,\fB \-\-system\fR
Show System information: host name, kernel, desktop environment (if in X),
distro. With \fB\-xx\fR show dm \- or startx \- (only shows if present and
running if out of X), and if in X, with \fB\-xxx\fR show more desktop info,
like shell/panel etc.
e.g. shell/panel.
.TP
.B \-t\fR,\fB \-\-processes\fR
\fR[\fBc\fR or\fB m\fR or\fB cm\fR or\fB mc NUMBER\fR]\fR
Show processes. If followed by numbers \fB1\-20\fR, shows that number of
processes for each type (default: \fB5\fR; if in irc, max: \fB5\fR)
\fR[\fBc|m||cm|mc NUMBER\fR] Show processes. If followed by numbers \fB1\-20\fR,
shows that number of processes for each type
(default: \fB5\fR; if in IRC, max: \fB5\fR)
Make sure to have no space between letters and numbers (\fB\-t cm10\fR
\- right, \fB\-t cm 10\fR \- wrong).
Make sure that there is no space between letters and numbers (e.g. write as \fB\-t cm10\fR).
.TP
.B \-t c\fR
\- cpu only. With \fB\-x\fR, shows also memory for that process on same line.
\- CPU only. With \fB\-x\fR, also shows memory for that process on same line.
.TP
.B \-t m\fR
\- memory only. With \fB\-x\fR, shows also cpu for that process on same line.
If the \-I line is not triggered, will also show the system used/total ram
information in the first \fBMemory\fR line of output.
\- memory only. With \fB\-x\fR, also shows CPU for that process on same line.
If the \-I line is not triggered, will also show the system RAM used/total
information.
.TP
.B \-t cm\fR
\- cpu+memory. With \fB\-x\fR, shows also cpu or memory for that process on
\- CPU+memory. With \fB\-x\fR, shows also CPU or memory for that process on
same line.
.TP
.B \-\-usb\fR
Show USB data; Hubs and Devices attached.
Show USB data for attached Hubs and Devices.
.TP
.B \-u\fR,\fB \-\-uuid\fR
Show partition UUIDs. Default: short partition \fB\-P\fR. For full \fB\-p\fR
output, use: \fB\-pu\fR (or \fB\-plu\fR).
Show partition UUIDs. Default: main partitions \fB\-P\fR. For full \fB\-p\fR
output, use: \fB\-pu\fR.
.TP
.B \-U\fR,\fB \-\-update\fR
Note \- Maintainer may have disabled this function.
@ -357,23 +356,19 @@ Note \- Maintainer may have disabled this function.
If inxi \fB\-h\fR has no listing for \fB\-U\fR then it's disabled.
Auto\-update script. Note: if you installed as root, you must be root to
update, otherwise user is fine. Also installs / updates this Man Page to:
update, otherwise user is fine. Also installs / updates this man page to:
\fB/usr/local/share/man/man1\fR (if \fB/usr/local/share/man/\fR exists
AND there is no inxi man page in \fB/usr/share/man/man1\fR, otherwise it
goes to \fB/usr/share/man/man1\fR). This requires that you be root to write
to that directory.
Previous versions of inxi manually installed man page were installed to
\fB/usr/share/man/man1\fR. If you want the man page to go into
\fB/usr/local/share/man/man1\fR move it there and inxi will update to
that path from then on.
.TP
.B \-V\fR,\fB \-\-version\fR
inxi version information. Prints information then exits.
.TP
.B \-v\fR,\fB \-\-verbosity\fR
Script verbosity levels. Verbosity level number is required. Should not be
used with \fB\-b\fR or \fB\-F\fR.
Script verbosity levels. If no verbosity level number is given, 0 is assumed.
Should not be used with \fB\-b\fR or \fB\-F\fR.
Supported levels: \fB0\-8\fR Examples :\fB inxi \-v 4 \fR or \fB inxi \-v4\fR
.TP
@ -381,49 +376,48 @@ Supported levels: \fB0\-8\fR Examples :\fB inxi \-v 4 \fR or \fB inxi \-v4\fR
\- Short output, same as: \fBinxi\fR
.TP
.B \-v 1
\- Basic verbose, \fB\-S\fR + basic CPU (cores, model, clock speed, and max
speed, if available) + \fB\-G\fR + basic Disk + \fB\-I\fR.
\- Basic verbose, \fB\-S\fR + basic CPU (cores, type, clock speed, and min/max
speeds, if available) + \fB\-G\fR + basic Disk + \fB\-I\fR.
.TP
.B \-v 2
\- Adds networking card (\fB\-N\fR), Machine (\fB\-M\fR) data, Battery (\fB\-B\fR)
(if available), and shows basic hard disk data (names only). Same as: \fBinxi \-b\fR
(if available). Same as: \fBinxi \-b\fR
.TP
.B \-v 3
\- Adds advanced CPU (\fB\-C\fR); network (\fB\-n\fR) data; triggers \fB\-x\fR
\- Adds advanced CPU (\fB\-C\fR) and network (\fB\-n\fR) data; triggers \fB\-x\fR
advanced data option.
.TP
.B \-v 4
\- Adds partition size/filled data (\fB\-P\fR) for (if present):
\- Adds partition size/used data (\fB\-P\fR) for (if present):
\fB/ /home /var/ /boot\fR Shows full disk data (\fB\-D\fR)
.TP
.B \-v 5
\- Adds audio card (\fB\-A\fR); memory/ram (\fB\-m\fR);sensors (\fB\-s\fR),
partition label (\fB\-l\fR) and UUID (\fB\-u\fR), short form of
\- Adds audio card (\fB\-A\fR); memory/RAM (\fB\-m\fR);sensors (\fB\-s\fR),
partition label (\fB\-l\fR), UUID (\fB\-u\fR), and short form of
optical drives.
.TP
.B \-v 6
\- Adds full partition data (\fB\-p\fR), unmounted partition data (\fB\-o\fR),
\- Adds full mounted partition data (\fB\-p\fR), unmounted partition data (\fB\-o\fR),
optical drive data (\fB\-d\fR); USB (\fB\-\-usb\fR); triggers \fB\-xx\fR extra data option.
.TP
.B \-v 7
\- Adds network IP data (\fB\-i\fR); triggers \fB\-xxx\fR
.TP
.B \-v 8
\- All system data available. Repos (\fB\-r\fR); PCI slots (\fB\-\-slots\fR); processes
\- All system data available. Adds Repos (\fB\-r\fR), PCI slots (\fB\-\-slots\fR), processes
(\fB\-tcm\fR). Useful for testing output and to see what data you can get from your system.
.TP
.B \-w\fR,\fB \-\-weather\fR
Adds weather line. Note, this depends on an unreliable api so it may not always
Adds weather line. Note, this depends on an unreliable API so it may not always
be working in the future. To get weather for an alternate location, use
\fB\-W <location_string>\fR. See also \fB\-x\fR, \fB\-xx\fR, \fB\-xxx\fR option.
Please note, your distribution's maintainer may chose to disable this feature,
so if \fB\-w\fR or \fB\-W\fR don't work, that's why.
\fB\-W\fR. See also \fB\-x\fR, \fB\-xx\fR, \fB\-xxx\fR option.
Please note that your distribution's maintainer may chose to disable this feature.
.TP
.B \-W\fR,\fB \-\-weather\-location <location_string>\fR
Get weather/time for an alternate location. Accepts postal/zip code,
city,state pair, or latitude,longitude. Note: city/country/state names must not
contain spaces. Replace spaces with '\fB+\fR' sign. No spaces around \fB,\fR (comma).
Use only ascii letters in city/state/country names, sorry.
contain spaces. Replace spaces with '\fB+\fR' sign. Don't place spaces around any commas.
Use only ASCII letters in city/state/country names, sorry.
Examples: \fB\-W 95623\fR OR \fB\-W Boston,MA\fR OR \fB\-W45.5234,\-122.6762\fR
OR \fB\-W new+york,ny\fR OR \fB\-W bodo,norway\fR.
@ -431,27 +425,24 @@ OR \fB\-W new+york,ny\fR OR \fB\-W bodo,norway\fR.
.B \-y\fR,\fB \-\-width <integer >= 80>\fR
This is an absolute width override which sets the output line width max.
Overrides \fBCOLS_MAX_IRC\fR / \fBCOLS_MAX_CONSOLE\fR globals, or the
actual widths of the terminal. If used with \fB\-h\fR or \fB\-c 94\-99\fR,
put \fB\-y\fR option first or the override will be ignored. Cannot be
used with \fB\-\-help\fR/\fB\-\-version\fR/\fB\-\-recommends\fR type
long options. Example: \fBinxi \-y 130 \-Fxx\fR
actual widths of the terminal. Example: \fBinxi \-Fxx\ \-y 130fR
.TP
.B \-z\fR,\fB \-\-filter\fR
Adds security filters for IP addresses, Mac, location (\fB\-w\fR), and user
home directory name. Default on for irc clients.
Adds security filters for IP addresses, MAC, location (\fB\-w\fR), and user
home directory name. On by default for IRC clients.
.TP
.B \-Z\fR,\fB \-\-filter-override\fR
Absolute override for output filters. Useful for debugging networking
issues in irc for example.
issues in IRC for example.
.SH EXTRA DATA OPTIONS
These options are for long form only, and can be triggered by one or
more \fB\-x\fR, like \fB\-xx\fR. Alternately, the \fB\-v\fR options
trigger them in the following way: \fB\-v 3\fR adds \fB\-x\fR;
These options can be triggered by one or more \fB\-x\fR.
Alternately, the \fB\-v\fR options trigger them in the following
way: \fB\-v 3\fR adds \fB\-x\fR;
\fB\-v 6\fR adds \fB\-xx\fR; \fB\-v 7\fR adds \fB\-xxx\fR
These extra data triggers can be useful for getting more in\-depth
data on various options. Can be added to any long form option list,
like: \fB\-bxx\fR or \fB\-Sxxx\fR
data on various options. They can be added to any long form option list,
e.g.: \fB\-bxx\fR or \fB\-Sxxx\fR
There are 3 extra data levels:
@ -461,7 +452,7 @@ OR
\fB\-\-extra 1\fR, \fB\-\-extra 2\fR, \fB\-\-extra 3\fR
The following shows which lines / items get extra information with each
The following details show which lines / items show extra information for each
extra data level.
.TP
.B \-x \-A\fR

View file

@ -1,3 +1,24 @@
=====================================================================================
Version: 2.9.10
Patch Version: 00
Script Date: 2018-03-30
-----------------------------------
Changes:
-----------------------------------
New version, man page. Major man page edits. Bug fixes.
Bugs fixed:
1. RAID - both mdraid and zfs bugs corrected. Issue #135
2. EPYC cpu wrong die count corrected, and also added support for the EPYC type.
Issue #135
3. Possible ARM data glitch that made reader fail on a non-existent file.
Man:
Ongoing updates and edits and corrections and cleanup. Slowly but surely.
-----------------------------------
-- Harald Hope - Fri, 30 Mar 2018 20:07:40 -0700
=====================================================================================
Version: 2.9.09
Patch Version: 00