User:Otuur
From ICO wiki
Quest3
#!/bin/bash
#Autor: Olle Tuur, otuur@itcollege.ee
#Versioon 0.3
#Exit väärtused
#0 - skript lõpetas edukalt tegevuse
#1 - kasutajal ei ole juurkasutaja õigusi
#2 - arvutis on liiga vähe kerneleid
#Kas kasutajal on vajalikud õigused?
if [ $UID -ne 0 ]; then
echo "$(basename $0) käivitamiseks, pead olema juurkasutaja!"
exit 1
fi
#Teatame, kasutajale, millega ta riskib
echo "See skript kustutab kõik vanad kernelid peale kahe kõige uuema."
echo "Jätka juhul, kui oled täiesti kindel, et ei vaja enam vanemaid kerneleid."
echo ""
echo "Kas soovid jätkata? (Jätkamiseks sisesta Y ja vajuta ENTER):"
read JATKA
#Kui kasutaja soovib jätkata
if [ $JATKA == "Y" ] || [ $JATKA == "y" ]; then
echo "Hetkel on kasutusel versioon $(uname -r | cut -d'-' -f1,2)"
echo ""
echo "Skript leidis sinu arvutist järgnevad kernelid:"
#Array, kus on kõik kernelid, mis leiti
OLEMAS=($(ls /boot | grep vmlinuz | cut -d'-' -f2,3))
#Array pikkus
PIKKUS=${#OLEMAS[@]}
#Trükime välja olemasolevad kernelid
for((i=0; i<${PIKKUS}; i++));
do
echo ${OLEMAS[$i]}
done
#Kas on olemas üle 2 kerneli?
if [ ${PIKKUS} -lt 3 ]; then
echo "Kahte kernelit ei saa alles jätta. Sul on ainult ${PIKKUS} kernel(it)."
echo "Skript lõpetab töö."
exit 2
fi
#Mitu võib kustutada
KUSTUTA=$[PIKKUS-2]
#Ütleme, mitu kernelit kustutatakse
echo "Kustutatakse ${KUSTUTA} kernel(it)"
for((j=0; j<${KUSTUTA}; j++));
do
#Teavitame, mis kustutatakse
echo "Kerneliga ${OLEMAS[$j]} seotud paketid, mis eemaldatakse:"
echo $(dpkg -l | grep ^ii | grep ${OLEMAS[$j]} | awk -F' ' '{ print $2 }')
#Kustutame
apt-get remove $(dpkg -l | grep ${OLEMAS[$j]} | awk -F' ' '{ print $2 }')
done
#Teavitame kasutajat töö lõpetamisest
echo "Tehtud!"
exit 0
fi