User:Otuur: Difference between revisions

From ICO wiki
Jump to navigationJump to search
(Created page with '==Quest3== <source lang="bash"> #!/bin/bash #Autor: Olle Tuur, otuur@itcollege.ee #Versioon 0.3 #Exit väärtused #0 - skript lõpetas edukalt tegevuse #1 - kasutajal ei ole juur…')
 
Line 59: Line 59:
#Teavitame, mis kustutatakse
#Teavitame, mis kustutatakse
echo "Kerneliga ${OLEMAS[$j]} seotud paketid, mis eemaldatakse:"
echo "Kerneliga ${OLEMAS[$j]} seotud paketid, mis eemaldatakse:"
echo $(dpkg -l | grep ^ii | grep ${OLEMAS[$j-1]} | awk -F' ' '{ print $2 }')
echo $(dpkg -l | grep ^ii | grep ${OLEMAS[$j]} | awk -F' ' '{ print $2 }')
#Kustutame
#Kustutame
                 apt-get remove $(dpkg -l | grep ${OLEMAS[$j-1]} | awk -F' ' '{ print $2 }')
                 apt-get remove $(dpkg -l | grep ${OLEMAS[$j]} | awk -F' ' '{ print $2 }')
done
done

Revision as of 20:02, 10 May 2011

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