blob: a02a9ebadc73e822effb6eeb45d6475ce2d67c41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
|