One-KVM/pikvm-info
2024-06-18 18:29:24 +08:00

52 lines
1.9 KiB
Bash

#!/bin/bash
# Put this file into /usr/local/bin then you can run pikvm-info anywhere while logged in to Pi-KVM terminal/ssh
#
uptime
NAME=$( egrep ^NAME= /etc/os-release | cut -d'"' -f2 )
echo "Host OS: $NAME `uname -r` `uname -m`"
# pistat is built-in to pi-kvm (/usr/local/bin)
pistat && echo
printf "%-32s\t%s\n" "Version" "Package-Name" "---------------------------------" "-----------------------------"
get-packages() {
if [[ $( echo $NAME | cut -d' ' -f1 ) == "Arch" ]]; then
if [ ! -e $TMPFILE ]; then
pacman -Q | awk '{print $2, $1}' > $TMPFILE
fi
else
KVMDPLAT=$( grep kvmd-platform /var/cache/kvmd/installed_ver.txt | awk '{print $4}' | awk -F\/ '{print $NF}' | tail -1 )
if [[ "$KVMDPLAT" != "" ]]; then
KVMDVER=$( echo $KVMDPLAT | cut -d'-' -f6 )
PLATFORM=$( echo $KVMDPLAT | cut -d'-' -f1,2,3,4,5 )
printf "%-32s\t%s\n" $KVMDVER $PLATFORM
fi
USTREAMVER=$( /usr/bin/ustreamer -v )
printf "%-32s\t%s\n" $USTREAMVER "ustreamer"
#JANUSVER=$( /usr/bin/janus -V | tail -1 | awk '{print $NF}' )
JANUSVER=$( /usr/bin/janus -V | egrep 'version|janus' | awk '{print $NF}' | sed -e 's|(||g' -e 's|)||g' )
printf "%-32s\t%s\n" $JANUSVER "janus"
TTYDVER=$( ttyd -v | awk '{print $NF}' )
printf "%-32s\t%s\n" $TTYDVER "ttyd"
if [ ! -e $TMPFILE ]; then
apt list 2> /dev/null | egrep 'upgradable|installed' | grep -v ^$ | awk '{print $2, $1}' > $TMPFILE
fi
fi
} # end get-packages
TMPFILE="/tmp/pacmanquery"
get-packages
PACKAGES="janus pikvm kvmd ustreamer nginx wpa wireless python3/stable python$ firmware raspberrypi tailscale"
for PKG in $( echo $PACKAGES ); do
if [ $(grep -w $PKG $TMPFILE | wc -l) -gt 0 ]; then
printf "%-32s\t%s\n" $(grep -w $PKG $TMPFILE | sed 's/-[1-9]+//g' | awk -F\/ '{print $1}' )
fi
done | sort -u | sort -k2