#!/bin/bash ##Script: UbuntaV3.0.sh name="UbuntaV3.0.sh" version_ubunta="3.0" server='http://mosel.estg.ipleiria.pt/mirror/software/ubunta/' ##Criador: Matos / 20/04/08 ##Modificado: Matos / 17/05/08 ##Descrição: Script que descarrega o Ubunta e o executa. ## ##Declaração de variaveis gerais: ## Variavel usada: '?' 'version' 'teste' 'version_ubuntu' 'update' ##Inicio do Script Wget() { ##Recebe como argumentos o link e o nome do programa, para surgir nas mensagem. echo "vai ser feito o download de $1" wget "$1" if [ "${PIPESTATUS[0]}" != "0" ] then zenity --error --title "Ubunta" --text "Não conseguiu fazer o Download do $2, possivelmente o servidor está offline. \nTente mais tarde." return 1 fi return 0 } [ $USER = root ] && echo "não executar como root" && exit 0 ##verifica se não é o root zenity --question --title "Bem vindo ao Ubunta" --text 'Deseja configurar o seu pc com o Ubunta?' || exit 0 case $? in 0) echo "------------------ verificando ligação, aguarde... --------------------" ;; 1) exit 0 ;; *) echo "Certifique-se que está dentro do Ubuntu a executar este script."; exit 127 ;; esac ping google.com -c 5 | zenity --progress --text="Verificando ligação da internet" --pulsate --auto-close if [ "${PIPESTATUS[0]}" != "0" ] then echo "não está ligado à internet" ##depois isto é para apagar... exit 0 ##avisa que não está ligado à internet que vai efectuar a instalação offline, para o utilizador ser notificado e tomar uma decisão. zenity --question --title "Ubunta" --text "O seu pc não se encontra ligado à internet, deseja instalar pelo modo offline? \nVai necessitar do Media OffUbunta." || exit 0 case $? in 0) ;; 1) exit 0 ;; *) echo "Erro inesperado"; exit 127 ;; esac ##verificar se este script está no cd ou noutro media , se sim copia para a pasta do user e executa de novo. ##teste=$(echo "$PWD" | grep "/home/") ##if [ -n "$teste" ] ##then ## zenity --info --title "Ubunta" --text "O $name vai mudar para a sua directoria e reiniciar. \nIsto acontece porque poderá estar numa pasta que não tem permissões de escrita." ## cp ./"$name" ~ ## ~/"$name" & ## exit 0 ##fi ##verifica se o cd OffUbunta existe, se não pergunta onde está o media. (iso ou CD) SavePath=$(zenity --title "Localize o OffUbunta.iso" --file-selection ) ##verifica se o média tem uma versão mais actualizada deste script ##verifica se já existe alguma instalação do ubunta offline no PC e verifica essa versão com o media. ##caso seja negativa a afirmação anterior, avisa que não é a ultima versão (existe online uma nova versão) mas como é compativel continua a executar, caso não seja pára a instalação. ##Se o ubunta não estiver instalado, executa, se não continua o ubunta existente. else echo "encontra-se ligado á internet" ##Verificar se este script está no cd ou noutro media, se sim copia para a pasta do user e executa de novo. teste=$(echo "$PWD" | grep "/home/") if [ -z "$teste" ] then zenity --info --title "Ubunta" --text "O "$name" vai mudar para a sua directoria e reiniciar. \nIsto acontece porque poderá estar numa pasta que não tem permissões de escrita." cp ./"$name" ~ ~/"$name" exit 0 fi ##Verificar se este script é a ultima versão, se não for faz o download e elimina este. version_ubuntu=$(lsb_release -rs) [ -e ./version ] && rm version ##apagar version caso já exista Wget "$server"version "version" || exit 1 ##wget -c "$server"version version_ubunta_new=$(sed -n "/Ubunta_version=/{s///;p}" version) this_new_version=$(sed -n "/Ubunta_"$version_ubuntu"=/{s///;p}" version) rm version if [ "$version_ubunta" != "$version_ubunta_new" ] then zenity --info --title "Ubunta" --text "Foi detectado uma nova versão do Ubunta. \nVai ser feito o Download e o Ubunta vai reiniciar." Wget "$server"UbuntaV"$version_ubunta_new".sh "Ubunta" || exit 1 ##wget -c "$server"UbuntaV"$version_ubunta_new".sh rm UbuntaV"$version_ubunta".sh ./UbuntaV"$version_ubunta_new".sh exit 0 fi ## testa se o Ubunta já está instalado. se sim, verifica se é a ultima versão. if [ -e ~/install/install.sh ] then teste=$(cat ~/install/README | grep "Release" | cut -d" " -f2) if [ "$teste" != "v$this_new_version" ] then ##não é a ultima versão, pergunta se deseja actualizar e perder as informações do anterior ubunta. zenity --question --title "Ubunta" --text "A versão do Ubunta que tem instala não é a ultima, deseja actualizar? \n\nSe aceitar, irá perder o estado da instalação do anterior Ubunta. Perder essa informação não representa nenhum risco ao sistema. \n\nMesmo assim poderá não querer actualizar para o novo Ubunta e continuar a utilizar a versão antiga." || exit 0 case $? in 0) update="1" ;; 1) update="0" ;; *) echo "Erro inesperado"; exit 127 ;; esac else ##já se encontra instalado, mas pergunta ao utilizador se quer reinstalar. zenity --question --title "Ubunta" --text "Já tem a ultima versão do Ubunta instalada. \nDeseja executar o Ubunta já instalado? \n\nSe cancelar será reinstalado o Ubunta no seu sistema." case $? in 0) update="0" ;; 1) update="1" ;; *) echo "Erro inesperado"; exit 127 ;; esac fi else update="1" fi if [ "$update" = "1" ] then case $version_ubuntu in 7.04) Ubuntaversion='Ubunta/7.04/install.tar.gz' ;; 7.10) Ubuntaversion='Ubunta/7.10/install.tar.gz' ;; 8.04) Ubuntaversion='Ubunta/8.04/install.tar.gz' ;; *) zenity --error --title "Ubunta" --text 'Não existe uma versão para o seu Ubuntu, contacte a equipa do Ubunta.\nubunta@gmail.com'; exit 0;; esac [ -e ./version ] && rm install.tar.gz ##apagar install.tar.gz caso já exista Wget "$server""$Ubuntaversion" "Ubunta" || exit 1 mv ./install.tar.gz ~ cd ~ rm -r install tar -vzxf install.tar.gz rm install.tar.gz fi cd ~/install ./install.sh fi read -n1 -p "prima uma tecla para fechar a janela..." exit 0