From ef7c1605a027b52bbff1b01ea693b60f53fa3a71 Mon Sep 17 00:00:00 2001 From: yuzu-eva Date: Thu, 8 May 2025 14:01:37 +0200 Subject: initial commit --- lsumod | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 lsumod (limited to 'lsumod') diff --git a/lsumod b/lsumod new file mode 100755 index 0000000..a02a9eb --- /dev/null +++ b/lsumod @@ -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 -- cgit v1.2.3