mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 00:47:47 +00:00
new version, new man.
Rolls up a few changes from the latest features: 1. For -Dxxx, if root, will use fdisk to try to find partition table scheme (mbr/gpt) 2. For Display: <protocol> server: will try to use loginctl if out of X and using --display flag to force display data and not root. This completes more or less the very last minute features added pre 3.0.0 version. I wanted to get these in because the features were not super useful since they only worked on a few systems, particulary the scheme:
This commit is contained in:
parent
8d060c8cb4
commit
2b9562c46d
47
inxi
47
inxi
|
@ -31,7 +31,7 @@ use POSIX qw(uname strftime ttyname);
|
|||
|
||||
## INXI INFO ##
|
||||
my $self_name='inxi';
|
||||
my $self_version='3.0.01';
|
||||
my $self_version='3.0.02';
|
||||
my $self_date='2018-04-12';
|
||||
my $self_patch='00';
|
||||
## END INXI INFO ##
|
||||
|
@ -2234,12 +2234,12 @@ sub check_items {
|
|||
}
|
||||
elsif ($type eq 'recommended system programs'){
|
||||
if ($bsd_type){
|
||||
@data = qw(camcontrol dig dmidecode file glabel gpart ifconfig ipmi-sensors
|
||||
@data = qw(camcontrol dig dmidecode fdisk file glabel gpart ifconfig ipmi-sensors
|
||||
ipmitool lsusb sudo smartctl sysctl tree uptime usbdevs);
|
||||
$info_os = 'info-bsd';
|
||||
}
|
||||
else {
|
||||
@data = qw(dig dmidecode file hddtemp ifconfig ip ipmitool ipmi-sensors
|
||||
@data = qw(dig dmidecode fdisk file hddtemp ifconfig ip ipmitool ipmi-sensors
|
||||
lsblk lsusb modinfo runlevel sensors strings sudo tree uptime);
|
||||
}
|
||||
$b_program = 1;
|
||||
|
@ -2459,6 +2459,13 @@ sub item_data {
|
|||
'pacman' => 'dmidecode',
|
||||
'rpm' => 'dmidecode',
|
||||
}),
|
||||
'fdisk' => ({
|
||||
'info' => '-D partition scheme (fallback)',
|
||||
'info-bsd' => '-D partition scheme',
|
||||
'apt' => 'fdisk',
|
||||
'pacman' => 'util-linux',
|
||||
'rpm' => 'util-linux',
|
||||
}),
|
||||
'fetch' => ({
|
||||
'info' => '',
|
||||
'info-bsd' => '-i (if no dig); -w,-W; -U',
|
||||
|
@ -7215,7 +7222,7 @@ sub proc_data_advanced {
|
|||
my ($i) = (0);
|
||||
my (@data,@rows,@scsi,@temp,@working);
|
||||
my ($pt_cmd) = ('unset');
|
||||
my ($block_type,$file,$firmware,$model,$path,$partition_table,
|
||||
my ($block_type,$file,$firmware,$model,$path,$partition_scheme,
|
||||
$serial,$vendor,$working_path);
|
||||
@by_id = main::globber('/dev/disk/by-id/*');
|
||||
@by_path = main::globber('/dev/disk/by-path/*');
|
||||
|
@ -7238,10 +7245,10 @@ sub proc_data_advanced {
|
|||
#print 'drives:', Data::Dumper::Dumper \@drives;
|
||||
for ($i = 1; $i < scalar @drives; $i++){
|
||||
#next if $drives[$i]{'id'} =~ /^hd[a-z]/;
|
||||
($block_type,$firmware,$model,$partition_table,
|
||||
($block_type,$firmware,$model,$partition_scheme,
|
||||
$serial,$vendor,$working_path) = ('','','','','','','');
|
||||
if ($extra > 2){
|
||||
@data = partition_table($pt_cmd,$drives[$i]{'id'});
|
||||
@data = partition_scheme($pt_cmd,$drives[$i]{'id'});
|
||||
$pt_cmd = $data[0];
|
||||
$drives[$i]{'partition-table'} = uc($data[1]) if $data[1];
|
||||
}
|
||||
|
@ -7475,7 +7482,7 @@ sub peripheral_data {
|
|||
eval $end if $b_log;
|
||||
return $type;
|
||||
}
|
||||
sub partition_table {
|
||||
sub partition_scheme {
|
||||
eval $start if $b_log;
|
||||
my ($set_cmd,$id) = @_;
|
||||
my ($cmd,$pt,$program,@data,@return);
|
||||
|
@ -7494,15 +7501,35 @@ sub partition_table {
|
|||
if (!$return[0] && $b_root && -e "/lib/udev/udisks-part-id") {
|
||||
$return[0] = "/lib/udev/udisks-part-id /dev/";
|
||||
}
|
||||
elsif (!$return[0]) {
|
||||
elsif (!$return[0] && $b_root && ($program = main::check_program('fdisk'))) {
|
||||
$return[0] = "$program -l /dev/";
|
||||
}
|
||||
if (!$return[0]) {
|
||||
$return[0] = 'na'
|
||||
}
|
||||
}
|
||||
if ($return[0] ne 'na'){
|
||||
$cmd = "$return[0]$id 2>/dev/null";
|
||||
$cmd = "$return[0]$id 2>&1";
|
||||
main::log_data('cmd',$cmd) if $b_log;
|
||||
@data = main::grabber($cmd);
|
||||
$return[1] = main::awk(\@data,'^(UDISKS_PARTITION_TABLE_SCHEME|ID_PART_TABLE_TYPE)',2,'=');
|
||||
# for pre ~ 2.30 fdisk did not show gpt, but did show gpt scheme error, so
|
||||
# if no gpt match, it's dos = mbr
|
||||
if ($cmd =~ /fdisk/){
|
||||
foreach (@data){
|
||||
if (/^WARNING:\s+GPT/){
|
||||
$return[1] = 'gpt';
|
||||
last;
|
||||
}
|
||||
elsif (/^Disklabel\stype:\s*(.+)/i){
|
||||
$return[1] = $1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
$return[1] = 'dos' if !$return[1];
|
||||
}
|
||||
else {
|
||||
$return[1] = main::awk(\@data,'^(UDISKS_PARTITION_TABLE_SCHEME|ID_PART_TABLE_TYPE)',2,'=');
|
||||
}
|
||||
$return[1] = 'mbr' if $return[1] eq 'dos';
|
||||
}
|
||||
eval $end if $b_log;
|
||||
|
|
|
@ -1,3 +1,26 @@
|
|||
=====================================================================================
|
||||
Version: 3.0.02
|
||||
Patch Version: 00
|
||||
Script Date: 2018-04-12
|
||||
-----------------------------------
|
||||
Changes:
|
||||
-----------------------------------
|
||||
new version, new man.
|
||||
|
||||
Rolls up a few changes from the latest features:
|
||||
|
||||
1. For -Dxxx, if root, will use fdisk to try to find partition table scheme (mbr/gpt)
|
||||
2. For Display: <protocol> server: will try to use loginctl if out of X and using
|
||||
--display flag to force display data and not root.
|
||||
|
||||
This completes more or less the very last minute features added pre 3.0.0 version.
|
||||
|
||||
I wanted to get these in because the features were not super useful since they only
|
||||
worked on a few systems, particulary the scheme:
|
||||
|
||||
-----------------------------------
|
||||
-- Harald Hope - Thu, 12 Apr 2018 15:26:00 -0700
|
||||
|
||||
=====================================================================================
|
||||
Version: 3.0.01
|
||||
Patch Version: 00
|
||||
|
|
Loading…
Reference in a new issue