--- ver_linux.txt Fri Feb 15 02:33:08 2002 +++ ver_linux.new Fri Feb 15 03:20:54 2002 @@ -6,7 +6,7 @@ # PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH cat </dev/null -echo ' ' +echo function pv { + oldIFS=$IFS IFS='' title="$1" ver="$2" @@ -30,27 +31,38 @@ if [ "x$ver" == "x" -a "x$ev" != "x" ]; then eexists="$($ev --junkoption >/dev/null 2>&1 || echo $?)" if [ $eexists -eq 127 ]; then + IFS=$oldIFS return else ver="error getting version, try manually" fi else if [ "x$ver" == "x" ]; then + IFS=$oldIFS return fi fi printf "%-34s%s\n" $title $ver + IFS=$oldIFS } function truth { - if [ "$@" == "0" ]; then + if [ "$1" == "0" ]; then echo "disabled"; else echo "enabled" fi } +function yesno { + if [ "$1" == "0" ]; then + echo "no"; + else + echo "yes" + fi +} + pv "Gnu C compiler" "$(gcc --version 2>/dev/null)" gcc pv "Kgcc compiler" "$(kgcc --version 2>/dev/null)" kgcc @@ -79,7 +91,7 @@ awk '/^tune2fs/ {print $2}'|sed 's/,//')" tune2fs if [ $(grep -c reiserfs /proc/filesystems 2>/dev/null) -ne 0 ]; then -pv "reiserfsprogs" \ + pv "reiserfsprogs" \ "$(reiserfsck 2>&1 | awk '/^reiserfsprogs/ {print $NF}')" reiserfsck fi @@ -91,12 +103,12 @@ fi if [ $(grep -c ppp /proc/devices 2>/dev/null) -ne 0 ]; then -pv "pppd" \ + pv "pppd" \ "$(pppd --version 2>&1 | awk '/^pppd version/ {print $3}')" pppd fi -echo "help me please, is this check for isdnlegitimate?" +echo "help me please, is this check for isdn legitimate?" if [ $(grep -c isdn /proc/devices 2>/dev/null) -ne 0 ]; then pv "isdn4k-utils" \ "$(isdnctrl 2>&1 | @@ -144,17 +156,22 @@ awk '/sh-utils/ {print $4}')" if [ -e /proc/modules ]; then - declare -i count - count=$(grep -c "^" /proc/modules) - if [ $count -gt 0 ]; then - modules="$(sed -e 's/ .*$//;s/\(.*\)/[\1]/' /proc/modules)" - pv "loaded modules" "$modules" - fi + while read a rest; do + modules="$modules [$a]" + done < /proc/modules + pv "loaded modules" "$(echo $modules)" fi echo # kernel tuning options -if [ -e /proc/sys/net/ipv4/tcp_ecn ]; then - v=$(cat /proc/sys/net/ipv4/tcp_ecn) - pv "TCP option: ECN" "$(truth v)" +TCP_ECN="/proc/sys/net/ipv4/tcp_ecn" +if [ -e ${TCP_ECN} ]; then + v=$(< ${TCP_ECN}) + pv "TCP option: ECN" "$(truth $v)" +fi +# kernel module taint information +LKM_TAINT="/proc/sys/kernel/tainted" +if [ -e ${LKM_TAINT} ]; then + v=$(< ${LKM_TAINT}) + pv "modules tainted:" "$(yesno $v)" fi