Script pro GUI - psal jsem to z hlavy, netestoval, teď nemám možnost tak jestli tam mám někde překlep tak ať mě někdo opraví:
Je nutné mít nainstalovaný balík zenity a xterm, nainstalujte jej, v opačném případě script upozorní.
#!/bin/bash
# Upgrades existing system to Hardy Heron
# Works for Gutsy gibbon
# Author: qUAKER , Enjoy ;)
# Here is functions.
function update_system()
{
zenity --question --title "Aktualizace před upgradem" --text "Před aktualizací systému je doporučeno nainstalovat aktualizace. Chcete je nainstalovat?"
if [ $? = 0 ]; then
if xterm -e "apt-get update | tee /tmp/upgrade-aptupdate1.log"; then
zenity --info --title "Operace proběhla úspěšně." --text "Update seznamu balíků byl úspěšný,script pokračuje."
else
zenity --error --text "Update seznamu balíků nebyl úspěšný, prohlédněte si log v /tmp/upgrade-aptupdate1.log a opravte problém." --title "Neúspěch!"
exit 0
fi
if xterm -e "apt-get upgrade | tee /tmp/upgrade-aptupgrade1.log"; then
zenity --info --title "Operace proběhla úspěšně." --text "Instalace aktualizací byla úspěšná,script pokračuje."
else
zenity --error --text "Instalace aktualizací před upgradem nebyla úspěšná, prohlédněte si log v /tmp/upgrade-aptupgrade1.log a opravte problém." --title "Neúspěch!"
exit 0
fi
elif [ $? = 1 ]; then
zenity --info --title "Upgrade bude pokračovat bez aktualizací." --text "Upgrade bude pokračovat bez aktualizací, nicméně systém se tím může rozhodit!"
fi
}
function change_repos()
{
zenity --question --title "Otázka" --text "Opravdu chcete změnit repozitáře pro upgrade?"
if [ $? = 0 ]; then
sed -i 's/gutsy/hardy/g' /etc/apt/sources.list'
elif [ $? = 1 ]; then
exit 0
fi
}
function intro()
{
zenity --info --title "Úvod" --text "Vítejte v aktualizačním scriptu distribuce Ubuntu. Tento script aktualizuje z aktuální verze 7.10 na vývojovou 8.04."
}
function system_upgrade()
{
zenity --question --title "Otázka" --text "Nyní se systém bude upgradovat na novější verzi, tuto operaci nesmíte přerušit, jinak se systém stane nefunkčním. Chcete opravdu upgradovat? Pokud kliknete na Ano, aktualizuje se seznam balíků a systém se aktualizuje na nejvyšší verzi."
if [ $? = 0 ]; then
if xterm -e "apt-get update | tee /tmp/upgrade-aptupdate2.log"; then
zenity --info --title "Operace proběhla úspěšně." --text "Update seznamu balíků byl úspěšný,script pokračuje."
else
zenity --error --text "Update seznamu balíků nebyl úspěšný, prohlédněte si log v /tmp/upgrade-aptupdate2.log a opravte problém." --title "Neúspěch!"
exit 0
fi
if xterm -e "apt-get dist-upgrade | tee /tmp/upgrade-aptdistupgrade1.log"; then
zenity --info --title "Operace proběhla úspěšně." --text "Gratuluji, upgrade systému byl úspěšný, nyní restartujte systém."
else
zenity --error --text "Instalace aktualizací před upgradem nebyla úspěšná, prohlédněte si log v /tmp/upgrade-aptdistupgrade1.log a opravte problém. Mělo by pomoci spuštění příkazu 'sudo apt-get dist-upgrade'" --title "Neúspěch!"
exit 0
fi
elif [ $? = 1 ]; then
exit 0
fi
}
# End functions
# Zenity check
if [ -z "$(dpkg -l | grep zenity)" ]; then
xmessage "Balik zenity neni instalovan, prosim nainstalujte jej." && exit 1
fi
# End Zenity check
# xterm check
if [ -z "$(dpkg -l | grep xterm)" ]; then
xmessage "Balik xterm neni nainstalovan, prosim nainstalujte jej." && exit 1
fi
# End xterm check
# Root check
if [ "$UID" -ne "0" ]; then
xmessage "Vas uzivatel není root. Prosim spustte script se sudo nebo gksudo." && exit 1
fi
# End root check
# Body
intro
update_system
change_repos
system_upgrade
# End body
# End script