#!/bin/bash # Clean old kernel files using apt autoremove when /boot volume exceeds a defined max. # Usage: call during privileged user session startup. # XFCE Example: # Session and Startup >> Application AutoStart tab >> Add button # Name: Kernel Purge # Description: Purge Old Kernel data from /boot if usage > 55% # Command: /usr/bin/xfce4-terminal --geometry=130x30+800+400 -e /home//bin/kernelpurge.sh # # TODO: Add arg handling to pass usage. Use existing value 55 as default. max_boot_usage=55 # Commands uname=/bin/uname echo=/bin/echo cat=/bin/cat df=/bin/df egrep=/bin/egrep tr=/usr/bin/tr sudo=/usr/bin/sudo apt=/usr/bin/apt sleep=/bin/sleep $echo "Checking /boot usage..." busage=$($df --output=pcent /boot | $egrep '[[:digit:]]+' | $tr -d '% ') if [[ $busage -gt $max_boot_usage ]];then $cat << HERE /boot usage greater than ${max_boot_usage}%! Taking action to purge... Prior to purging, make sure you can boot into the current Kernel version: $($uname -r) The current Kernel version: $($uname -r) should NOT appear in the list of packages produced by apt autoremove Following entry of sudo credentials you will be prompted by apt prior to removal. HERE $sudo $apt autoremove --purge else $echo "/boot usage less than ${max_boot_usage}% ($busage). Skipping purge process" fi $sleep 3