summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xkcleanup-fedora29
1 files changed, 29 insertions, 0 deletions
diff --git a/kcleanup-fedora b/kcleanup-fedora
new file mode 100755
index 0000000..83523df
--- /dev/null
+++ b/kcleanup-fedora
@@ -0,0 +1,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 \ No newline at end of file