Quebra-Galho-Faz-tudo-Configurator
Publicado por julio cesar fais (última atualização em 25/10/2010)
[ Hits: 7.416 ]
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
Descubra o event correspondente ao seu dispositivo
Script - muda conteúdo de arquivos texto de iso-8859-1 para utf8 recursivamente
Shell Script para compilar o suporte À Logitech Quickcam Express no Slackware / Vector / Slax Linux
Extração do áudio de um DVD - Ogg Vorbis
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)









