Script de alteração do sources.list

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

[ Hits: 6.399 ]

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

Script para Monitoramento

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - ATUALIZANDO QUOTA

Front-end para o Samba

SlackelsPKG 1.0 - uma réplica de gerenciador de pacotes para o Slackware Current

get-geo2 - localiza o endereço de um IP/HOST no Google Maps


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts