Quebra-Galho-Faz-tudo-Configurator
Publicado por julio cesar fais (última atualização em 25/10/2010)
[ Hits: 7.492 ]
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ã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.
#!/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
Descom.sh - Descompactador de arquivos
Instalar impressora no CUPS a partir de um arquivo PPD
Obtém fotos de uma Câmera Digital organizando em Subdiretórios e Renomeando
RWwmaMp3 - converter wma para mp3
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (14)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









