
This patch is more of a personal preference, rather than a fix for a problem. The current implementation used a combination of both 'cat' and 'sed' to generate an unsorted list of kernel modules separated by while space. The proposed implementation uses 'sort' and 'sed' to generate a sort list of kernel modules separated by while space. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Arch Linux openSuSE 13.2 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3.9 KiB
Executable File
#!/bin/sh
Before running this script please ensure that your PATH is
typical as you use for compilation/istallation. I use
/bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
differ on your system.
echo 'If some fields are empty or look unusual you may have an old version.' echo 'Compare to the current minimal requirements in Documentation/Changes.' echo ' '
uname -a echo ' '
gcc -dumpversion 2>&1 | awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("GNU C\t\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
make --version 2>&1 | awk '/GNU Make/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("GNU Make\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
ld -v 2>&1 | awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Binutils\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
mount --version 2>&1 | awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ match($0, /[0-9]+([.]?[0-9]+)+/) $0 = substr($0,RSTART,RLENGTH) printf("Util-linux\t\t%s\nMount\t\t\t%s\n",$0,$0) }'
depmod -V 2>&1 | awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Module-init-tools\t%s\n", substr($0,RSTART,RLENGTH)) }'
tune2fs 2>&1 | awk '/^tune2fs/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("E2fsprogs\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
fsck.jfs -V 2>&1 | awk '/version/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Jfsutils\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
reiserfsck -V 2>&1 | awk '/^reiserfsck/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Reiserfsprogs\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
fsck.reiser4 -V 2>&1 | grep ^fsck.reiser4 | awk
'NR==1{print "reiser4progs ", $2}'
xfs_db -V 2>&1 | awk '/version/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Xfsprogs\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
pccardctl -V 2>&1 | awk '/pcmciautils/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Pcmciautils\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
cardmgr -V 2>&1| grep version | awk
'NR==1{print "pcmcia-cs ", $3}'
quota -V 2>&1 | awk '/version/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Quota-tools\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
pppd --version 2>&1 | awk '/version/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("PPP\t\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
isdnctrl 2>&1 | grep version | awk
'NR==1{print "isdn4k-utils ", $NF}'
showmount --version 2>&1 | grep nfs-utils | awk
'NR==1{print "nfs-utils ", $NF}'
test -r /proc/self/maps && sed ' /.libc-(.).so$/!d s//Linux C Library\t\t\1/ q ' /proc/self/maps
ldd --version 2>&1 | awk '/^ldd/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Dynamic linker (ldd)\t%s\n", substr($0,RSTART,RLENGTH)) }'
libcpp=ldconfig -p 2>/dev/null | awk '/(libg|stdc)[+]+\.so/ { print $NF exit } '
test -r "$libcpp" &&
ls -l $libcpp |
sed '
s!.*so.!!
s!^!Linux C++ Library\t!
'
ps --version 2>&1 |
awk '/version/{
match($0, /[0-9]+([.]?[0-9]+)+/)
printf("Procps\t\t\t%s\n",
substr($0,RSTART,RLENGTH))
}'
ifconfig --version 2>&1 | awk '/tools/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Net-tools\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
loadkeys -V 2>&1 | awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ match($0, /[0-9]+([.]?[0-9]+)+/) $0 = substr($0,RSTART,RLENGTH) printf("Kbd\t\t\t%s\nConsole-tools\t\t%s\n",$0,$0) }'
oprofiled --version 2>&1 | awk
'(NR==1 && ($2 == "oprofile")) {print "oprofile ", $3}'
expr --v 2>&1 | awk '/^expr/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Sh-utils\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
udevadm --version 2>&1 | awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Udev\t\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
iwconfig --version 2>&1 | awk '/version/{ match($0, /[0-9]+([.]?[0-9]+)+/) printf("Wireless-tools\t\t%s\n", substr($0,RSTART,RLENGTH)) }'
test -e /proc/modules && sort /proc/modules | sed ' s/ .*// H ${ g s/^\n/Modules Loaded\t\t/ y/\n/ / q } d '