User:Metamm: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
<source lang="bash"> | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
#Autor: Meelis Tamm, A21, metamm@itcollege.ee | #Autor: Meelis Tamm, A21, metamm@itcollege.ee | ||
#Skript eemaldab vanad kerneli kujutisfailid, v.a. kaks viimast versiooni | #Skript eemaldab vanad kerneli kujutisfailid, v.a. kaks viimast versiooni | ||
#Lisaks kujutisfailidele, eemaldatakse ka vastavad kerneli versioonid grub nimekirjast (seda teed paketihaldur automaagiliselt) | #Lisaks kujutisfailidele, eemaldatakse ka vastavad kerneli versioonid grub nimekirjast (seda teed paketihaldur automaagiliselt) | ||
PAKETIHALDUR=$1 | PAKETIHALDUR=$1 | ||
#Kontrollime, kas kasutaja omab juurkasutaja õigusi | #Kontrollime, kas kasutaja omab juurkasutaja õigusi | ||
if [ $UID -ne 0 ]; then | if [ $UID -ne 0 ]; then | ||
echo "Käivita skript $(basename $0) juurkasutaja õigustes" | echo "Käivita skript $(basename $0) juurkasutaja õigustes" | ||
exit 1 | exit 1 | ||
#Kontrollime, kas skript käivitati õige arvu argumentidega | #Kontrollime, kas skript käivitati õige arvu argumentidega | ||
elif [ $# -ne 1 ]; then | elif [ $# -ne 1 ]; then | ||
echo -e "Käivita skript ./$(basename $0) <paketihaldur> \n[N: rpm või dpkg]" | echo -e "Käivita skript ./$(basename $0) <paketihaldur> \n[N: rpm või dpkg]" | ||
exit 1 | exit 1 | ||
#Kontrollime, kas kasutaja tahab kasutada rpm eemaldust | #Kontrollime, kas kasutaja tahab kasutada rpm eemaldust | ||
elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "rpm" ]; then | elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "rpm" ]; then | ||
echo "Kasutan rpm eemaldust" | echo "Kasutan rpm eemaldust" | ||
for i in $( rpm -q kernel | head -$(echo "$(rpm -q kernel | wc -l) - 2" | bc -l) ); do | for i in $( rpm -q kernel | head -$(echo "$(rpm -q kernel | wc -l) - 2" | bc -l) ); do | ||
rpm -e $i | rpm -e $i | ||
done | done | ||
#Kontrollime, kas kasutaja tahab kasutada dpkg eemaldust | #Kontrollime, kas kasutaja tahab kasutada dpkg eemaldust | ||
elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "dpkg" ]; then | elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "dpkg" ]; then | ||
echo "Kasutan dpkg eemaldust" | echo "Kasutan dpkg eemaldust" | ||
for i in $( dpkg --list | grep linux-image | awk '{print $3}' | head -$( echo "$(dpkg --list | grep linux-image | awk '{print $3}' | wc - | for i in $( dpkg --list | grep linux-image | awk '{print $3}'| cut -d"." -f4 --complement | head -$( echo "$(dpkg --list | grep linux-image | awk '{print $3}'| cut -d"." -f4 --complement | wc -w) - 2" | bc -l)); do | ||
apt-get remove linux-image-$i-generic | apt-get remove linux-image-$i-generic | ||
done | done | ||
#Anname teada, et kasutaja sisestatud argument ei sobi selle skriptiga | #Anname teada, et kasutaja sisestatud argument ei sobi selle skriptiga | ||
else | else | ||
echo "$PAKETIHALDUR <--Selline paketihaldur ei sobi. Ainult dpkg või rpm" | echo "$PAKETIHALDUR <--Selline paketihaldur ei sobi. Ainult dpkg või rpm" | ||
exit 1 | exit 1 | ||
fi | fi | ||
#Väljastame, mida skript tegi | #Väljastame, mida skript tegi | ||
echo "Skript kustutas kõik kernelid peale kahe viimase" | echo "Skript kustutas kõik kernelid peale kahe viimase" | ||
</source> | </source> |
Revision as of 15:04, 11 May 2011
Quest 3 - Op.Sys aine
#!/bin/bash
#Autor: Meelis Tamm, A21, metamm@itcollege.ee
#Skript eemaldab vanad kerneli kujutisfailid, v.a. kaks viimast versiooni
#Lisaks kujutisfailidele, eemaldatakse ka vastavad kerneli versioonid grub nimekirjast (seda teed paketihaldur automaagiliselt)
PAKETIHALDUR=$1
#Kontrollime, kas kasutaja omab juurkasutaja õigusi
if [ $UID -ne 0 ]; then
echo "Käivita skript $(basename $0) juurkasutaja õigustes"
exit 1
#Kontrollime, kas skript käivitati õige arvu argumentidega
elif [ $# -ne 1 ]; then
echo -e "Käivita skript ./$(basename $0) <paketihaldur> \n[N: rpm või dpkg]"
exit 1
#Kontrollime, kas kasutaja tahab kasutada rpm eemaldust
elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "rpm" ]; then
echo "Kasutan rpm eemaldust"
for i in $( rpm -q kernel | head -$(echo "$(rpm -q kernel | wc -l) - 2" | bc -l) ); do
rpm -e $i
done
#Kontrollime, kas kasutaja tahab kasutada dpkg eemaldust
elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "dpkg" ]; then
echo "Kasutan dpkg eemaldust"
for i in $( dpkg --list | grep linux-image | awk '{print $3}'| cut -d"." -f4 --complement | head -$( echo "$(dpkg --list | grep linux-image | awk '{print $3}'| cut -d"." -f4 --complement | wc -w) - 2" | bc -l)); do
apt-get remove linux-image-$i-generic
done
#Anname teada, et kasutaja sisestatud argument ei sobi selle skriptiga
else
echo "$PAKETIHALDUR <--Selline paketihaldur ei sobi. Ainult dpkg või rpm"
exit 1
fi
#Väljastame, mida skript tegi
echo "Skript kustutas kõik kernelid peale kahe viimase"