You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
932 B
Plaintext
31 lines
932 B
Plaintext
5 years ago
|
#!/bin/bash
|
||
|
|
||
|
# We're passed the version of the kernel being removed
|
||
|
inst_kern=$1
|
||
|
|
||
|
# This is applied from make_initrd function in dkms command, which
|
||
|
# creates the possible initrd backup file.
|
||
|
remove_initrd_backup() {
|
||
|
for initrd in "initrd-$1.img" "initramfs-$1.img" "initrd.img-$1" "initrd-$1"; do
|
||
|
rm -fv /boot/"${initrd}".old-dkms >&2
|
||
|
done
|
||
|
}
|
||
|
|
||
|
if [ -x /usr/sbin/dkms ]; then
|
||
|
while read line; do
|
||
|
name=`echo "$line" | awk '{print $1}' | sed 's/,$//'`
|
||
|
vers=`echo "$line" | awk '{print $2}' | sed 's/,$//'`
|
||
|
arch=`echo "$line" | awk '{print $4}' | sed 's/:$//'`
|
||
|
echo "dkms: removing: $name $vers ($inst_kern) ($arch)" >&2
|
||
|
dkms uninstall -m $name -v $vers -k $inst_kern -a $arch
|
||
|
done < <(dkms status -k $inst_kern 2>/dev/null | grep ": installed")
|
||
|
fi
|
||
|
|
||
|
remove_initrd_backup "$inst_kern"
|
||
|
|
||
|
rmdir --ignore-fail-on-non-empty \
|
||
|
"/lib/modules/$inst_kern/updates/dkms" \
|
||
|
"/lib/modules/$inst_kern/updates" 2>/dev/null
|
||
|
|
||
|
exit 0
|