Minor changes

This commit is contained in:
Loïc Guégan 2024-07-05 20:07:11 +02:00
parent c7e01eded2
commit 1fb07e18e9

View file

@ -20,6 +20,10 @@ safecmdroot() {
[ $(id -u) -eq 0 ] && safecmd $@
}
safegetentry() {
[[ ${DUMP_ENTRIES} =~ $1 ]] && cat "${DUMP_FILE}"|jq -r ".[\"${1}\"]"|base64 -d
}
dump() {
[ -z "$2" ] && return
entry=$1
@ -191,35 +195,38 @@ fi
if [ "$ACTION" == "summarize" ]
then
ensure jq
file=$1
OS_RELEASE=$(cat "$file"|jq -r '.["/etc/os-release"]'|base64 -d)
CPU_INFO=$(cat "$file"|jq -r '.["/proc/cpuinfo"]'|base64 -d)
MEM_INFO=$(cat "$file"|jq -r '.["/proc/meminfo"]'|base64 -d)
PING_SUCCESS_COUNT=$(cat "$file"|jq -r '.["ping"]'|base64 -d|grep "packet loss"|cut -d, -f 2|awk '{print $1+0}')
IPADDR=$(cat "$file"|jq -r '.["ipaddr"]'|base64 -d)
INFO_DISKS=$(cat "$file"|jq -r '.["df"]'|base64 -d)
KERNEL_CONFIG=$(cat "$file"|jq -r '.["kernel_config"]'|base64 -d)
# Setup safegetentry
DUMP_FILE=$1
DUMP_ENTRIES=$(cat "${DUMP_FILE}"|jq -r "keys[]";)
OS_RELEASE=$(safegetentry /etc/os-release)
CPU_INFO=$(safegetentry /proc/cpuinfo)
MEM_INFO=$(safegetentry /proc/meminfo)
PING_SUCCESS_COUNT=$(safegetentry ping|grep "packet loss"|cut -d, -f 2|awk '{print $1+0}')
IPADDR=$(safegetentry ipaddr)
INFO_DISKS=$(safegetentry df)
KERNEL_CONFIG=$(safegetentry kernel_config)
# Extract infos
INFO_OS_NAME=$(echo "$OS_RELEASE"|grep "^NAME=" | cut -d'"' -f 2)
INFO_OS_VERSION=$(echo "$OS_RELEASE"|grep "^VERSION=" | cut -d'"' -f 2)
INFO_HOSTNAME=$(cat "$file"|jq -r '.["hostname"]'|base64 -d)
INFO_HOSTNAME=$(safegetentry hostname)
INFO_CPU_MODEL=$(echo "$CPU_INFO"|grep "model name" | cut -d':' -f 2|uniq|awk '{$1=$1};1')
INFO_CPU_CORE_N_PHY=$(echo "$CPU_INFO"|grep ^cpu\\scores /proc/cpuinfo | uniq | awk '{print $4}')
INFO_CPU_CORE_N_VIRT=$(echo "$CPU_INFO"|grep -c ^processor /proc/cpuinfo)
[ "$INFO_CPU_CORE_N_PHY" -eq "$INFO_CPU_CORE_N_VIRT" ] && INFO_CPU_HYPERTHREADING="off" || INFO_CPU_HYPERTHREADING="on"
[ $PING_SUCCESS_COUNT -gt 0 ] && INFO_OTHER_NETWORK="on" || INFO_OTHER_NETWORK="off"
[ $PING_SUCCESS_COUNT -gt 0 ] && INFO_OTHER_NETWORK="available" || INFO_OTHER_NETWORK="unreachable"
INFO_INET4=$(echo "$IPADDR"|awk '/inet /{printf $2", "}'| sed 's/..$//')
INFO_INET6=$(echo "$IPADDR"|awk '/inet6 /{printf $2", "}'| sed 's/..$//')
INFO_MEM_TOTAL=$(echo "$MEM_INFO"|awk '/MemTotal/{print $2/1000" MB"}')
INFO_MEM_FREE=$(echo "$MEM_INFO"|awk '/MemFree/{print $2/1000" MB"}')
INFO_MEM_SWAP_TOTAL=$(echo "$MEM_INFO"|awk '/SwapTotal/{print $2/1000" MB"}')
INFO_MEM_SWAP_FREE=$(echo "$MEM_INFO"|awk '/SwapFree/{print $2/1000" MB"}')
INFO_UPTIME=$(cat "$file"|jq -r '.["uptime"]'|base64 -d|cut -d, -f 1|awk '{$1=$1};1')
INFO_DUMP_DATE=$(cat "$file"|jq -r '.["date"]'|base64 -d) && INFO_DUMP_DATE=$(date -d "@${INFO_DUMP_DATE}")
INFO_DUMP_USER=$(cat "$file"|jq -r '.["env"]'|base64 -d|grep "^USER="|cut -d= -f2)
INFO_TIMEZONE=$(cat "$file"|jq -r '.["/etc/timezone"]'|base64 -d)
INFO_KERNEL=$(cat "$file"|jq -r '.["/proc/version"]'|base64 -d|awk '/ version /{print $1" v"$3}')
INFO_UPTIME=$(safegetentry uptime|cut -d, -f 1|awk '{$1=$1};1')
INFO_DUMP_DATE=$(safegetentry date) && INFO_DUMP_DATE=$(date -d "@${INFO_DUMP_DATE}")
INFO_DUMP_USER=$(safegetentry env|grep "^USER="|cut -d= -f2)
INFO_TIMEZONE=$(safegetentry /etc/timezone)
INFO_KERNEL=$(safegetentry /proc/version|awk '/ version /{print $1" v"$3}')
INFO_KERNEL_RAPL=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_INTEL_RAPL=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}')
INFO_KERNEL_KVM=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_KVM=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}')
INFO_KERNEL_I2C=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_I2C=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}')
@ -258,7 +265,7 @@ then
echo "Dump User: ${INFO_DUMP_USER}"
echo "Dump Date: ${INFO_DUMP_DATE}"
echo "Timezone: ${INFO_TIMEZONE}"
echo "Network State: ${INFO_OTHER_NETWORK}"
echo "Internet: ${INFO_OTHER_NETWORK}"
echo "IPv4: ${INFO_INET4}"
echo "IPv6: ${INFO_INET6}"
fi