@ -1,29 +1,33 @@
#!/bin/bash
RED = $( tput setaf 1)
GREEN = $( tput setaf 2)
YELLOW = $( tput setaf 3)
BLUE = $( tput setaf 4)
WHITE = $( tput setaf 7)
NORMAL = $( tput sgr0)
RD = $( tput setaf 1)
GN = $( tput setaf 2)
LYW = $( tput setaf 190)
WH = $( tput setaf 7)
BRT = $( tput bold)
CL = $( tput sgr0)
UL = $( tput smul)
current_kernel = $( uname -r)
pve = $( pveversion)
while true; do
read -p " ${ YELLOW } This will Clean unused Kernel images. Proceed(y/n)? ${ NORMAL } " yn
read -p " ${ WH } This will Clean unused Kernel images. Proceed(y/n)? ${ C L} " yn
case $yn in
[ Yy] * ) break; ;
[ Nn] * ) exit; ;
* ) echo -e " ${ R E D} Please answer y/n ${ NORMA L} " ; ;
* ) echo -e " ${ R D} Please answer y/n ${ C L} " ; ;
esac
done
clear
current_kernel = $( uname -r)
pve = $( pveversion)
function check_root {
if [ [ $EUID -ne 0 ] ] ; then
echo -e " ${ R E D} Error: This script must be ran as the root user.\n ${ NORMA L} "
echo -e " ${ R D} Error: This script must be ran as the root user.\n ${ C L} "
exit 1
fi
}
function header_info {
echo -e " ${ R E D}
echo -e " ${ R D}
_ __ _ _____ _
| | / / | | / ____| |
| / ___ _ __ _ __ ___| | | | | | ___ __ _ _ __
@ -31,18 +35,18 @@ echo -e "${RED}
| \ __/ | | | | | __/ | | | ____| | __/ ( _| | | | |
| _| \_ \_ __| _| | _| | _| \_ __| _| \_ ____| _| \_ __| \_ _,_| _| | _|
${ NORMA L} "
${ C L} "
}
function kernel_info( ) {
latest_kernel = $( dpkg --list| grep 'kernel-.*-pve' | awk '{print $2}' | tac | head -n 1)
echo -e " ${ YELLOW } OS: ${ GREEN } $( cat /etc/os-release | grep "PRETTY_NAME" | sed 's/PRETTY_NAME=//g' | sed 's/["]//g' | awk '{print $0}' ) \r ${ NORMAL } "
echo -e " ${ YELLOW } PVE Version: ${ GREEN } $pve \n ${ NORMAL } "
echo -e " ${ LYW } PVE Version: ${ UL } ${ WH } $pve \n ${ CL } "
if [ [ " $current_kernel " = = *"pve" * ] ] ; then
if [ [ " $latest_kernel " != *" $current_kernel " * ] ] ; then
echo -e " ${ G REE N} Latest Kernel: $latest_kernel \n ${ NORMA L} "
echo -e " ${ G N} Latest Kernel: $latest_kernel \n ${ C L} "
fi
else
echo -e " \n ${ R E D} ERROR: No PVE Kernel found\n ${ NORMA L} "
echo -e " \n ${ R D} ERROR: No PVE Kernel found\n ${ C L} "
exit 1
fi
}
@ -55,26 +59,26 @@ function kernel_clean() {
if [ " $( echo $kernel | grep $current_kernel ) " ] ; then
break
else
echo -e " ${ R E D} ' $kernel ' ${ NORMAL} ${ YELLOW } has been added to the Kernel remove list\n ${ NORMA L} "
echo -e " ${ R D} ' $kernel ' ${ CL} ${ LYW } has been added to the Kernel remove list\n ${ C L} "
kernels_to_remove += " $kernel "
fi
done
echo -e " ${ YELLO W} Kernel Search Complete!\n ${ NORMA L} "
echo -e " ${ L YW} Kernel Search Complete!\n ${ C L} "
if [ [ " $kernels_to_remove " != *"pve" * ] ] ; then
echo -e " ${ GREE N} It appears there are no old Kernels on your system \n${ NORMA L} "
echo -e " ${ BRT} ${ GN} It appears there are no old Kernels on your system . \n${ C L} "
else
read -p " ${ YELLO W} Would you like to remove the ${ R E D} $( echo $kernels_to_remove | awk '{print NF}' ) ${ NORMAL} ${ YELLOW } selected Kernels listed above? [y/n]: ${ NORMA L} " -n 1 -r
read -p " ${ L YW} Would you like to remove the ${ R D} $( echo $kernels_to_remove | awk '{print NF}' ) ${ CL} ${ LYW } selected Kernels listed above? [y/n]: ${ C L} " -n 1 -r
fi
if [ [ $REPLY = ~ ^[ Yy] $ ] ] ; then
echo -e " ${ YELLOW} \nRemoving ${ NORMAL } ${ RE D} $( echo $kernels_to_remove | awk '{print NF}' ) ${ NORMAL} ${ YELLOW } old Kernels... ${ NORMA L} "
echo -e " ${ LYW} \nRemoving ${ CL } ${ R D} $( echo $kernels_to_remove | awk '{print NF}' ) ${ CL} ${ LYW } old Kernels... ${ C L} "
/usr/bin/apt purge -y $kernels_to_remove > /dev/null 2>& 1
echo -e " ${ YELLOW} Finished!\n ${ NORMA L} "
echo -e " ${ YELLO W} Updating GRUB... \n ${ NORMA L} "
echo -e " ${ LYW} Finished!\n ${ C L} "
echo -e " ${ L YW} Updating GRUB... \n ${ C L} "
/usr/sbin/update-grub > /dev/null 2>& 1
echo -e " ${ YELLOW} Finished!\n ${ NORMA L} "
echo -e " ${ LYW} Finished!\n ${ C L} "
else
echo -e " ${ YELLOW} Exiting...\n ${ NORMA L} "
sleep 1
echo -e " ${ LYW} Exiting...\n ${ C L} "
sleep 2
fi
}