User:Otuur

From ICO wiki
Jump to navigationJump to search

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