Script de instalação do Hamachi
Publicado por Anderson Leite 14/08/2006
[ Hits: 10.498 ]
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
Shuffle - Simples shell script que embaralha um array
Script bem simples para eniar e-mail com arquivo em anexo.
Jogo de labirinto feito em shell script
Script para configuração do jogo 0 A.D
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (8)
Quais os códigos mais dificeis que vcs sabem fazer? (3)
Fiz uma pergunta no fórum mas não consigo localizar (14)
Upscaling com imagem cortada no monitor secundário ao usar iGPU Multi ... (1)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... [RES... (8)









