diff options
Diffstat (limited to 'lsumod')
| -rwxr-xr-x | lsumod | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +declare -A all_modules # 0 module is used 1 module is not used + +for i in $(find /lib/modules/$(uname -r) -type f -name '*.ko*'); do + module_name=$(basename $i); + module_without_extension=$(echo $module_name | cut -f 1 -d '.') + module_name_normalized=$(echo $module_without_extension | sed 's/-/_/g') + all_modules[$module_name_normalized]=1 +done + +IFS=$'\n' +for i in $(lsmod | sed '1d;$d'); do + module_name=$(echo $i | awk '{print $1}') + echo "$module_name" + if [[ -v all_modules[$module_name] ]]; then + all_modules[$module_name]=0 + else + echo "Warning! There is no $module_name module in all_modules array - adding it to all modules but you should check" + all_modules[$module_name]=0 + fi +done + +for i in "${!all_modules[@]}" +do + if [ ${all_modules[$i]} -eq 0 ]; then + echo "$i is loaded" + else + echo "$i is not used" + fi +done |
