#!/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 " 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