Se você tem a iso Beta do ubuntu e deseja atualiza-la sem ter que baixar todo o conteúdo do cd
use o rsync, este script apenas automatiza o processo e assim você só atualiza os bits modificados
diminuindo drasticamente o tempo de download da iso atual.
Estou postando este script para análise, já utilizei com sucesso e gostaria de algumas sugestões
Obs: havia um erro na linha rsync faltava indicar a pasta atual ---> ./
Obs: Para entender melhor substitua as variáveis. Basicamente o script entra na
pasta onde está a iso a ser atualizada e conecta ao servidor rsync do ubuntu
Este trabalho teve início à partir da leitura deste artigo:
http://wiki.ubuntubrasil.org/ObtendoUbuntu onde no final tem um comando rsync para
atualizar a iso do ubuntu
#!/bin/bash
# scrip para sincronizar a iso diaria do ubuntu
# usando rsync
# endereco da iso diaria do ubuntu:
# http://cdimage.ubuntu.com/daily/current/
# Função para pegar a data
hora (){
hh=$(date "+%H:%M:%S")
dia=$(date "+%A %d de %B de %Y")
echo " ${hh} hs $dia"
}
# limpando a tela
clear
# servidor rsync diário do ubuntu
END="rsync://cdimage.ubuntu.com/cdimage/daily/current/"
# nome da iso
ISO="feisty-alternate-i386.iso "
# local onde está sua iso a se atualizada
PASTA="/home/sergio/docs/isos/ubuntu"
# Obs: os códigos tipo: " \033[01;33m" são para atribuir cores
# leia --> http://gnutopia.wordpress.com/2007/02/22/deixando-o-bash-colorido/
echo
echo " ====================================="
echo -e " \033[01;33mScript de atualização iso ubuntu\033[01;37m "
echo " ====================================="
hora
echo
echo -e " ============== \033[01;31mA V I S O\033[01;37m ====================="
echo " Este script pode demorar um pouco dependendo"
echo " de quanto tempo faz que foi realizada a ultima"
echo " atualização de sua imagem iso"
echo " =============================================="
echo
# o sleep mantem a mensagem acima 2 segundos na tela
sleep 2
echo -e " Acessando\033[01;32m $END\033[01;37m..."
sleep 1
echo -e " Atualizando\033[01;32m $ISO\033[01;37m..."
sleep 1
echo -e " Entrando na pasta\033[01;32m $PASTA"
sleep 1
cd $PASTA
echo -e " Iniciando o sincronizacao\033[01;37m..."
sleep 1
echo
sleep 1
# #############################
# A sincronização propriamente começa aqui
# #############################
rsync -Lvv --progress ${END}${ISO} ./ && \
echo " Sincronização da iso efetuada" || echo "algo deu errado"
# uso a barra invertida para quebrar linhas longas "\"
sleep 1
clear
## Troquei o rsync neste ponto pelo wget (somente para o arquivo MD5SUMS)
rm -f MD5SUMS
echo " Baixando o arquivo MD5SUMS do site"
wget http://cdimage.ubuntu.com/cdimage/daily/current/MD5SUMS ./ && echo " md5sum atualizado" || \
echo " Erro ao obter o arquivo md5sum"
#O arquivo de md5sum's contém também um md5 para 64 bits que quero descartar
# o comando SED edita o arquivo MD5SUMS de forma não interativa deletando a linha que
# casa com o padrão "/amd64/" --- Leia: http://aurelio.net/sed/
sed -i '/amd64/d' MD5SUMS
# logo abaixo pego o valor do md5sum e retiro somente a primeira parte da string leia "man cut"
# Agora o valor md5 está na variável TESTE
TESTE=$(cat MD5SUMS | cut -d" " -f1)
echo -e " \033[01;32mVeriricando a integridade da imagem atualizada\033[01;37m..."
sleep 1
TESTEISO=$(md5sum $ISO | cut -d" " -f1)
echo -e " md5sum da iso \033[01;32m$TESTEISO\033[01;37m"
echo -e " md5sum do site \033[01;32m$TESTE\033[01;37m"
echo
[ "$TESTEISO" = "$TESTE" ] \
&& echo " Atualização efetuada com sucesso" || echo " erro ao atualizar a imagem"
exit
##
Obs: um teste moderno para evitar "if"
# faça isto && e isto || ou isto