summaryrefslogtreecommitdiffstats
path: root/kcleanup-fedora
blob: 83523dfc7b5ff0bae1c6312ca49f4c9e0d8c3b48 (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
#!/bin/sh

# args
version="$1"

if test "$version" = ""; then
	echo "usage: $0 <version>"
	echo "kernels:"
	ls /boot/vmlinu*-* | sed -e 's|/boot/vm[^-]\+-|   |'
	exit 1
fi

kernels="$(ls /boot/vmlinu*-${version}* 2>/dev/null | grep -v 'old$')"
for kernel in $kernels; do
	version="${kernel#/boot/vm*-}"
	test -f "$kernel" || continue
	if rpm -qf "$kernel" 2>/dev/null | grep -q kernel; then
		echo "# skip $version [rpm]"
		continue
	fi		
	echo "# kill $version"
	grubby --remove-kernel="${kernel}"
	rm -f "${kernel}"
	rm -f "${kernel}.old"
	rm -f "${kernel//vmlinuz/System.map}"
	rm -f "${kernel//vmlinuz/System.map}.old"
	rm -f "${kernel//vmlinuz/initramfs}.img"
	rm -rf "/lib/modules/${version}"
done