Script de instalação do Hamachi

Publicado por Anderson Leite 14/08/2006

[ Hits: 10.155 ]

Homepage: www.andersonleite.net

Download install_hamachi.sh




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.

  



Esconder código-fonte

#!/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 

Scripts recomendados

Texto colorido e centralizado

Script de Inventário

Importar vários Emolticons de uma vez para amsn

Script para adicionar chave pública

Backup MySQL Incremental via RSYNC/FTP


  

Comentários
[1] Comentário enviado por minelli em 17/02/2011 - 13:01h

Olá tiver de mudar alguns itens do script mas consegui com sucesso instalar o hamachi no linux debian.
O link www.andersonleite.net/files/angola/hamachi.sh está quebrado então eu mesmo criei um e está funcionando 100%.
O meu problema é que após + ou - 1 minuto o cliente hamachi linux que está conectado no meu servidor windows fica piscando alternadamente entre verde e cinza e ao colocar o mouse em cima está escrito "conectando..." gostaria de saber como resolver isso e se você tem alguma idéia?
Sobre o script de checagem o problema é que ao reiniciar o hamachi ele perde a conexão me trazendo problemas.
Existiria uma forma de mudar o tempo de away?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts