mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 08:57:57 +00:00
New version, new tarball. Note, this is a refactor release only, and features the core bsd
support built in, although inxi will not run in bsd unless the top: #!/bin/bash is changed to #!/usr/local/bin/bash The actual bsd branch can be grabbed from: http://inxi.googlecode.com/svn/branches/bsd/inxi then you can keep that version updated using: inxi -! 15 which will grab the latest bsd version from the svn server. This release also fixes a lot of small bugs that testing for bsd support exposed, but functionally most people should see no difference, I just want to get this version up because there are so many small changes that it's worth having a release. I was going to have the fixed dmidecode for old systems in 1.8.35 but that will have to wait til 1.8.36 Linux users should see no real changes, except maybe a thing or two will work in certain circumstances when it didn't before, like showing MHz on ARM cpus on short inxi.
This commit is contained in:
parent
5b86605d24
commit
5b564bc84e
409
inxi
409
inxi
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### version: 1.8.34
|
#### version: 1.8.35
|
||||||
#### Date: January 28 2013
|
#### Date: February 7 2013
|
||||||
#### Patch Number: 00
|
#### Patch Number: 00
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
#### DEPENDENCIES
|
#### DEPENDENCIES
|
||||||
#### * bash >=3.0 (bash); df, readlink, stty, tr, uname, wc (coreutils);
|
#### * bash >=3.0 (bash); df, readlink, stty, tr, uname, wc (coreutils);
|
||||||
#### gawk (gawk); grep (grep); lspci (pciutils);
|
#### gawk (gawk); grep (grep); lspci (pciutils);
|
||||||
#### free, ps, uptime (procps); find (findutils)
|
#### ps, uptime (procps); find (findutils)
|
||||||
#### * Also the proc filesystem should be present and mounted
|
#### * Also the proc filesystem should be present and mounted
|
||||||
#### * Some features, like -M and -d will not work, or will work incompletely,
|
#### * Some features, like -M and -d will not work, or will work incompletely,
|
||||||
#### if /sys is missing
|
#### if /sys is missing
|
||||||
|
@ -184,6 +184,7 @@ DEV_DISK_ID=''
|
||||||
DEV_DISK_LABEL=''
|
DEV_DISK_LABEL=''
|
||||||
DEV_DISK_MAPPER=''
|
DEV_DISK_MAPPER=''
|
||||||
DEV_DISK_UUID=''
|
DEV_DISK_UUID=''
|
||||||
|
DMIDECODE_DATA=''
|
||||||
FILTER_STRING='<filter>'
|
FILTER_STRING='<filter>'
|
||||||
IRC_CLIENT=''
|
IRC_CLIENT=''
|
||||||
IRC_CLIENT_VERSION=''
|
IRC_CLIENT_VERSION=''
|
||||||
|
@ -222,6 +223,7 @@ A_X_DATA=''
|
||||||
# flag to allow distro maintainers to turn off update features. If false, turns off
|
# flag to allow distro maintainers to turn off update features. If false, turns off
|
||||||
# -U and -! testing/advanced update options, as well as removing the -U help menu item
|
# -U and -! testing/advanced update options, as well as removing the -U help menu item
|
||||||
B_ALLOW_UPDATE='true'
|
B_ALLOW_UPDATE='true'
|
||||||
|
B_BSD='false'
|
||||||
B_COLOR_SCHEME_SET='false'
|
B_COLOR_SCHEME_SET='false'
|
||||||
B_CONSOLE_IRC='false'
|
B_CONSOLE_IRC='false'
|
||||||
# triggers full display of cpu flags
|
# triggers full display of cpu flags
|
||||||
|
@ -232,6 +234,7 @@ B_DBUS_CLIENT='false'
|
||||||
B_DCOP='false'
|
B_DCOP='false'
|
||||||
# Debug flood override: make 'true' to allow long debug output
|
# Debug flood override: make 'true' to allow long debug output
|
||||||
B_DEBUG_FLOOD='false'
|
B_DEBUG_FLOOD='false'
|
||||||
|
B_DMIDECODE_SET='false'
|
||||||
# show extra output data
|
# show extra output data
|
||||||
B_EXTRA_DATA='false'
|
B_EXTRA_DATA='false'
|
||||||
# triggered by -xx
|
# triggered by -xx
|
||||||
|
@ -240,6 +243,7 @@ B_ID_SET='false'
|
||||||
# override certain errors due to currupted data
|
# override certain errors due to currupted data
|
||||||
B_HANDLE_CORRUPT_DATA='false'
|
B_HANDLE_CORRUPT_DATA='false'
|
||||||
B_LABEL_SET='false'
|
B_LABEL_SET='false'
|
||||||
|
B_LSPCI='false'
|
||||||
B_LOG_COLORS='false'
|
B_LOG_COLORS='false'
|
||||||
B_LOG_FULL_DATA='false'
|
B_LOG_FULL_DATA='false'
|
||||||
B_MAPPER_SET='false'
|
B_MAPPER_SET='false'
|
||||||
|
@ -296,6 +300,7 @@ B_SHOW_SYSTEM='false'
|
||||||
B_SHOW_UNMOUNTED_PARTITIONS='false'
|
B_SHOW_UNMOUNTED_PARTITIONS='false'
|
||||||
B_SHOW_UUIDS='false'
|
B_SHOW_UUIDS='false'
|
||||||
B_SHOW_X_DATA='false'
|
B_SHOW_X_DATA='false'
|
||||||
|
B_SYSCTL='false'
|
||||||
# triggers various debugging and new option testing
|
# triggers various debugging and new option testing
|
||||||
B_TESTING_1='false'
|
B_TESTING_1='false'
|
||||||
B_TESTING_2='false'
|
B_TESTING_2='false'
|
||||||
|
@ -430,6 +435,7 @@ SCRIPT_DOWNLOAD_BRANCH_1='http://inxi.googlecode.com/svn/branches/one/'
|
||||||
SCRIPT_DOWNLOAD_BRANCH_2='http://inxi.googlecode.com/svn/branches/two/'
|
SCRIPT_DOWNLOAD_BRANCH_2='http://inxi.googlecode.com/svn/branches/two/'
|
||||||
SCRIPT_DOWNLOAD_BRANCH_3='http://inxi.googlecode.com/svn/branches/three/'
|
SCRIPT_DOWNLOAD_BRANCH_3='http://inxi.googlecode.com/svn/branches/three/'
|
||||||
SCRIPT_DOWNLOAD_BRANCH_4='http://inxi.googlecode.com/svn/branches/four/'
|
SCRIPT_DOWNLOAD_BRANCH_4='http://inxi.googlecode.com/svn/branches/four/'
|
||||||
|
SCRIPT_DOWNLOAD_BRANCH_BSD='http://inxi.googlecode.com/svn/branches/bsd/'
|
||||||
SCRIPT_DOWNLOAD_DEV='http://smxi.org/test/'
|
SCRIPT_DOWNLOAD_DEV='http://smxi.org/test/'
|
||||||
# note, you can use any ip url here as long as it's the only line on the output page.
|
# note, you can use any ip url here as long as it's the only line on the output page.
|
||||||
# Also the ip address must be the last thing on that line.
|
# Also the ip address must be the last thing on that line.
|
||||||
|
@ -561,7 +567,6 @@ main()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### Only continue if depends ok
|
### Only continue if depends ok
|
||||||
SCRIPT_PATH=$( dirname $0 )
|
|
||||||
SCRIPT_VERSION_NUMBER=$( grep -im 1 'version:' $SCRIPT_PATH/$SCRIPT_NAME | gawk '{print $3}' )
|
SCRIPT_VERSION_NUMBER=$( grep -im 1 'version:' $SCRIPT_PATH/$SCRIPT_NAME | gawk '{print $3}' )
|
||||||
SCRIPT_PATCH_NUMBER=$( grep -im 1 'Patch Number:' $SCRIPT_PATH/$SCRIPT_NAME | gawk '{print $4}' )
|
SCRIPT_PATCH_NUMBER=$( grep -im 1 'Patch Number:' $SCRIPT_PATH/$SCRIPT_NAME | gawk '{print $4}' )
|
||||||
|
|
||||||
|
@ -695,9 +700,16 @@ initialize_script_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
|
||||||
|
if [[ -n $( grep -i 'bsd' <<< $( uname -s 2>/dev/null ) ) ]];then
|
||||||
|
B_BSD='true'
|
||||||
|
fi
|
||||||
|
SCRIPT_PATH=$( dirname $0 )
|
||||||
# now set the script BOOLEANS for files required to run features
|
# now set the script BOOLEANS for files required to run features
|
||||||
if [[ -d "/proc/" ]];then
|
# note that freebsd has /proc but it's empty
|
||||||
|
if [[ -d "/proc/" && $B_BSD != 'true' ]];then
|
||||||
B_PROC_DIR='true'
|
B_PROC_DIR='true'
|
||||||
|
elif [[ $B_BSD == 'true' ]];then
|
||||||
|
B_PROC_DIR='false'
|
||||||
else
|
else
|
||||||
error_handler 6
|
error_handler 6
|
||||||
fi
|
fi
|
||||||
|
@ -822,6 +834,15 @@ check_script_suggested_apps()
|
||||||
else
|
else
|
||||||
script_debugger "Suggestion: update to Bash v3.1 for optimal inxi output"
|
script_debugger "Suggestion: update to Bash v3.1 for optimal inxi output"
|
||||||
fi
|
fi
|
||||||
|
# test for a few apps that bsds may not have after initial tests
|
||||||
|
if [[ -n $( type -p lspci ) ]];then
|
||||||
|
B_LSPCI='true'
|
||||||
|
fi
|
||||||
|
if [[ $B_BSD == 'true' ]];then
|
||||||
|
if [[ -n $( type -p sysctl ) ]];then
|
||||||
|
B_SYSCTL='true'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
# now setting qdbus/dcop for first run, some systems can have both by the way
|
# now setting qdbus/dcop for first run, some systems can have both by the way
|
||||||
if [[ -n $( type -p qdbus ) ]];then
|
if [[ -n $( type -p qdbus ) ]];then
|
||||||
B_QDBUS='true'
|
B_QDBUS='true'
|
||||||
|
@ -839,7 +860,11 @@ check_script_depends()
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local app_name='' app_path=''
|
local app_name='' app_path=''
|
||||||
# bc removed from deps for now
|
# bc removed from deps for now
|
||||||
local depends="df free gawk grep lspci ps readlink tr uname uptime wc"
|
local depends="df gawk grep ps readlink tr uname uptime wc"
|
||||||
|
|
||||||
|
if [[ $B_BSD != 'true' ]];then
|
||||||
|
depends="$depends lspci"
|
||||||
|
fi
|
||||||
# no need to add xprop because it will just give N/A if not there, but if we expand use of xprop,
|
# no need to add xprop because it will just give N/A if not there, but if we expand use of xprop,
|
||||||
# should add that here as a test, then use the B_SHOW_X_DATA flag to trigger the tests in de function
|
# should add that here as a test, then use the B_SHOW_X_DATA flag to trigger the tests in de function
|
||||||
local x_apps="xrandr xdpyinfo glxinfo"
|
local x_apps="xrandr xdpyinfo glxinfo"
|
||||||
|
@ -1346,6 +1371,7 @@ debug_data_collector()
|
||||||
local debug_data_dir="inxi-$(tr ' ' '-' <<< $HOSTNAME | tr '[A-Z]' '[a-z]' )-$1-$(date +%Y%m%d)"
|
local debug_data_dir="inxi-$(tr ' ' '-' <<< $HOSTNAME | tr '[A-Z]' '[a-z]' )-$1-$(date +%Y%m%d)"
|
||||||
local completed_gz_file='' xiin_file='xiin.py' ftp_upload='ftp.techpatterns.com/incoming'
|
local completed_gz_file='' xiin_file='xiin.py' ftp_upload='ftp.techpatterns.com/incoming'
|
||||||
local Line='-------------------------'
|
local Line='-------------------------'
|
||||||
|
local startDir=$(pwd)
|
||||||
|
|
||||||
if [[ $B_RUNNING_IN_SHELL == 'true' ]];then
|
if [[ $B_RUNNING_IN_SHELL == 'true' ]];then
|
||||||
if [[ -n $ALTERNATE_FTP ]];then
|
if [[ -n $ALTERNATE_FTP ]];then
|
||||||
|
@ -1358,23 +1384,27 @@ debug_data_collector()
|
||||||
fi
|
fi
|
||||||
echo 'completed'
|
echo 'completed'
|
||||||
cd $SCRIPT_DATA_DIR
|
cd $SCRIPT_DATA_DIR
|
||||||
if [[ -d $debug_data_dir ]];then
|
if [[ -d $SCRIPT_DATA_DIR/$debug_data_dir ]];then
|
||||||
echo 'Deleting previous xiin data directory...'
|
echo 'Deleting previous xiin data directory...'
|
||||||
rm -rf $debug_data_dir
|
rm -rf $SCRIPT_DATA_DIR/$debug_data_dir
|
||||||
fi
|
fi
|
||||||
mkdir $debug_data_dir
|
mkdir $SCRIPT_DATA_DIR/$debug_data_dir
|
||||||
if [[ -f $debug_data_dir.tar.gz ]];then
|
if [[ -f $SCRIPT_DATA_DIR/$debug_data_dir.tar.gz ]];then
|
||||||
echo 'Deleting previous tar.gz file...'
|
echo 'Deleting previous tar.gz file...'
|
||||||
rm -f $debug_data_dir.tar.gz
|
rm -f $SCRIPT_DATA_DIR/$debug_data_dir.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'Collecting system info: sensors, lsusb, lspci, lspci -v data, plus /proc data'
|
echo 'Collecting system info: sensors, lsusb, lspci, lspci -v data, plus /proc data'
|
||||||
|
echo 'also checking for dmidecode data: note, you must be root to have dmidecode work.'
|
||||||
|
echo "Data going into: $SCRIPT_DATA_DIR/$debug_data_dir"
|
||||||
|
dmidecode &> $debug_data_dir/dmidecode.txt
|
||||||
lsusb &> $debug_data_dir/lsusb.txt
|
lsusb &> $debug_data_dir/lsusb.txt
|
||||||
lspci &> $debug_data_dir/lspci.txt
|
lspci &> $debug_data_dir/lspci.txt
|
||||||
lspci -n &> $debug_data_dir/lspci-n.txt
|
lspci -n &> $debug_data_dir/lspci-n.txt
|
||||||
lspci -v &> $debug_data_dir/lspci-v.txt
|
lspci -v &> $debug_data_dir/lspci-v.txt
|
||||||
ps aux &> $debug_data_dir/ps-aux.txt
|
ps aux &> $debug_data_dir/ps-aux.txt
|
||||||
sensors &> $debug_data_dir/sensors.txt
|
sensors &> $debug_data_dir/sensors.txt
|
||||||
|
sysctl -a &> $debug_data_dir/sysctl-a.txt
|
||||||
ls /usr/bin/gcc* &> $debug_data_dir/gcc-sys-versions.txt
|
ls /usr/bin/gcc* &> $debug_data_dir/gcc-sys-versions.txt
|
||||||
gcc --version &> $debug_data_dir/gcc-version.txt
|
gcc --version &> $debug_data_dir/gcc-version.txt
|
||||||
cat /etc/issue &> $debug_data_dir/etc-issue.txt
|
cat /etc/issue &> $debug_data_dir/etc-issue.txt
|
||||||
|
@ -1389,7 +1419,7 @@ debug_data_collector()
|
||||||
check_recommends &> $debug_data_dir/check-recommends.txt
|
check_recommends &> $debug_data_dir/check-recommends.txt
|
||||||
# first download and verify xiin
|
# first download and verify xiin
|
||||||
if [[ $B_UPLOAD_DEBUG_DATA == 'true' || $1 == 'disk' || $1 == 'sys' || $1 == 'all' ]];then
|
if [[ $B_UPLOAD_DEBUG_DATA == 'true' || $1 == 'disk' || $1 == 'sys' || $1 == 'all' ]];then
|
||||||
touch $debug_data_dir/xiin-error.txt
|
touch $SCRIPT_DATA_DIR/$debug_data_dir/xiin-error.txt
|
||||||
echo "Downloading required tree traverse tool $xiin_file..."
|
echo "Downloading required tree traverse tool $xiin_file..."
|
||||||
if [[ -f xiin && ! -f $xiin_file ]];then
|
if [[ -f xiin && ! -f $xiin_file ]];then
|
||||||
mv -f xiin $xiin_file
|
mv -f xiin $xiin_file
|
||||||
|
@ -1420,7 +1450,7 @@ debug_data_collector()
|
||||||
echo 'Collecting networking data...'
|
echo 'Collecting networking data...'
|
||||||
ifconfig &> $debug_data_dir/ifconfig.txt
|
ifconfig &> $debug_data_dir/ifconfig.txt
|
||||||
ip addr &> $debug_data_dir/ip-addr.txt
|
ip addr &> $debug_data_dir/ip-addr.txt
|
||||||
if [[ $b_run_xiin == 'true' ]];then
|
if [[ $b_run_xiin == 'true' && $B_BSD != 'true' ]];then
|
||||||
echo $Line
|
echo $Line
|
||||||
echo "Running $xiin_file tool now on /sys..."
|
echo "Running $xiin_file tool now on /sys..."
|
||||||
echo "Using Python version:" && python --version
|
echo "Using Python version:" && python --version
|
||||||
|
@ -1452,13 +1482,13 @@ debug_data_collector()
|
||||||
touch $debug_data_dir/no-xorg-log-file
|
touch $debug_data_dir/no-xorg-log-file
|
||||||
fi
|
fi
|
||||||
if [[ -e /etc/X11/xorg.conf ]];then
|
if [[ -e /etc/X11/xorg.conf ]];then
|
||||||
cp /etc/X11/xorg.conf $debug_data_dir
|
cp /etc/X11/xorg.conf $SCRIPT_DATA_DIR/$debug_data_dir
|
||||||
else
|
else
|
||||||
touch $debug_data_dir/no-xorg-conf-file
|
touch $debug_data_dir/no-xorg-conf-file
|
||||||
fi
|
fi
|
||||||
if [[ -n $( ls /etc/X11/xorg.conf.d/ 2>/dev/null ) ]];then
|
if [[ -n $( ls /etc/X11/xorg.conf.d/ 2>/dev/null ) ]];then
|
||||||
ls /etc/X11/xorg.conf.d &> $debug_data_dir/ls-etc-x11-xorg-conf-d.txt
|
ls /etc/X11/xorg.conf.d &> $debug_data_dir/ls-etc-x11-xorg-conf-d.txt
|
||||||
cp /etc/X11/xorg.conf.d $debug_data_dir
|
cp /etc/X11/xorg.conf.d $SCRIPT_DATA_DIR/$debug_data_dir
|
||||||
else
|
else
|
||||||
touch $debug_data_dir/no-xorg-conf-d-files
|
touch $debug_data_dir/no-xorg-conf-d-files
|
||||||
fi
|
fi
|
||||||
|
@ -1494,12 +1524,15 @@ debug_data_collector()
|
||||||
cat /etc/mtab &> $debug_data_dir/etc-mtab.txt
|
cat /etc/mtab &> $debug_data_dir/etc-mtab.txt
|
||||||
fi
|
fi
|
||||||
echo 'Creating inxi output file now. This can take a few seconds...'
|
echo 'Creating inxi output file now. This can take a few seconds...'
|
||||||
$SCRIPT_NAME -FRploudxxx -c 0 -@ 8 > $debug_data_dir/inxi-FRploudxxx.txt
|
echo "Starting $SCRIPT_NAME from: $startDir"
|
||||||
|
cd $startDir
|
||||||
|
$SCRIPT_PATH/$SCRIPT_NAME -FRploudxxx -c 0 -@ 8 > $SCRIPT_DATA_DIR/$debug_data_dir/inxi-FRploudxxx.txt
|
||||||
cp $LOG_FILE $SCRIPT_DATA_DIR/$debug_data_dir
|
cp $LOG_FILE $SCRIPT_DATA_DIR/$debug_data_dir
|
||||||
if [[ -f $debug_data_dir.tar.gz ]];then
|
if [[ -f $SCRIPT_DATA_DIR/$debug_data_dir.tar.gz ]];then
|
||||||
echo "Found and removing previous tar.gz data file: $debug_data_dir.tar.gz"
|
echo "Found and removing previous tar.gz data file: $debug_data_dir.tar.gz"
|
||||||
rm -f $debug_data_dir.tar.gz
|
rm -f $SCRIPT_DATA_DIR/$debug_data_dir.tar.gz
|
||||||
fi
|
fi
|
||||||
|
cd $SCRIPT_DATA_DIR
|
||||||
echo 'Creating tar.gz compressed file of this material now. Contents:'
|
echo 'Creating tar.gz compressed file of this material now. Contents:'
|
||||||
echo $Line
|
echo $Line
|
||||||
tar -cvzf $debug_data_dir.tar.gz $debug_data_dir
|
tar -cvzf $debug_data_dir.tar.gz $debug_data_dir
|
||||||
|
@ -1609,7 +1642,6 @@ check_recommends_items()
|
||||||
# pardus: pisi sf -q /usr/bin/package
|
# pardus: pisi sf -q /usr/bin/package
|
||||||
local required_apps='
|
local required_apps='
|
||||||
df:coreutils~coreutils~coreutils~:partition_data
|
df:coreutils~coreutils~coreutils~:partition_data
|
||||||
free:procps~procps~procps~:system_memory
|
|
||||||
gawk:gawk~gawk~gawk~:core_tool
|
gawk:gawk~gawk~gawk~:core_tool
|
||||||
grep:grep~grep~grep~:string_search
|
grep:grep~grep~grep~:string_search
|
||||||
lspci:pciutils~pciutils~pciutils~:hardware_data
|
lspci:pciutils~pciutils~pciutils~:hardware_data
|
||||||
|
@ -1628,6 +1660,7 @@ check_recommends_items()
|
||||||
xrandr:x11-xserver-utils~xrandr~x11-server-utils~:-G_single_screen_resolution
|
xrandr:x11-xserver-utils~xrandr~x11-server-utils~:-G_single_screen_resolution
|
||||||
'
|
'
|
||||||
local recommended_apps='
|
local recommended_apps='
|
||||||
|
dmidecode:dmidecode~dmidecode~dmidecode~:-M_if_no_sys_machine_data
|
||||||
file:file~file~file~:-o_unmounted_file_system
|
file:file~file~file~:-o_unmounted_file_system
|
||||||
hddtemp:hddtemp~hddtemp~hddtemp~:-Dx_show_hdd_temp
|
hddtemp:hddtemp~hddtemp~hddtemp~:-Dx_show_hdd_temp
|
||||||
ifconfig:net-tools~net-tools~net-tools~:-i_ip_lan-deprecated
|
ifconfig:net-tools~net-tools~net-tools~:-i_ip_lan-deprecated
|
||||||
|
@ -1639,7 +1672,7 @@ check_recommends_items()
|
||||||
sudo:sudo~sudo~sudo~:-Dx_hddtemp-user;-o_file-user
|
sudo:sudo~sudo~sudo~:-Dx_hddtemp-user;-o_file-user
|
||||||
'
|
'
|
||||||
local recommended_dirs='
|
local recommended_dirs='
|
||||||
/sys/class/dmi/id:-M_system,_motherboard,_bios
|
/sys/class/dmi/id:-M_system,_motherboard,_bios_(or_dmidecode_as_root)
|
||||||
/dev:-l,-u,-o,-p,-P,-D_disk_partition_data
|
/dev:-l,-u,-o,-p,-P,-D_disk_partition_data
|
||||||
/dev/disk/by-label:-l,-o,-p,-P_partition_labels
|
/dev/disk/by-label:-l,-o,-p,-P_partition_labels
|
||||||
/dev/disk/by-uuid:-u,-o,-p,-P_partition_uuid
|
/dev/disk/by-uuid:-u,-o,-p,-P_partition_uuid
|
||||||
|
@ -2160,6 +2193,9 @@ get_parameters()
|
||||||
14)
|
14)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_4" 'svn: branch four server'
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_4" 'svn: branch four server'
|
||||||
;;
|
;;
|
||||||
|
15)
|
||||||
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_BSD" 'svn: branch bsd server'
|
||||||
|
;;
|
||||||
30)
|
30)
|
||||||
B_RUNNING_IN_SHELL='true'
|
B_RUNNING_IN_SHELL='true'
|
||||||
;;
|
;;
|
||||||
|
@ -2348,6 +2384,7 @@ show_options()
|
||||||
print_screen_output "-! 12 - Triggers an update from svn branch two - if present, of course."
|
print_screen_output "-! 12 - Triggers an update from svn branch two - if present, of course."
|
||||||
print_screen_output "-! 13 - Triggers an update from svn branch three - if present, of course."
|
print_screen_output "-! 13 - Triggers an update from svn branch three - if present, of course."
|
||||||
print_screen_output "-! 14 - Triggers an update from svn branch four - if present, of course."
|
print_screen_output "-! 14 - Triggers an update from svn branch four - if present, of course."
|
||||||
|
print_screen_output "-! 15 - Triggers an update from svn branch BSD - if present, of course."
|
||||||
print_screen_output "-! <http://......> - Triggers an update from whatever server you list."
|
print_screen_output "-! <http://......> - Triggers an update from whatever server you list."
|
||||||
print_screen_output "-! <ftp.......> - Changes debugging data ftp upload location to whatever you enter here."
|
print_screen_output "-! <ftp.......> - Changes debugging data ftp upload location to whatever you enter here."
|
||||||
print_screen_output " Only used together with -xx@ 11-14, and must be used in front of that."
|
print_screen_output " Only used together with -xx@ 11-14, and must be used in front of that."
|
||||||
|
@ -3047,41 +3084,50 @@ get_audio_alsa_data()
|
||||||
eval $LOGFE
|
eval $LOGFE
|
||||||
}
|
}
|
||||||
|
|
||||||
get_console_irc_tty()
|
|
||||||
{
|
|
||||||
eval $LOGFS
|
|
||||||
local tty_number=''
|
|
||||||
if [[ -n ${IRC_CLIENT} ]];then
|
|
||||||
tty_number=$( ps aux | gawk '
|
|
||||||
BEGIN {
|
|
||||||
IGNORECASE=1
|
|
||||||
}
|
|
||||||
/'${IRC_CLIENT}'/ {
|
|
||||||
gsub(/[^0-9]/, "", $7)
|
|
||||||
print $7
|
|
||||||
}' )
|
|
||||||
fi
|
|
||||||
log_function_data "tty_number: $tty_number"
|
|
||||||
echo $tty_number
|
|
||||||
eval $LOGFE
|
|
||||||
}
|
|
||||||
|
|
||||||
## create A_CPU_CORE_DATA, currently with two values: integer core count; core string text
|
## create A_CPU_CORE_DATA, currently with two values: integer core count; core string text
|
||||||
## return value cpu core count string, this helps resolve the multi redundant lines of old style output
|
## return value cpu core count string, this helps resolve the multi redundant lines of old style output
|
||||||
get_cpu_core_count()
|
get_cpu_core_count()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
local cpu_physical_count='' cpu_core_count='' cpu_type='' cpu_alpha_count=''
|
||||||
if [[ $B_CPUINFO_FILE == 'true' ]]; then
|
if [[ $B_CPUINFO_FILE == 'true' ]]; then
|
||||||
# load the A_CPU_TYPE_PCNT_CCNT core data array
|
# load the A_CPU_TYPE_PCNT_CCNT core data array
|
||||||
get_cpu_ht_multicore_smp_data
|
get_cpu_ht_multicore_smp_data
|
||||||
## Because of the upcoming release of cpus with core counts over 6, a count of cores is given after Deca (10)
|
## Because of the upcoming release of cpus with core counts over 6, a count of cores is given after Deca (10)
|
||||||
# count the number of processors given
|
# count the number of processors given
|
||||||
local cpu_physical_count=${A_CPU_TYPE_PCNT_CCNT[1]}
|
cpu_physical_count=${A_CPU_TYPE_PCNT_CCNT[1]}
|
||||||
local cpu_core_count=${A_CPU_TYPE_PCNT_CCNT[2]}
|
cpu_core_count=${A_CPU_TYPE_PCNT_CCNT[2]}
|
||||||
local cpu_type=${A_CPU_TYPE_PCNT_CCNT[0]}
|
cpu_type=${A_CPU_TYPE_PCNT_CCNT[0]}
|
||||||
|
|
||||||
# match the numberic value to an alpha value
|
# match the numberic value to an alpha value
|
||||||
case $cpu_core_count in
|
cpu_alpha_count=$( get_cpu_core_count_alpha "$cpu_core_count" )
|
||||||
|
|
||||||
|
# create array, core count integer; core count string
|
||||||
|
# A_CPU_CORE_DATA=( "$cpu_core_count" "$cpu_alpha_count Core$cpu_type" )
|
||||||
|
A_CPU_CORE_DATA=( "$cpu_physical_count" "$cpu_alpha_count" "$cpu_type" "$cpu_core_count" )
|
||||||
|
elif [[ $B_BSD == 'true' ]];then
|
||||||
|
cpu_core_count=$( grep '^hw.ncpu' <<< "$Sysctl_a_Data" | gawk '{print $NF}' )
|
||||||
|
if [[ -n $( grep -E '^[0-9]+$' <<< "$cpu_core_count" ) ]];then
|
||||||
|
cpu_alpha_count=$( get_cpu_core_count_alpha "$cpu_core_count" )
|
||||||
|
if [[ $cpu_core_count -gt 1 ]];then
|
||||||
|
cpu_type='SMP'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
cpu_physical_count=1
|
||||||
|
A_CPU_CORE_DATA=( "$cpu_physical_count" "$cpu_alpha_count" "$cpu_type" "$cpu_core_count" )
|
||||||
|
fi
|
||||||
|
temp_array=${A_CPU_CORE_DATA[@]}
|
||||||
|
log_function_data "A_CPU_CORE_DATA: $temp_array"
|
||||||
|
eval $LOGFE
|
||||||
|
}
|
||||||
|
|
||||||
|
# args: $1 - integer core count
|
||||||
|
get_cpu_core_count_alpha()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
local cpu_alpha_count=''
|
||||||
|
|
||||||
|
case $1 in
|
||||||
1) cpu_alpha_count='Single';;
|
1) cpu_alpha_count='Single';;
|
||||||
2) cpu_alpha_count='Dual';;
|
2) cpu_alpha_count='Dual';;
|
||||||
3) cpu_alpha_count='Triple';;
|
3) cpu_alpha_count='Triple';;
|
||||||
|
@ -3094,12 +3140,9 @@ get_cpu_core_count()
|
||||||
10) cpu_alpha_count='Deca';;
|
10) cpu_alpha_count='Deca';;
|
||||||
*) cpu_alpha_count='Multi';;
|
*) cpu_alpha_count='Multi';;
|
||||||
esac
|
esac
|
||||||
# create array, core count integer; core count string
|
|
||||||
# A_CPU_CORE_DATA=( "$cpu_core_count" "$cpu_alpha_count Core$cpu_type" )
|
echo $cpu_alpha_count
|
||||||
A_CPU_CORE_DATA=( "$cpu_physical_count" "$cpu_alpha_count" "$cpu_type" "$cpu_core_count" )
|
|
||||||
fi
|
|
||||||
temp_array=${A_CPU_CORE_DATA[@]}
|
|
||||||
log_function_data "A_CPU_CORE_DATA: $temp_array"
|
|
||||||
eval $LOGFE
|
eval $LOGFE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3213,6 +3256,35 @@ get_cpu_data()
|
||||||
}
|
}
|
||||||
' $FILE_CPUINFO ) )
|
' $FILE_CPUINFO ) )
|
||||||
log_function_data 'cat' "$FILE_CPUINFO"
|
log_function_data 'cat' "$FILE_CPUINFO"
|
||||||
|
elif [[ $B_BSD == 'true' ]];then
|
||||||
|
IFS=$'\n'
|
||||||
|
A_CPU_DATA=( $(
|
||||||
|
gawk -F': ' '
|
||||||
|
BEGIN {
|
||||||
|
IGNORECASE=1
|
||||||
|
cpuModel=""
|
||||||
|
cpuClock=""
|
||||||
|
cpuCache=""
|
||||||
|
cpuFlags=""
|
||||||
|
cpuBogomips=""
|
||||||
|
cpuVendor=""
|
||||||
|
}
|
||||||
|
/^hw.model/ {
|
||||||
|
gsub(/'"$BAN_LIST_NORMAL"'/, "", $NF )
|
||||||
|
gsub(/'"$BAN_LIST_CPU"'/, "", $NF )
|
||||||
|
sub(/[a-z]+-core/, "", $NF )
|
||||||
|
gsub(/^ +| +$/, "", $NF)
|
||||||
|
gsub(/ [ \t]+/, " ", $NF)
|
||||||
|
cpuModel=$NF
|
||||||
|
}
|
||||||
|
/^hw.clock/ {
|
||||||
|
cpuClock=$NF
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
print cpuModel "," cpuClock "," cpuCache "," cpuFlags "," cpuBogomips "," cpuVendor
|
||||||
|
print "N/A"
|
||||||
|
}' <<< "$Sysctl_a_Data" ) )
|
||||||
|
|
||||||
fi
|
fi
|
||||||
IFS="$ORIGINAL_IFS"
|
IFS="$ORIGINAL_IFS"
|
||||||
temp_array=${A_CPU_DATA[@]}
|
temp_array=${A_CPU_DATA[@]}
|
||||||
|
@ -3708,6 +3780,14 @@ get_distro_data()
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local i='' j='' distro='' distro_file='' a_distro_glob='' temp_array=''
|
local i='' j='' distro='' distro_file='' a_distro_glob='' temp_array=''
|
||||||
|
|
||||||
|
if [[ $B_BSD == 'true' ]];then
|
||||||
|
distro=$( uname -sr )
|
||||||
|
echo "$distro"
|
||||||
|
log_function_data "distro: $distro"
|
||||||
|
eval $LOGFE
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
# get the wild carded array of release/version /etc files if present
|
# get the wild carded array of release/version /etc files if present
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
cd /etc
|
cd /etc
|
||||||
|
@ -3755,11 +3835,11 @@ get_distro_data()
|
||||||
# never apply for ubuntu or debian, which will filter down to the following conditions. In general
|
# never apply for ubuntu or debian, which will filter down to the following conditions. In general
|
||||||
# if there's a specific distro release file available, that's to be preferred, but this is a good backup.
|
# if there's a specific distro release file available, that's to be preferred, but this is a good backup.
|
||||||
elif [[ -n $distro_file && $B_LSB_FILE == 'true' && " $DISTROS_LSB_GOOD" == *" $distro_file "* ]];then
|
elif [[ -n $distro_file && $B_LSB_FILE == 'true' && " $DISTROS_LSB_GOOD" == *" $distro_file "* ]];then
|
||||||
distro=$( get_lsb_os_release_data 'lsb-file' )
|
distro=$( get_distro_lsb_os_release_data 'lsb-file' )
|
||||||
elif [[ $distro_file == 'lsb-release' ]];then
|
elif [[ $distro_file == 'lsb-release' ]];then
|
||||||
distro=$( get_lsb_os_release_data 'lsb-file' )
|
distro=$( get_distro_lsb_os_release_data 'lsb-file' )
|
||||||
elif [[ $distro_file == 'os-release' ]];then
|
elif [[ $distro_file == 'os-release' ]];then
|
||||||
distro=$( get_lsb_os_release_data 'os-release-file' )
|
distro=$( get_distro_lsb_os_release_data 'os-release-file' )
|
||||||
# then if the distro id file was found and it's not in the exluded primary distro file list, read it
|
# then if the distro id file was found and it's not in the exluded primary distro file list, read it
|
||||||
elif [[ -n $distro_file && -s /etc/$distro_file && " $DISTROS_EXCLUDE_LIST " != *" $distro_file "* ]];then
|
elif [[ -n $distro_file && -s /etc/$distro_file && " $DISTROS_EXCLUDE_LIST " != *" $distro_file "* ]];then
|
||||||
# new opensuse uses os-release, but older ones may have a similar syntax, so just use the first line
|
# new opensuse uses os-release, but older ones may have a similar syntax, so just use the first line
|
||||||
|
@ -3776,7 +3856,7 @@ get_distro_data()
|
||||||
# lsb gives more manageable and accurate output than issue, but mint should use issue for now
|
# lsb gives more manageable and accurate output than issue, but mint should use issue for now
|
||||||
# some bashism, boolean must be in parenthesis to work correctly, ie [[ $(boolean) ]] not [[ $boolean ]]
|
# some bashism, boolean must be in parenthesis to work correctly, ie [[ $(boolean) ]] not [[ $boolean ]]
|
||||||
if [[ $B_LSB_FILE == 'true' ]] && [[ -z $( grep -i 'mint' /etc/issue ) ]];then
|
if [[ $B_LSB_FILE == 'true' ]] && [[ -z $( grep -i 'mint' /etc/issue ) ]];then
|
||||||
distro=$( get_lsb_os_release_data 'lsb-file' )
|
distro=$( get_distro_lsb_os_release_data 'lsb-file' )
|
||||||
else
|
else
|
||||||
distro=$( gawk '
|
distro=$( gawk '
|
||||||
BEGIN {
|
BEGIN {
|
||||||
|
@ -3807,10 +3887,10 @@ get_distro_data()
|
||||||
## test for /etc/lsb-release as a backup in case of failure, in cases where > one version/release file
|
## test for /etc/lsb-release as a backup in case of failure, in cases where > one version/release file
|
||||||
## were found but the above resulted in null distro value
|
## were found but the above resulted in null distro value
|
||||||
if [[ -z $distro ]] && [[ $B_LSB_FILE == 'true' ]];then
|
if [[ -z $distro ]] && [[ $B_LSB_FILE == 'true' ]];then
|
||||||
distro=$( get_lsb_os_release_data 'lsb-file' )
|
distro=$( get_distro_lsb_os_release_data 'lsb-file' )
|
||||||
fi
|
fi
|
||||||
if [[ -z $distro ]] && [[ $B_OS_RELEASE_FILE == 'true' ]];then
|
if [[ -z $distro ]] && [[ $B_OS_RELEASE_FILE == 'true' ]];then
|
||||||
distro=$( get_lsb_os_release_data 'os-release-file' )
|
distro=$( get_distro_lsb_os_release_data 'os-release-file' )
|
||||||
fi
|
fi
|
||||||
# now some final null tries
|
# now some final null tries
|
||||||
if [[ -z $distro ]];then
|
if [[ -z $distro ]];then
|
||||||
|
@ -3840,7 +3920,7 @@ get_distro_data()
|
||||||
}
|
}
|
||||||
|
|
||||||
# args: $1 - lsb-file/lsb-app/os-release-file
|
# args: $1 - lsb-file/lsb-app/os-release-file
|
||||||
get_lsb_os_release_data()
|
get_distro_lsb_os_release_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local distro=''
|
local distro=''
|
||||||
|
@ -3988,6 +4068,84 @@ s if ( $2 != "n/a" ) {
|
||||||
eval $LOGFE
|
eval $LOGFE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_dmidecode_data()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
|
||||||
|
local dmidecodePath=''
|
||||||
|
|
||||||
|
if [[ $B_DMIDECODE_SET != 'true' ]];then
|
||||||
|
dmidecodePath=$( type -p dmidecode 2>/dev/null )
|
||||||
|
if [[ -n $dmidecodePath ]];then
|
||||||
|
# note stripping out these lines: Handle 0x0016, DMI type 17, 27 bytes
|
||||||
|
# but NOT deleting them, in case the dmidecode data is missing empty lines which will be
|
||||||
|
# used to separate results. Then we remove the doubled empty lines to keep it clean and
|
||||||
|
# strip out all the stuff we don't want to see in the results.
|
||||||
|
DMIDECODE_DATA="$( $dmidecodePath 2>/dev/null \
|
||||||
|
| gawk -F ':' '
|
||||||
|
BEGIN {
|
||||||
|
IGNORECASE=1
|
||||||
|
cutExtraTab="false"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if ( $2 != "" ) {
|
||||||
|
twoHolder="true"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
twoHolder="false"
|
||||||
|
}
|
||||||
|
if ( $0 ~ /^\tDMI type/ ) {
|
||||||
|
sub(/^\tDMI type.*/, "", $0)
|
||||||
|
cutExtraTab="true"
|
||||||
|
}
|
||||||
|
gsub(/'"$BAN_LIST_NORMAL"'/, "", $2)
|
||||||
|
gsub(/,/, " ", $0)
|
||||||
|
# clean out Handle line
|
||||||
|
sub(/^Handle.*/,"", $0)
|
||||||
|
sub(/^[[:space:]]*Inactive.*/,"",$0)
|
||||||
|
# yes, there is a typo in a user data set, unknow
|
||||||
|
# Base Board Version|Base Board Serial Number
|
||||||
|
# Chassis Manufacturer|Chassis Version|Chassis Serial Number
|
||||||
|
# System manufacturer|System Product Name|System Version
|
||||||
|
# To Be Filled By O.E.M.
|
||||||
|
sub(/^Base Board .*|^Chassis .*|.*O\.E\.M\..*|.*OEM.*|^Not .*|^System .*|.*unknow.*|.*N\/A.*|none|^To be filled.*/, "", $2)
|
||||||
|
gsub(/bios|acpi/, "", $2)
|
||||||
|
sub(/http:\/\/www.abit.com.tw\//, "Abit", $2)
|
||||||
|
|
||||||
|
# for double indented values replace with ~ so later can test for it, we are trusting that
|
||||||
|
# indentation will be tabbed in this case
|
||||||
|
# special case, dmidecode 2.2 has an extra tab and a DMI type line
|
||||||
|
if ( cutExtraTab == "true" ) {
|
||||||
|
sub(/^\t\t\t+/, "~", $1)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sub(/^\t\t+/, "~", $1)
|
||||||
|
}
|
||||||
|
|
||||||
|
gsub(/^[[:space:]]+|[[:space:]]+$/, "", $2)
|
||||||
|
gsub(/^[[:space:]]+|[[:space:]]+$/, "", $1)
|
||||||
|
gsub(/ [ \t]+/, " ", $2)
|
||||||
|
# reconstructing the line for processing so gawk can use -F : again
|
||||||
|
if ( $1 != "" && twoHolder == "true" ) {
|
||||||
|
print $1 ":" $2
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print $0
|
||||||
|
}
|
||||||
|
}' \
|
||||||
|
| sed '/^$/{
|
||||||
|
N
|
||||||
|
/^\n$/D
|
||||||
|
}' \
|
||||||
|
)"
|
||||||
|
fi
|
||||||
|
B_DMIDECODE_SET='true'
|
||||||
|
log_function_data "DMIDECODE_DATA: $DMIDECODE_DATA"
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval $LOGFE
|
||||||
|
}
|
||||||
|
# get_dmidecode_data;echo "$DMIDECODE_DATA";exit
|
||||||
get_gcc_kernel_version()
|
get_gcc_kernel_version()
|
||||||
{
|
{
|
||||||
# note that we use gawk to get the last part because beta, alpha, git versions can be non-numeric
|
# note that we use gawk to get the last part because beta, alpha, git versions can be non-numeric
|
||||||
|
@ -4010,7 +4168,7 @@ get_gcc_system_version()
|
||||||
}'
|
}'
|
||||||
)
|
)
|
||||||
|
|
||||||
# can't use xargs -l basename because not all systems support thats
|
# can't use xargs -L basename because not all systems support thats
|
||||||
if [[ $B_EXTRA_EXTRA_DATA == 'true' ]];then
|
if [[ $B_EXTRA_EXTRA_DATA == 'true' ]];then
|
||||||
gcc_others=$( ls /usr/bin/gcc-* 2>/dev/null )
|
gcc_others=$( ls /usr/bin/gcc-* 2>/dev/null )
|
||||||
if [[ -n $gcc_others ]];then
|
if [[ -n $gcc_others ]];then
|
||||||
|
@ -4337,9 +4495,21 @@ get_graphics_res_data()
|
||||||
}' <<< "$xdpy_data" )
|
}' <<< "$xdpy_data" )
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
if [[ $B_PROC_DIR == 'true' ]];then
|
||||||
screen_resolution=$( stty -F $( readlink /proc/$PPID/fd/0 ) size | gawk '{
|
screen_resolution=$( stty -F $( readlink /proc/$PPID/fd/0 ) size | gawk '{
|
||||||
print $2"x"$1
|
print $2"x"$1
|
||||||
}' )
|
}' )
|
||||||
|
# note: this works fine for all systems but keeping the above for now since
|
||||||
|
# the above is probably more accurate for linux systems.
|
||||||
|
else
|
||||||
|
screen_resolution=$( stty -a | gawk -F ';' '
|
||||||
|
/^speed/ {
|
||||||
|
gsub(/[[:space:]]*(rows|columns)[[:space:]]*/,"",$0)
|
||||||
|
gsub(/[[:space:]]*/,"",$2)
|
||||||
|
gsub(/[[:space:]]*/,"",$3)
|
||||||
|
print $3"x"$2
|
||||||
|
}' )
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo "$screen_resolution"
|
echo "$screen_resolution"
|
||||||
log_function_data "screen_resolution: $screen_resolution"
|
log_function_data "screen_resolution: $screen_resolution"
|
||||||
|
@ -4741,11 +4911,15 @@ get_hdd_temp_data()
|
||||||
get_lspci_data()
|
get_lspci_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local lspci_data="$( lspci -$1 | gawk '{
|
local lspci_data=''
|
||||||
|
|
||||||
|
if [[ $B_LSPCI == 'true' ]];then
|
||||||
|
lspci_data="$( lspci -$1 | gawk '{
|
||||||
gsub(/\(prog-if[^)]*\)/,"")
|
gsub(/\(prog-if[^)]*\)/,"")
|
||||||
sub(/^0000:/, "", $0) # seen case where the 0000: is prepended, rare, but happens
|
sub(/^0000:/, "", $0) # seen case where the 0000: is prepended, rare, but happens
|
||||||
print
|
print
|
||||||
}' )"
|
}' )"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "$lspci_data"
|
echo "$lspci_data"
|
||||||
log_function_data 'raw' "lspci_data $1:\n$lspci_data"
|
log_function_data 'raw' "lspci_data $1:\n$lspci_data"
|
||||||
|
@ -4824,11 +4998,13 @@ get_machine_data()
|
||||||
separator=','
|
separator=','
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
if [[ -n $( type -p dmidecode 2>/dev/null ) && -n $( dmidecode 2>/dev/null ) ]];then
|
get_dmidecode_data
|
||||||
|
if [[ -n $DMIDECODE_DATA ]];then
|
||||||
if [[ $B_ROOT == 'true' ]];then
|
if [[ $B_ROOT == 'true' ]];then
|
||||||
# this handles very old systems, like Lenny 2.6.26, with dmidecode, but no data
|
# this handles very old systems, like Lenny 2.6.26, with dmidecode, but no data
|
||||||
if [[ -z $( dmidecode 2>/dev/null | grep -i 'no smbios or dmi' ) ]];then
|
if [[ -n $( grep -i 'no smbios or dmi' <<< "$DMIDECODE_DATA" ) ]];then
|
||||||
array_string='dmidecode-no-smbios-dmi-data'
|
array_string='dmidecode-no-smbios-dmi-data'
|
||||||
|
# please note: only dmidecode version 2.11 or newer supports consistently the -s flag
|
||||||
else
|
else
|
||||||
for dmi_name in $dmi_names
|
for dmi_name in $dmi_names
|
||||||
do
|
do
|
||||||
|
@ -4866,6 +5042,7 @@ get_machine_data()
|
||||||
A_MACHINE_DATA=( $array_string )
|
A_MACHINE_DATA=( $array_string )
|
||||||
IFS="$ORIGINAL_IFS"
|
IFS="$ORIGINAL_IFS"
|
||||||
temp_array=${A_MACHINE_DATA[@]}
|
temp_array=${A_MACHINE_DATA[@]}
|
||||||
|
# echo ${temp_array[@]}
|
||||||
log_function_data "A_MACHINE_DATA: $temp_array"
|
log_function_data "A_MACHINE_DATA: $temp_array"
|
||||||
eval $LOGFE
|
eval $LOGFE
|
||||||
}
|
}
|
||||||
|
@ -4874,7 +5051,7 @@ get_machine_data()
|
||||||
get_memory_data()
|
get_memory_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local memory=''
|
local memory='' memory_full=''
|
||||||
if [[ $B_MEMINFO_FILE == 'true' ]];then
|
if [[ $B_MEMINFO_FILE == 'true' ]];then
|
||||||
memory=$( gawk '
|
memory=$( gawk '
|
||||||
/^MemTotal:/ {
|
/^MemTotal:/ {
|
||||||
|
@ -4888,6 +5065,20 @@ get_memory_data()
|
||||||
printf("%.1f/%.1fMB\n", used/1024, tot/1024)
|
printf("%.1f/%.1fMB\n", used/1024, tot/1024)
|
||||||
}' $FILE_MEMINFO )
|
}' $FILE_MEMINFO )
|
||||||
log_function_data 'cat' "$FILE_MEMINFO"
|
log_function_data 'cat' "$FILE_MEMINFO"
|
||||||
|
elif [[ $B_SYSCTL == 'true' && -n $Sysctl_a_Data ]];then
|
||||||
|
memory=$( grep -i 'memory' <<< "$Sysctl_a_Data" | gawk '
|
||||||
|
/^Real Memory:/ {
|
||||||
|
gsub(/[^0-9]/,"",$4)
|
||||||
|
tot = $4
|
||||||
|
}
|
||||||
|
/^Free Memory:/ {
|
||||||
|
gsub(/[^0-9]/,"",$3)
|
||||||
|
notused = $3
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
used = tot - notused
|
||||||
|
printf("%.1f/%.1fMB\n", used/1024, tot/1024)
|
||||||
|
}' )
|
||||||
fi
|
fi
|
||||||
echo "$memory"
|
echo "$memory"
|
||||||
log_function_data "memory: $memory"
|
log_function_data "memory: $memory"
|
||||||
|
@ -5352,8 +5543,8 @@ get_optical_drive_data()
|
||||||
local separator='' linked='' disk='' item_string='' proc_info_string=''
|
local separator='' linked='' disk='' item_string='' proc_info_string=''
|
||||||
local dev_disks_links="$( ls /dev/dvd* /dev/cd* /dev/scd* 2>/dev/null )"
|
local dev_disks_links="$( ls /dev/dvd* /dev/cd* /dev/scd* 2>/dev/null )"
|
||||||
# get the actual disk dev location, first try default which is easier to run, need to preserve line breaks
|
# get the actual disk dev location, first try default which is easier to run, need to preserve line breaks
|
||||||
local dev_disks_real="$( echo "$dev_disks_links" | xargs -l readlink 2>/dev/null | sort -u )"
|
local dev_disks_real="$( echo "$dev_disks_links" | xargs -L 1 readlink 2>/dev/null | sort -u )"
|
||||||
# Some systems don't support xargs -l so we need to do it manually
|
# Some systems don't support xargs -L so we need to do it manually
|
||||||
if [[ -z $dev_disks_real ]];then
|
if [[ -z $dev_disks_real ]];then
|
||||||
for linked in $dev_disks_links
|
for linked in $dev_disks_links
|
||||||
do
|
do
|
||||||
|
@ -5888,18 +6079,28 @@ get_patch_version_string()
|
||||||
get_ps_data()
|
get_ps_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local array_length='' reorder_temp='' i=0 head_tail='' sort_type=''
|
local array_length='' reorder_temp='' i=0 head_tail='' sort_type='' ps_data=''
|
||||||
|
|
||||||
# bummer, have to make it more complex here because of reverse sort
|
# bummer, have to make it more complex here because of reverse sort
|
||||||
# orders in output, pesky lack of support of +rss in old systems
|
# orders in output, pesky lack of support of +rss in old systems
|
||||||
case $1 in
|
case $1 in
|
||||||
mem)
|
mem)
|
||||||
|
if [[ $B_BSD != 'true' ]];then
|
||||||
|
sort_type='ps aux --sort -rss'
|
||||||
head_tail='head'
|
head_tail='head'
|
||||||
sort_type='-rss'
|
else
|
||||||
|
sort_type='ps aux -m'
|
||||||
|
head_tail='head'
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
cpu)
|
cpu)
|
||||||
|
if [[ $B_BSD != 'true' ]];then
|
||||||
|
sort_type='ps aux --sort %cpu'
|
||||||
head_tail='tail'
|
head_tail='tail'
|
||||||
sort_type='%cpu'
|
else
|
||||||
|
sort_type='ps aux -r'
|
||||||
|
head_tail='head'
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -5908,10 +6109,12 @@ get_ps_data()
|
||||||
PS_THROTTLED=$PS_COUNT
|
PS_THROTTLED=$PS_COUNT
|
||||||
PS_COUNT=5
|
PS_COUNT=5
|
||||||
fi
|
fi
|
||||||
|
# use eval here to avoid glitches with -
|
||||||
|
ps_data="$( eval $sort_type )"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
# note that inxi can use a lot of cpu, and can actually show up here as the script runs
|
# note that inxi can use a lot of cpu, and can actually show up here as the script runs
|
||||||
A_PS_DATA=( $( ps aux --sort $sort_type | grep -Ev "($SCRIPT_NAME|%CPU|[[:space:]]ps[[:space:]])" | $head_tail -n $PS_COUNT | gawk '
|
A_PS_DATA=( $( echo "$ps_data" | grep -Ev "($SCRIPT_NAME|%CPU|[[:space:]]ps[[:space:]])" | $head_tail -n $PS_COUNT | gawk '
|
||||||
BEGIN {
|
BEGIN {
|
||||||
IGNORECASE=1
|
IGNORECASE=1
|
||||||
appName=""
|
appName=""
|
||||||
|
@ -5948,7 +6151,7 @@ get_ps_data()
|
||||||
# make the array ordered highest to lowest so output looks the way we expect it to
|
# make the array ordered highest to lowest so output looks the way we expect it to
|
||||||
# this isn't necessary for -rss, and we can't make %cpu ordered the other way, so
|
# this isn't necessary for -rss, and we can't make %cpu ordered the other way, so
|
||||||
# need to reverse it here. -rss is used because on older systems +rss is not supported
|
# need to reverse it here. -rss is used because on older systems +rss is not supported
|
||||||
if [[ $1 == 'cpu' ]];then
|
if [[ $1 == 'cpu' && $B_BSD != 'true' ]];then
|
||||||
array_length=${#A_PS_DATA[@]};
|
array_length=${#A_PS_DATA[@]};
|
||||||
while (( $i < $array_length/2 ))
|
while (( $i < $array_length/2 ))
|
||||||
do
|
do
|
||||||
|
@ -5974,7 +6177,7 @@ get_raid_data()
|
||||||
|
|
||||||
local mdstat=''
|
local mdstat=''
|
||||||
|
|
||||||
if [[ $B_MDSTAT_FILE ]];then
|
if [[ $B_MDSTAT_FILE == 'true' ]];then
|
||||||
mdstat="$( cat $FILE_MDSTAT 2>/dev/null )"
|
mdstat="$( cat $FILE_MDSTAT 2>/dev/null )"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -6696,6 +6899,52 @@ get_shell_parent()
|
||||||
eval $LOGFE
|
eval $LOGFE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# this will be used for some bsd data types
|
||||||
|
# args: $1 - option type
|
||||||
|
get_sysctl_data()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
|
||||||
|
local sysctl_data=''
|
||||||
|
|
||||||
|
if [[ $B_SYSCTL ]];then
|
||||||
|
sysctl_data="$( sysctl -$1 )"
|
||||||
|
fi
|
||||||
|
log_function_data "sysctl_data: $sysctl_data"
|
||||||
|
echo "$sysctl_data"
|
||||||
|
eval $LOGFE
|
||||||
|
}
|
||||||
|
|
||||||
|
get_tty_console_irc()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
local tty_number=''
|
||||||
|
if [[ -n ${IRC_CLIENT} ]];then
|
||||||
|
tty_number=$( ps aux | gawk '
|
||||||
|
BEGIN {
|
||||||
|
IGNORECASE=1
|
||||||
|
}
|
||||||
|
/'${IRC_CLIENT}'/ {
|
||||||
|
gsub(/[^0-9]/, "", $7)
|
||||||
|
print $7
|
||||||
|
}' )
|
||||||
|
fi
|
||||||
|
log_function_data "tty_number: $tty_number"
|
||||||
|
echo $tty_number
|
||||||
|
eval $LOGFE
|
||||||
|
}
|
||||||
|
|
||||||
|
get_tty_number()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
|
||||||
|
local tty_number=$( basename "$( tty 2>/dev/null )" | sed 's/[^0-9]*//g' )
|
||||||
|
|
||||||
|
echo $tty_number
|
||||||
|
|
||||||
|
eval $LOGFE
|
||||||
|
}
|
||||||
|
|
||||||
get_unmounted_partition_data()
|
get_unmounted_partition_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
@ -6838,7 +7087,7 @@ calculate_multicore_data()
|
||||||
print total
|
print total
|
||||||
}' )
|
}' )
|
||||||
elif [[ $string_number == '' ]];then
|
elif [[ $string_number == '' ]];then
|
||||||
string_number='Not Available'
|
string_number='N/A'
|
||||||
else
|
else
|
||||||
# I believe that the above returns 'unknown' by default so no need for extra text
|
# I believe that the above returns 'unknown' by default so no need for extra text
|
||||||
string_number="$string_number "
|
string_number="$string_number "
|
||||||
|
@ -6914,6 +7163,11 @@ print_it_out()
|
||||||
# note that print_it_out passes local variable values on to its children,
|
# note that print_it_out passes local variable values on to its children,
|
||||||
# and in some cases, their children, with Lspci_v_Data
|
# and in some cases, their children, with Lspci_v_Data
|
||||||
local Lspci_v_Data='' Lspci_n_Data='' # only for verbose
|
local Lspci_v_Data='' Lspci_n_Data='' # only for verbose
|
||||||
|
local Sysctl_a_Data=''
|
||||||
|
|
||||||
|
if [[ $B_BSD == 'true' ]];then
|
||||||
|
Sysctl_a_Data="$( get_sysctl_data 'a' )"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $B_SHOW_SHORT_OUTPUT == 'true' ]];then
|
if [[ $B_SHOW_SHORT_OUTPUT == 'true' ]];then
|
||||||
print_short_data
|
print_short_data
|
||||||
|
@ -7025,7 +7279,7 @@ print_short_data()
|
||||||
# look for that and use the speed from the first array array, same where we got
|
# look for that and use the speed from the first array array, same where we got
|
||||||
# model from
|
# model from
|
||||||
if [[ "$min_max_clock" == 'N/A' && ${a_cpu_working[1]} != '' ]];then
|
if [[ "$min_max_clock" == 'N/A' && ${a_cpu_working[1]} != '' ]];then
|
||||||
min_max_clock="${a_cpu_working[1]}"
|
min_max_clock="${a_cpu_working[1]} MHz"
|
||||||
fi
|
fi
|
||||||
local script_patch_number=$( get_patch_version_string )
|
local script_patch_number=$( get_patch_version_string )
|
||||||
|
|
||||||
|
@ -7650,7 +7904,7 @@ print_info_data()
|
||||||
if [[ $B_EXTRA_EXTRA_DATA == 'true' ]];then
|
if [[ $B_EXTRA_EXTRA_DATA == 'true' ]];then
|
||||||
shell_parent=$( get_shell_parent )
|
shell_parent=$( get_shell_parent )
|
||||||
if [[ $B_RUNNING_IN_X != 'true' ]];then
|
if [[ $B_RUNNING_IN_X != 'true' ]];then
|
||||||
shell_parent=$( basename "$( tty 2>/dev/null )" | sed 's/[^0-9]*//g' )
|
shell_parent=$( get_tty_number )
|
||||||
shell_parent="tty $shell_parent"
|
shell_parent="tty $shell_parent"
|
||||||
fi
|
fi
|
||||||
if [[ $shell_parent == 'login' ]];then
|
if [[ $shell_parent == 'login' ]];then
|
||||||
|
@ -7968,6 +8222,10 @@ print_networking_data()
|
||||||
print_network_advanced_data
|
print_network_advanced_data
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
else
|
||||||
|
network_data="${C1}Card:${C2} Failed to Detect Network Card! "
|
||||||
|
network_data=$( create_print_line "$line_starter" "$network_data" )
|
||||||
|
print_screen_output "$network_data"
|
||||||
fi
|
fi
|
||||||
if [[ $B_SHOW_IP == 'true' ]];then
|
if [[ $B_SHOW_IP == 'true' ]];then
|
||||||
print_networking_ip_data
|
print_networking_ip_data
|
||||||
|
@ -8935,7 +9193,7 @@ print_system_data()
|
||||||
local host_name=$HOSTNAME
|
local host_name=$HOSTNAME
|
||||||
local current_kernel=$( uname -rm ) # | gawk '{print $1,$3,$(NF-1)}' )
|
local current_kernel=$( uname -rm ) # | gawk '{print $1,$3,$(NF-1)}' )
|
||||||
local distro="$( get_distro_data )"
|
local distro="$( get_distro_data )"
|
||||||
local tty_session=$( basename "$( tty 2>/dev/null )" | sed 's/[^0-9]*//g' )
|
local tty_session=''
|
||||||
|
|
||||||
# I think these will work, maybe, if logged in as root and in X
|
# I think these will work, maybe, if logged in as root and in X
|
||||||
if [[ $B_RUNNING_IN_X == 'true' ]];then
|
if [[ $B_RUNNING_IN_X == 'true' ]];then
|
||||||
|
@ -8951,8 +9209,9 @@ print_system_data()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
tty_session=$( get_tty_number )
|
||||||
if [[ -z $tty_session && $B_CONSOLE_IRC == 'true' ]];then
|
if [[ -z $tty_session && $B_CONSOLE_IRC == 'true' ]];then
|
||||||
tty_session=$( get_console_irc_tty )
|
tty_session=$( get_tty_console_irc )
|
||||||
fi
|
fi
|
||||||
if [[ -n $tty_session ]];then
|
if [[ -n $tty_session ]];then
|
||||||
tty_session=" $tty_session"
|
tty_session=" $tty_session"
|
||||||
|
@ -8983,7 +9242,7 @@ print_system_data()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# check for 64 bit first
|
# check for 64 bit first
|
||||||
if [[ -n $( uname -m | grep -o 'x86_64' ) ]];then
|
if [[ -n $( uname -m | grep -E '(x86_64|amd64)' ) ]];then
|
||||||
bits="64"
|
bits="64"
|
||||||
else
|
else
|
||||||
bits="32"
|
bits="32"
|
||||||
|
|
|
@ -1,3 +1,32 @@
|
||||||
|
=====================================================================================
|
||||||
|
Version: 1.8.35
|
||||||
|
Patch Version: 00
|
||||||
|
Script Date: February 7 2013
|
||||||
|
-----------------------------------
|
||||||
|
Changes:
|
||||||
|
-----------------------------------
|
||||||
|
New version, new tarball. Note, this is a refactor release only, and features the core bsd
|
||||||
|
support built in, although inxi will not run in bsd unless the top: #!/bin/bash is changed
|
||||||
|
to #!/usr/local/bin/bash
|
||||||
|
|
||||||
|
The actual bsd branch can be grabbed from:
|
||||||
|
http://inxi.googlecode.com/svn/branches/bsd/inxi
|
||||||
|
then you can keep that version updated using: inxi -! 15
|
||||||
|
which will grab the latest bsd version from the svn server.
|
||||||
|
|
||||||
|
This release also fixes a lot of small bugs that testing for bsd support exposed, but functionally
|
||||||
|
most people should see no difference, I just want to get this version up because there are
|
||||||
|
so many small changes that it's worth having a release.
|
||||||
|
|
||||||
|
I was going to have the fixed dmidecode for old systems in 1.8.35 but that will have to wait til
|
||||||
|
1.8.36
|
||||||
|
|
||||||
|
Linux users should see no real changes, except maybe a thing or two will work in certain circumstances
|
||||||
|
when it didn't before, like showing MHz on ARM cpus on short inxi.
|
||||||
|
|
||||||
|
-----------------------------------
|
||||||
|
-- Harald Hope - Thu, 07 Feb 2013 19:56:19 -0800
|
||||||
|
|
||||||
=====================================================================================
|
=====================================================================================
|
||||||
Version: 1.8.34
|
Version: 1.8.34
|
||||||
Patch Version: 00
|
Patch Version: 00
|
||||||
|
|
Loading…
Reference in a new issue