Script de alteração do sources.list

Publicado por George Souza Farias (última atualização em 01/09/2009)

[ Hits: 5.974 ]

Homepage: https://www.facebook.com/georgesouzafarias

Download atualizar_repositorio.sh




Esse script deve ser usado para auxiliar na migração de suas estações para uso de um mirror local. Nesse caso o script pega o IP da variável IP_SERVIDOR e substitui no domínio "br.ubuntu.com.br" pelo endereço do mirror local no arquivo /etc/apt/sources.list.

  



Esconder código-fonte

#!/bin/bash
clear

dir="Diretorio Atual : `pwd`"

kernel="Kernel : `uname -r`"

arquitetura="Arquitetura : `uname -m`"

IP_SERVIDO="10.50.1.23"
 
 
Menu (){ 
 clear
 echo "+------------------------------------------------------------+"

 echo "|                                                                   By George Souza                                                          |"

 echo "+------------------------------------------------------------+"

 echo -ne "                                                     {FONTE}33[32m#==== Alterador de Repositório ====#{FONTE}33[m \n"

 echo "+------------------------------------------------------------+"

 echo

 echo $dir

 echo $kernel

 echo $arquitetura

 echo "* Para uma melhor visualização, deixe o terminal em tela cheia"
 
     echo -ne "\n\n{FONTE}33[32m#======= Menu de Opcoes ========#{FONTE}33[m"

     echo;echo;echo;echo;

     echo "1. Automatico"
    echo;echo;
     echo "2. Fazer apenas o Backup"
    echo;echo;
     echo "3. Fazer apenas as Alterações"
     echo;echo;
     echo "4. Verificar se ja existe um backup"
     echo;echo;
     echo "5. Restaurar backup"
    echo;echo;
     echo "6. Sair"
     echo;echo;
     echo -n "Entre com a opcao desejada => "

     read opcao
    
   case $opcao in

        1) Automatico; Menu ;;

        2) Backup ; Menu ;;

        3) Alteracao ; Menu ;;

        4) Verificar ; Menu ;;

      5) Restaurar ; Menu ;;
      
        6) Sair ;;

        *) "Opcao desconhecida." ; echo ; Menu ;;

     esac
     echo
}

Backup (){
   #Trecho que faz o backup
   echo -ne "\n\nFazendo backup do seu sources.list...."
   sleep 2
   cp /etc/apt/sources.list /etc/apt/sources.list.old
   echo -ne "\n\nbackup feito...continuando a alteração"
   echo -ne "\n\nFoi criado um sources.list.old que é o backup do arquivo"
   sleep 4
   
}

Alteracao (){
   #Trecho que faz as alterações
echo -ne "\nFazendo a alteração do dominio dos repositórios"
sleep 2
sed -e "s/http:\/\/br.archive.ubuntu.com\/ubuntu\//http:\/\/"`echo $IP_SERVIDO`"\/ubuntu\//g" /etc/apt/sources.list > /tmp/backup$$
   mv -f /tmp/backup$$ /etc/apt/sources.list
echo -ne "\nAlteração completa"
sleep 3


   
}

Automatico (){

Backup

Alteracao

Atualizar

}

Verificar (){
   #Verifica se ja existe um Backup do sources.list
if  test -e /etc/apt/sources.list.old
then
   echo  "Opa, ja existe um arquivo de backup !! "
   echo  -ne "\nOu quer que eu apague eu não recomendo, s ou n ? ==> "
   read resp
   resp=$(echo $resp | tr SN sn)
   if  echo $resp | grep s > /dev/null
   then
      if rm -f /etc/apt/sources.list.old > /dev/null
      then
         echo -ne "\n apaguei, ja era mlk, perdeu "
         sleep 5
      else
         echo -ne "\n Opa, deu um erro, tu é root ?"
         sleep 5
         
      fi
   else
      echo -ne "\nOk, ok, deixa para lá então"
      sleep 3
      
   fi
   Menu
else
   echo "Oba, não tem nenhum backup"   
fi   
}

Atualizar (){
   echo "Atualizando os pacotes... Aguarde"
#unset http_proxy
aptitude update 2> /dev/null

echo "Pronto, tudo feito"
echo -ne "\n\n Falou"


sleep 5

}

Sair (){
   clear;
   echo -ne "\n\n\n\n\n                                                      Muito obrigado, tchau\n\n";
   sleep 3;
   clear;
   exit
}

Restaurar (){
   if [ -e /etc/apt/sources.list.old ]
   then
      mv -f /etc/apt/sources.list.old /etc/apt/sources.list
      echo -ne "\n\n O backup foi restaurado com sucesso "
      sleep 5
   else
      echo -ne "\n\n Ixi maria, deu algum problema oh, existe mesmo um backup ?"
      sleep 8
   fi
   clear
   
}



Menu

Scripts recomendados

Validação de endereços IPv4

Instalando a última versão estável do Eclipse com uma única linha

Configuração de rede no Virtualbox

Script para fazer funcionar o bloqueio por horário - Squid

Impedir duas ou mais conexões por usuário


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts