blob: 81fc57bee849cef567c36cf582c7f53dc382db4e (
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
32
33
34
35
36
37
38
39
|
#!/bin/sh
# args
version="$1"
# config
grubby="grubby"
if test -f /boot/extlinux/extlinux.conf; then
grubby="$grubby --extlinux"
fi
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-installed]"
continue
fi
if test "$version" = "$(uname -r)"; then
echo "# skip $version [running-now]"
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
|