1*53ee8cc1Swenshuai.xi#!/bin/sh 2*53ee8cc1Swenshuai.xi# Before running this script please ensure that your PATH is 3*53ee8cc1Swenshuai.xi# typical as you use for compilation/istallation. I use 4*53ee8cc1Swenshuai.xi# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may 5*53ee8cc1Swenshuai.xi# differ on your system. 6*53ee8cc1Swenshuai.xi# 7*53ee8cc1Swenshuai.xiecho 'If some fields are empty or look unusual you may have an old version.' 8*53ee8cc1Swenshuai.xiecho 'Compare to the current minimal requirements in Documentation/Changes.' 9*53ee8cc1Swenshuai.xiecho ' ' 10*53ee8cc1Swenshuai.xi 11*53ee8cc1Swenshuai.xiuname -a 12*53ee8cc1Swenshuai.xiecho ' ' 13*53ee8cc1Swenshuai.xi 14*53ee8cc1Swenshuai.xigcc -dumpversion 2>&1| awk \ 15*53ee8cc1Swenshuai.xi'NR==1{print "Gnu C ", $1}' 16*53ee8cc1Swenshuai.xi 17*53ee8cc1Swenshuai.ximake --version 2>&1 | awk -F, '{print $1}' | awk \ 18*53ee8cc1Swenshuai.xi '/GNU Make/{print "Gnu make ",$NF}' 19*53ee8cc1Swenshuai.xi 20*53ee8cc1Swenshuai.xiecho "binutils $(ld -v | egrep -o '[0-9]+\.[0-9\.]+')" 21*53ee8cc1Swenshuai.xi 22*53ee8cc1Swenshuai.xiecho -n "util-linux " 23*53ee8cc1Swenshuai.xifdformat --version | awk '{print $NF}' | sed -e s/^util-linux-// -e s/\)$// 24*53ee8cc1Swenshuai.xi 25*53ee8cc1Swenshuai.xiecho -n "mount " 26*53ee8cc1Swenshuai.ximount --version | awk '{print $NF}' | sed -e s/^mount-// -e s/\)$// 27*53ee8cc1Swenshuai.xi 28*53ee8cc1Swenshuai.xidepmod -V 2>&1 | awk 'NR==1 {print "module-init-tools ",$NF}' 29*53ee8cc1Swenshuai.xi 30*53ee8cc1Swenshuai.xitune2fs 2>&1 | grep "^tune2fs" | sed 's/,//' | awk \ 31*53ee8cc1Swenshuai.xi'NR==1 {print "e2fsprogs ", $2}' 32*53ee8cc1Swenshuai.xi 33*53ee8cc1Swenshuai.xifsck.jfs -V 2>&1 | grep version | sed 's/,//' | awk \ 34*53ee8cc1Swenshuai.xi'NR==1 {print "jfsutils ", $3}' 35*53ee8cc1Swenshuai.xi 36*53ee8cc1Swenshuai.xireiserfsck -V 2>&1 | grep ^reiserfsck | awk \ 37*53ee8cc1Swenshuai.xi'NR==1{print "reiserfsprogs ", $2}' 38*53ee8cc1Swenshuai.xi 39*53ee8cc1Swenshuai.xifsck.reiser4 -V 2>&1 | grep ^fsck.reiser4 | awk \ 40*53ee8cc1Swenshuai.xi'NR==1{print "reiser4progs ", $2}' 41*53ee8cc1Swenshuai.xi 42*53ee8cc1Swenshuai.xixfs_db -V 2>&1 | grep version | awk \ 43*53ee8cc1Swenshuai.xi'NR==1{print "xfsprogs ", $3}' 44*53ee8cc1Swenshuai.xi 45*53ee8cc1Swenshuai.xipccardctl -V 2>&1| grep pcmciautils | awk '{print "pcmciautils ", $2}' 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xicardmgr -V 2>&1| grep version | awk \ 48*53ee8cc1Swenshuai.xi'NR==1{print "pcmcia-cs ", $3}' 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xiquota -V 2>&1 | grep version | awk \ 51*53ee8cc1Swenshuai.xi'NR==1{print "quota-tools ", $NF}' 52*53ee8cc1Swenshuai.xi 53*53ee8cc1Swenshuai.xipppd --version 2>&1| grep version | awk \ 54*53ee8cc1Swenshuai.xi'NR==1{print "PPP ", $3}' 55*53ee8cc1Swenshuai.xi 56*53ee8cc1Swenshuai.xiisdnctrl 2>&1 | grep version | awk \ 57*53ee8cc1Swenshuai.xi'NR==1{print "isdn4k-utils ", $NF}' 58*53ee8cc1Swenshuai.xi 59*53ee8cc1Swenshuai.xishowmount --version 2>&1 | grep nfs-utils | awk \ 60*53ee8cc1Swenshuai.xi'NR==1{print "nfs-utils ", $NF}' 61*53ee8cc1Swenshuai.xi 62*53ee8cc1Swenshuai.xiecho -n "Linux C Library " 63*53ee8cc1Swenshuai.xised -n -e '/^.*\/libc-\([^/]*\)\.so$/{s//\1/;p;q}' < /proc/self/maps 64*53ee8cc1Swenshuai.xi 65*53ee8cc1Swenshuai.xildd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -n 1 | awk \ 66*53ee8cc1Swenshuai.xi'NR==1{print "Dynamic linker (ldd) ", $NF}' 67*53ee8cc1Swenshuai.xi 68*53ee8cc1Swenshuai.xils -l /usr/lib/libg++.so /usr/lib/libstdc++.so 2>/dev/null | awk -F. \ 69*53ee8cc1Swenshuai.xi '{print "Linux C++ Library " $4"."$5"."$6}' 70*53ee8cc1Swenshuai.xi 71*53ee8cc1Swenshuai.xips --version 2>&1 | grep version | awk \ 72*53ee8cc1Swenshuai.xi'NR==1{print "Procps ", $NF}' 73*53ee8cc1Swenshuai.xi 74*53ee8cc1Swenshuai.xiifconfig --version 2>&1 | grep tools | awk \ 75*53ee8cc1Swenshuai.xi'NR==1{print "Net-tools ", $NF}' 76*53ee8cc1Swenshuai.xi 77*53ee8cc1Swenshuai.xi# Kbd needs 'loadkeys -h', 78*53ee8cc1Swenshuai.xiloadkeys -h 2>&1 | awk \ 79*53ee8cc1Swenshuai.xi'(NR==1 && ($3 !~ /option/)) {print "Kbd ", $3}' 80*53ee8cc1Swenshuai.xi 81*53ee8cc1Swenshuai.xi# while console-tools needs 'loadkeys -V'. 82*53ee8cc1Swenshuai.xiloadkeys -V 2>&1 | awk \ 83*53ee8cc1Swenshuai.xi'(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools ", $3}' 84*53ee8cc1Swenshuai.xi 85*53ee8cc1Swenshuai.xioprofiled --version 2>&1 | awk \ 86*53ee8cc1Swenshuai.xi'(NR==1 && ($2 == "oprofile")) {print "oprofile ", $3}' 87*53ee8cc1Swenshuai.xi 88*53ee8cc1Swenshuai.xiexpr --v 2>&1 | awk 'NR==1{print "Sh-utils ", $NF}' 89*53ee8cc1Swenshuai.xi 90*53ee8cc1Swenshuai.xiudevinfo -V 2>&1 | grep version | awk '{print "udev ", $3}' 91*53ee8cc1Swenshuai.xi 92*53ee8cc1Swenshuai.xiiwconfig --version 2>&1 | awk \ 93*53ee8cc1Swenshuai.xi'(NR==1 && ($3 == "version")) {print "wireless-tools ",$4}' 94*53ee8cc1Swenshuai.xi 95*53ee8cc1Swenshuai.xiif [ -e /proc/modules ]; then 96*53ee8cc1Swenshuai.xi X=`cat /proc/modules | sed -e "s/ .*$//"` 97*53ee8cc1Swenshuai.xi echo "Modules Loaded "$X 98*53ee8cc1Swenshuai.xifi 99