Script de instalação do Hamachi
Publicado por Anderson Leite 14/08/2006
[ Hits: 10.537 ]
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
dcalc: Calculadora Com Conversão de Bases
Instalação do BrOffice.org 3.2.1 em distros Debian-like
Script - muda nomes de arquivos de iso-8859-1 para utf8 recursivamente
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









