Quebra-Galho-Faz-tudo-Configurator

Publicado por julio cesar fais (última atualização em 25/10/2010)

[ Hits: 7.176 ]

Homepage: juliovarginha.blogspot.com

Download julio-conf-2.0-14092010.sh

Download julio3.0.sh (versão 2)




Várias opções para quem precisa configurar o Linux logo após a instalação...

Obs.: Deve ser executado como root e tem algumas dependências: zenity, airping e dd

  



Versões atualizadas deste script

Versão 2 - Enviado por julio cesar fais em 05/10/2010

Changelog: Versão básica usando o Zenity...

Atenção: execute "xhost +" e depois execute-o como root.

Download julio3.0.sh


Esconder código-fonte

#!/bin/sh
#ultima edição:15/09/2010 11:06 julio.tecnico@bol.com.br
clear
echo " 







                            Júlio César Fais
             Script Versão 2.0"
sleep 1
echo "



         Verificando suas Permissões...."
sleep 1
if [ `whoami` = "root" ]; then
sleep 1
  else
clear
echo "





       Acesso Negado  para usuario `whoami`! Logue-se como root"
sleep 5
clear
exit
fi
clear
echo '


     |-----------------------------------------------------------------------------------
     |  O QUE DESEJA FAZER?                                           J  |
     |                                                                      \O/    U  |
     | 1  - ADICIONAR DNS PADRAO                            |     L  |
     | 2  - CONFIGURAR PERMISSÕES - /etc/sudoers    / \    I  |
     | 3  - CONFIGURAR REDE                                          O  |
     | 4  - INSTALAR JAVA                                                     |
     | 5  - INSTALAR FLASH PLAYER                                 C  |
     | 6  - HABILITAR ACESSO REMOTO - SSH                   E  |
     | 7  - INSTALAR PACOTES .DEB (Broffice,etc...)            S  |
     | 8  - BACKUP DE CONFIGURAÇÃO                             A  |
     | 9  - VERIFICAR CONFLITO DE IP                              R  | 
     | 10 - INFORMAÇÕES DO SISTEMA                                |
     | 11 - CLONAR HD                                                                              F  |
     | 12 - APAGAR REGISTROS DE PLACAS DE REDES ANTERIORES            A  |
     | 13 - COMPARTILHAR CONEXÃO                                                          I  |
     | 14 - AJUSTAR DATA/HORA                                                                 S  |
     | 15 - MONTAR PARTIÇÃO                                                                        |
     | 16 - ALTERAR HOSTNAME                                                                     |
     | 17 - SAIR                                                                                              |
     |                                                                                                            |
     |               DEPENDÊNCIAS: ZENITY,AIRPING,DD                                     | 
     |                        EXECUTE $xhost +                                                        |
     |-----------------------------------------------------------------------------------------------------------|'
      read alternativa
case "$alternativa" in
   
#######################################################
   
   1 ) clear
   
   echo "=> Copiando Para o arquivo /etc/resolv.conf"
   sleep 1
   echo "nameserver 208.67.222.222" > /etc/resolv.conf
   echo "nameserver 8.8.8.8" >> /etc/resolv.conf
   echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/resolv.conf
   clear
   echo "DNS Configurado !"
   cat /etc/resolv.conf
   sleep 3

clear
;;


########################################################
   2 ) clear
   echo "Aguarde ...."
   sleep 1
   clear
`zenity --warning --text "ATENÇAO ESTA AÇAO DARA PODER DE ROOT AO USUARIO!!!" --title "AVISO DO JULIO!!!"`
   echo 'Para Qual usuario voce quer Habilitar o sudo?
Ex.: kurumin, prefeitura '
   sleep 1
read sudo
echo "Adicionado usuario a /etc/sudoers."
   sleep 1
echo "$sudo ALL=(ALL) ALL" >> /etc/sudoers
echo "$sudo ALL=NOPASSWD: ALL" >> /etc/sudoers
sleep 2
clear
echo "Concluido! O Usuario $sudo ja possui permissao de Administrador."
sleep 2
clear
;;
#
#########################################################################################

   3 ) clear
   echo "Aguarde...Vericando os IP's ja configurados:"
grep "address" /etc/network/interfaces > /tmp/tmp.txt
cat /tmp/tmp.txt   
   sleep 3
   clear
#   cat /etc/network/interfaces
#   sleep 4
   clear
#################
   inicio (){
   echo 1 - IP Fixo
   echo 2 - DHCP
   echo 3 - RESTAURAR BKP
   echo 4 - IP TEMPORARIO
   read var
   
   case $var in
   1) fixo;;
   2) dhcp;;
   3) bkp;;
   4) temp;;
   *) clear; echo 'saindo do programa'; exit;;
   esac
   }
##################   
   fixo (){
   echo vc escolheu IP Fixo
`zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"`
   sleep 1
   clear
   echo 'Adicione suas interfaces...
   Ex.: eth0 eth0:0 eth0:1 eth0:2...
   obs.: use a 1ª interface para internet...'
   sleep 2
   read int
   echo "Qual Ip da 1ª interface?"
   read ipa
   echo "Qual a Mascara da 1ª inetrface?"
   read masc
   echo "Qual o Gateway da 1ª interface?"
   read gw
   sleep 1
   echo "auto lo $int" > /etc/network/interfaces
   echo "iface lo inet loopback" >> /etc/network/interfaces
   echo "iface $int inet static" >> /etc/network/interfaces
   echo "address $ipa" >> /etc/network/interfaces
   echo "netmask $masc" >> /etc/network/interfaces
   echo "gateway $gw" >> /etc/network/interfaces
   echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/network/interfaces

   clear
/etc/init.d/networking stop
/etc/init.d/networking start
echo "! Pronto. Sua Rede Foi Configurada com sucesso."
sleep 4
   }
##################   
   dhcp (){
`zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"`
   echo vc escolheu IP por DHCP
   sleep 2
   clear
echo 'Adicione sua interface...
   Ex.: eth0, eth1, wlan0...'
sleep 1
read int
echo "auto lo $int" > /etc/network/interfaces
echo "iface lo inet loopback" >> /etc/network/interfaces
echo "iface $int inet dhcp" >> /etc/network/interfaces
echo "#configurado via script => JULIO <= julio.tecnico@bol.com.br" >> /etc/network/interfaces
echo "Configurando...Aguarde..."
sleep 2
clear
/etc/init.d/networking stop
/etc/init.d/networking start
echo "! Pronto. Sua Rede DHCP Foi Configurada com sucesso. Veja:"
sleep 4

cat /etc/network/interfaces
   sleep 5
   clear

   }
###################   
   bkp (){
`zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"`   
echo 'Qual o Arquivo?'
b=`zenity --file-selection --title "Escolha o arquivo(interfaces)"`
sleep 2
cp "$b" /etc/network/
clear
echo "Reiniciando a Rede..."
sleep 1
/etc/init.d/networking stop
/etc/init.d/networking start
clear
echo "OK!"
sleep 2

   }
####################

      temp (){

echo "Qual a interface?"
sleep 2
read dd
echo "Qual o ip?"
sleep 2
read aa
echo "Qual a Mascara?"
sleep 2
read bb
echo "Qual o Gateway?"
sleep 2
read cc

ifconfig $dd $aa netmask $bb up
route add default gw $cc

}
  inicio

clear
;;



###########################################################################################
   4 ) clear
java=`zenity --file-selection --title "Escolha o JAVA"`
sleep 1
clear
echo "Siga as instruçoes..."
sleep 2
sudo $java
sleep 6   
clear
                         
echo "O JAVA foi instalado Corretamente"
sleep 2
echo "Vamos adicionar um link pro navegador..."
sleep 2
clear
c=`zenity  --directory --file-selection  --title "Escolha a pasta plugins do navegador.Ex.: /usr/lib/firefox-3.6.7/plugins/"`

d=`zenity  --file-selection  --title "Escolha o plugin do java (ja instalado)"`

sleep 2

cd $c/
ln -s $d
echo "OK! Tudo Pronto! Vamos Testar"
sleep 2

firefox 'http://www.java.com/pt_BR/download/help/testvm.xml'

clear

;;


#############################################################################################

   5 ) clear
echo 'Instalando Flash PLayer agora...
   Qual o Caminho do Flash PLayer?'
flash=`zenity --file-selection --title "Escolha o Flash Player (obs.: tem que estar Descompactado)"`
d=`zenity  --directory --file-selection  --title "Escolha a pasta plugins do navegador.Ex.: /usr/lib/firefox-3.6.7/plugins/"`
sleep 2
clear
   echo "Copiando Flash Player."
   sleep 2
   cp -i -r  $flash $d
   sleep 2
   echo "Reinicie o Navegador ..."
sleep 2
clear

;;      
##################################################################
   6 ) clear
echo "Habilitando Serviço SSH..."
sleep 2
update-rc.d -f ssh remove 
update-rc.d -f ssh defaults
clear
echo "Configure o VNC!"
krfb
sleep 2

clear

;;
#################################################################
   7 ) clear
e=`zenity  --directory --file-selection  --title "Escolha a pasta onde estao os arquivos .DEB"`
cd $e/
dpkg -i *.deb
echo "saindo..."
sleep 2

;;
##################################################################
   8 )clear

pasta=`zenity --directory --file-selection --title "Escolha a Pasta Para Salvar os Aquivos de Configuração"`
echo "

         Qual o Usuario Esta o Backup"
read userr
clear
echo "



         AGUARDE!!!"
scp /etc/network/interfaces $pasta 
scp /etc/cups/printers.conf $pasta
scp /home/$userr/.kde/share/config/kopeterc $pasta
scp -r /home/$userr/.mozilla $pasta
scp -r /home/$userr/.mozilla-thunderbird $pasta
scp -r /home/$userr/.thunderbird $pasta
scp -r /home/$userr/.firefox $pasta
scp -r /home/$userr/.mozilla-firefox $pasta
scp -r /home/$userr/.putty $pasta
scp -r /etc/rc.local $pasta                        

konqueror $pasta

clear
;;
##################################################################
   9)

   PATH="/bin:/usr/bin:/sbin:/usr/sbin"
INTERFACE="eth0"

which zenity > /dev/null 2>&1
[ $? -ne 0 ] && { echo "zenity: comando não encontrado."; exit 1 ; }
which arping > /dev/null 2>&1
[ $? -ne 0 ] && { echo "arping: comando não encontrado."; exit 1; }

while true
do   
   ip=$(zenity --title="Checa Conflito de IP" --entry --text "Endereço IP:")

   [ $? -ne 0 ] && exit $?
   

   validaIP() {
      local numero_ip=$1

      # Suporte 'built-in' a ER's! legal... =)
      [[ $numero_ip =~ ^[0-9]{2,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] || return 1
      
      local primeiro_octeto segundo_octeto terceiro_octeto quarto_octeto
      
      OLD_IFS=$IFS
      IFS="."
      
      set - $numero_ip
      primeiro_octeto=$1
      segundo_octeto=$2
      terceiro_octeto=$3
      quarto_octeto=$4
      
      IFS=$OLD_IFS
      
      # Checa o 2o octeto especifico de cada faixa
      case $primeiro_octeto in
         10)  [[ $segundo_octeto =~ ^0[0-9][0-9]? ]] && return 1 # Invalida tipos '0x' ou '0xx'
              (( segundo_octeto >= 0 && segundo_octeto <= 255 )) || return 1 ;;
         172) (( segundo_octeto >= 16 && segundo_octeto <= 31 )) || return 1 ;;
         192) (( segundo_octeto == 168 )) || return 1 ;;
         *) return 1
      esac
      
      # Ja que o 3o e 4o octetos sao comuns as tres faixas
      [[ $terceiro_octeto =~ ^0[0-9][0-9]? ]] || [[ $quarto_octeto =~ ^0[0-9][0-9]? ]] && return 1
      (( terceiro_octeto >= 0 && terceiro_octeto <= 255 )) || return 1
      (( quarto_octeto >= 0 && quarto_octeto <= 255 )) || return 1
   }
   
#   validaIP $ip   
#  [ $? -eq 1 ] && { zenity --error --text "Endereço IP inválido!" ; continue ; }
   
   break
done
   
ping -c 3 $ip > /dev/null 2>&1
retval=$?
   
if [ $retval -eq 1 ]
then
   zenity --error --text "$ip\nHost de destino inalcansável!"
   exit 1
fi
   
arping -D -I $INTERFACE -c 3 $ip > /dev/null 2>&1
retval=$?
   
if [ $retval -eq 0 ]
then
   zenity --warning --text "$ip\nConflito de IP detectado."
   exit 1
else
   zenity --info --text "$ip\nNenhum problema encontrado."
   exit 0
fi
;;

##################################################################
   10 )
clear
echo "Versão do kernel:"
uname -a
cat /etc/issue
#echo ------------------------------------------------
echo "Os usuários logados:"
who
echo '
'
echo "Hostname:"
uname -n
echo '
'
echo "Memória disponivel:"
free -m
echo '
'
echo "Espaço em disco:"
df

;;
##################################################################
   11 ) clear
# Efetua clonagem de discos                          #
# Depende: dd                                        #
######################################################
echo '
---------------------------------
1 ) Clonar HD inteiro; 
2 ) Clonar Particao;
3 ) Criar imagem de HD;
4 ) Montar Particao;
5 ) Verificar HD com GParted;
6 ) Sair sem fazer nada;
---------------------------------'
      read alternativa
case "$alternativa" in
   1 ) echo "Aguarde ..."
   sleep 1
   echo "=> Verficando unidades de discos agora."
echo " "
sleep 3
clear
echo "Discos encontrados :"
unidade=`fdisk -l | grep Disk`
echo "---------------------------------------------------------------------------------"
echo "=> Veja as unidades, tamanho e ID abaixo:"
echo "$unidade"
echo " " 
echo "---------------------------------------------------------------------------------"
fdisk -l | grep Linux
echo "---------------------------------------------------------------------------------"
echo '
OBS.! Para discos inteiros escreva o nome das unidades sem o numero '
echo " "
echo 'Exemplo.:
1 Disco para disco: origem=/dev/sda destino=/dev/sdb'
echo " "
echo "Qual o disco de origem ?"
read origem
echo "Qual o disco de destino ?"
read destino
echo " "
sleep 3
clear
echo "=> Iniciando a clonagem agora. Seja paciente."
dd if=$origem of=$destino
echo " "
echo -e "\a"
sleep 2
echo -e "\a"
sleep 1
echo -e "\a"
echo "! Pronto. Seu disco foi clonado com sucesso."
sleep 4
clear
;;
#
   2 ) echo "Aguarde ...."
   sleep 2
   clear
   echo 'De Particao para Particao:
Ex.: origem=/dev/sda1 destino=/dev/sda-Nº da  particao'
   sleep 1
   echo "Efetuando clonagem de particao agora. Informe a origem e o destino."
   sleep 1
   echo "Qual a particao de origem ?"
      read porigem
   echo "Qual a particao de destino ?"
      read pdestino
      echo " "
sleep 3
clear
echo "=> Iniciando a clonagem agora. Seja paciente."
dd if=$porigem of=$pdestino
echo " "
echo -e "\a"
sleep 2
echo -e "\a"
sleep 1
echo -e "\a"
echo "! Pronto. Seu particao foi clonada com sucesso."
sleep 4
clear
;;
#
   3 ) echo "Aguarde..."
   clear 
   sleep 2
      echo "=> Verficando unidades de discos agora."
echo " "
sleep 3
clear
echo "Discos encontrados :"
unidade=`fdisk -l | grep Disk`
echo "---------------------------------------------------------------------------------"
echo "=> Veja as unidades, tamanho e ID abaixo:"
echo "$unidade"
echo " " 
echo "---------------------------------------------------------------------------------"
fdisk -l | grep Linux
echo "---------------------------------------------------------------------------------"
sleep 2
   echo "Criando imagem de disco agora... Informe a unidade."
   sleep 1
   echo "Escreva o nome do disco a ser feita a imagem"
      read disco
   echo "Indique o diretorio onde devo guardar a imagem"
      read diretorio
   echo "Como gostaria de chamar o arquivo ?"
      read arquivo
   sleep 2
   clear
   echo "=> Iniciando a clonagem agora. Seja paciente."
   dd if=$disco of=$diretorio/$arquivo.img
echo " "
echo -e "\a"
sleep 2
echo -e "\a"
sleep 1
echo -e "\a"
echo "! Pronto. Sua imagem foi gerada com sucesso."
sleep 4
clear

;;
   4 ) echo "Montando agora..."
   sleep 1
   clear
   echo "Qual particao devo montar ?"
      read particao
   if [ -d "/tmp/PARTICAO/$$" ]; then
   echo "Montando "$particao" em /tmp/PARTICAO"
         else
   echo "Vou criar um diretorio temporario para montagem"
   mkdir /tmp/PARTICAO/
   echo "Sua particao e de um sistema windows ? sim/nao"
      read sistema
      if [ "sistema" = "sim" ]; then
   mount -t ntfs-3g $particao /tmp/PARTICAO/
         else
   mount $particao /tmp/PARTICAO/
      fi
   echo "Sua particao foi montada em /tmp/PARTICAO/"
   fi
;;
   5 ) echo "Abrindo GParted agora..."
      if [ -e "/usr/bin/gparted" ]; then
      sleep 2
      echo "GParted encontrado. Abrindo agora."
      sleep 2
      /usr/bin/gparted
         else
      echo "O Gparted nao foi encontrado..."
      fi
;;      
   6 ) echo "Saindo agora..."
   sleep 2
   clear
;;
*) echo "Ops.! alternativa errada."
sleep 2
echo "Escolha 1,2,3,4 ou 5"
sleep 4
clear
;;
#
esac





;;

##################################################################
   12 ) clear
echo "=> Apagando MAC'S Antigas do arquivo... /etc/udev/rules.d/70-persistent-net.rules"
echo "#configurado via script => JULIO 2.0<=" > /etc/udev/rules.d/70-persistent-net.rules
echo "OK...Reinicie o Micro Para que Possa Reconhecer a(s) Placa(s) de Rede."
sleep 3
;;
##################################################################
   13 ) clear
echo "Qual a interface Voce Quer Compartilhar?"
sleep 2
read compartilhar
echo "Quer Manter Fixo Este Compartilhamento? sim/nao"
sleep 2
read sn
sleep 1


if [ $sn = sim ]; then
 
echo "modprobe iptable_nat" >> /etc/rc.local
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
echo "iptables -t nat -A POSTROUTING -o $compartilhar -j MASQUERADE" >> /etc/rc.local
echo "exit 0" >> /etc/rc.local
echo "#configurado via script => JULIO 2.0<=" >> /etc/rc.local
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $compartilhar -j MASQUERADE

sleep 1

else
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $compartilhar -j MASQUERADE
fi
;;
##################################################################
   14 ) clear
echo "Que Horas São? Ex.: 1230, HHMM (não Use os 2 Pontos ":")"
read hora
echo "Qual a Dia é Hoje?"
read dia
echo "Qual o Mês?"
read mes
echo "Qual o Ano?"
read ano
date $mes$dia$hora$ano
clear
echo "Data e Hora Ajustadas."
sleep 3
;;
##################################################################
   15 ) clear
echo "Será Aberto o Cfdisk"
sleep 2
clear
cfdisk
fdisk -l
echo "Qual Partição Deseja Montar?"
read part
echo "Qual o Formato? ext3,Reiserfs,vfat,ntfs-3g"
read format
mkdir /media/$part
mount -t $format /dev/$part /media/$part
echo "Sua Partição Foi Montada em: /media/$part"
konqueror '/media/'
clear
umount /dev/$part 
echo "



          Sua Partição Foi Desmontada."
sleep 2
;;
##################################################################
   16) clear
echo "
         Hostname Atual:"
cat /etc/hosts
sleep 2
clear
echo "Qual o Novo Hostname?"
read hostname
echo "127.0.0.1       localhost" > /etc/hosts
echo "127.0.1.1       $hostname" >> /etc/hosts
echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/hosts


echo "$hostname" > /etc/hostname
echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/hostname
echo "  


          Concluído...Hostname Alterado"
sleep 3
;;
##################################################################
   17) clear
echo "


            Júlio César Fais 
        Good Bye :-] ... Saindo ...
        julio.tecnico@bol.com.br"
   sleep 3
   clear
;;
##################################################################

   *) clear
echo "



             Alternativa errada!
           Escolha Opçoes de 1 a 17."

sleep 4
clear
;;

esac

Scripts recomendados

plaspkg dialog

Script para comparar CD's

Ajuste de data e hora automática

Parando o Screeensaver do Gnome durante uma reprodução no mplayer

verificar os maiores arquivos no HD


  

Comentários
[1] Comentário enviado por schrodinger em 14/11/2014 - 00:30h

Muito bom!!! Muito útil!!!
No meu sistema apareceu a seguinte mensagem:

No protocol specified
(zenity:10866): Gtk-WARNING **: cannot open display: :0

Resolvi com:
xauth merge /home/user/.Xauthority


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts