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ã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
Ajuste de data e hora automática
Parando o Screeensaver do Gnome durante uma reprodução no mplayer
verificar os maiores arquivos no HD
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (7)