Script de instalação do Hamachi
Publicado por Anderson Leite 14/08/2006
[ Hits: 10.168 ]
Homepage: www.andersonleite.net
Este script pretende fazer a instalação e a configuração do Hamachi em sistemas GNU/Linux. O ambiente de testes foi um servidor rodando Debian Sarge, e um outro servidor rodando Debian Woody. Pode ser alterado facilmente para qualquer distribuição disponível no mercado, bastando para isso observar a localização dos binários no início do script.
#!/bin/bash start_install () { echo “Iniciando a checagem do sistema, aguarde…” sleep 2 echo ” ” # Testa se temos o make for x in /usr/bin/make; do if [ -e “$x” ]; then echo “Make existe, continuando”; echo ” “; else echo “Make nao encontrado, por favor, instale o make antes de continuar”; exit_install ; fi; done; # Testa se temos o gcc for y in /usr/bin/gcc; do if [ -e “$y” ]; then echo “GCC existe, continuando”; echo ” “; else echo “GCC nao encontrado, por favor, instale os pacotes necessários antes de continuar”; exit_install; fi; done; # Testa se temos o lynx for w in /usr/bin/lynx; do if [ -e “$w” ]; then echo “Navegador Lynx existe, continuando”; echo ” “; else echo “Lynx nao encontrado, por favor, instale os pacotes necessários antes de continuar”; exit_install; fi; done; # Testa se temos o wget for z in /usr/bin/wget; do if [ -e “$z” ]; then echo “WGET existe, continuando”; echo ” “; else echo “WGET nao encontrado, por favor, instale os pacotes necessários antes de continuar”; exit_install; fi; done; # Testa se temos o wget for k in /usr/bin/awk; do if [ -e “$k” ]; then echo “AWK existe, continuando”; echo ” “; else echo “AWK nao encontrado, por favor, instale os pacotes necessários antes de continuar”; exit_install; fi; done; # Testa se o kernel em execucao é 2.6.xx for version in `uname -r | cut -f 1-2 -d .`; do if [ $version = 2.6 ]; then echo “Kernel 2.6 encontrado, continuando”; echo ” “; else echo “Voce nao esta executando um kernel 2.6.xx, por favor, atualize o kernel e tente novamente”; exit_install; fi; done; echo “Fim da checagem. Todos os prerequisitos para a instalacao estao disponiveis, continuando…” # Cria o dispositivo para execucao do hamachi mkdir /dev/net 2> /dev/null mknod /dev/net/tun c 10 200 2> /dev/null # Entra no diretorio de trabalho cd /usr/local/src # Pega o nome do arquivo que deve ser baixado, para termos sempre a versão mais nova do hamachi instalada ARQUIVO=`lynx -dump http://files.hamachi.cc/linux | grep lnx | tail -2 | grep -v sha1 | awk ‘{ print –NR $2 }’ | cut -f 2-30 -d 0` # Baixa o arquivo echo “Iniciando o download do hamachi” sleep 2 wget $ARQUIVO # Descompacta o arquivo tar xvzf $ARQUIVO # Entra no diretorio DIRETORIO=`ls | grep -v gz | grep hamachi` cd $DIRETORIO # Realiza a compilacao e a instalacao make # Informa sobre a instalacao echo “Hamachi instalado com sucesso” # Carrega o tuncfg para iniciar a configuracao do hamachi /sbin/tuncfg # Inicia a configuracao do hamachi clear echo “Iniciando a configuracao do hamachi” sleep 2 /usr/bin/hamachi-init # Inicia a configuracao do hamachi echo ” ” echo “Hamachi inicializado, configurando agora” /usr/bin/hamachi start echo ” ” echo “Informe o nome que sera utilizado pelo servidor e tecle enter” # Armazena o nome digitado numa variavel read NOMESERVER # Seta o nick digitado pelo usuario na configuracao do hamachi /usr/bin/hamachi set-nick $NOMESERVER # Faz o login na rede hamachi echo “Conectando a rede hamachi” /usr/bin/hamachi login echo ” ” # Questiona sobre o nome da rede a ser utilizado echo “Informe o nome da rede a entrar” echo “ATENCAO: se o nome da rede possuir espacos, informe-o entre aspas” echo ‘Ex: “Velonet - Angola”‘ # Armazena o nome digitado numa variavel read ‘NOMEREDE’ echo ” ” # Questiona sobre a senha da rede a ser utilizada echo “Informe a senha da rede” echo “Obs: a senha nao eh mostrada na tela durante a digitacao” echo “Obs2: se a senha contiver o caracter ! ou o caracter *, protega-o do S.O com o caracter \ antes do mesmo” echo “Ex: teste\!de\*” # Armazena o nome digitado em outra variavel read -s SENHAREDE echo ” ” # Entra na rede informada echo “Tentando entrar na rede com os parametros informados” /usr/bin/hamachi join $NOMEREDE $SENHAREDE echo ” ” # Fica online na rede informada echo “Setando status para online na rede informada” /usr/bin/hamachi go-online $NOMEREDE echo ” ” sleep 3 clear echo “Fim da configuracao inicial do hamachi” echo ” ” echo “Instalando script para inicializacao do hamachi no boot” # Baixa e instala o script cd /etc/init.d wget www.andersonleite.net/files/angola/hamachi.sh chmod +x hamachi.sh cd /etc/rc2.d ln -sf /etc/init.d/hamachi.sh S99hamachi.sh # Prepara o script de checagem do hamachi echo “#!/bin/bash” > /checa_hamachi.sh echo ” ” >> /checa_hamachi.sh echo “/etc/init.d/hamachi.sh start” >> /checa_hamachi.sh echo “/usr/bin/hamachi login” >> /checa_hamachi.sh echo “/usr/bin/hamachi go-online $NOMEREDE” >> /checa_hamachi.sh chmod +x /checa_hamachi.sh # Inclui o trabalho na crontab do root echo “*/5 * * * * /checa_hamachi.sh > /dev/null 2> /dev/null” >> /var/spool/cron/crontabs/root } exit_install () { exit } case “$1″ in install) start_install ;; *) start_install ;; esac exit 0
Script para verificar o espaço atual do HD
Nautilus-Script para assistir imagens ISO de filmes no MPlayer
Criar arquivo.toc para gravar CD com o cdrdao
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhorando a precisão de valores flutuantes em python[AJUDA] (3)
Instalação Uefi com o instalador clássico do Mageia (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta