Script de instalação do Hamachi
Publicado por Anderson Leite 14/08/2006
[ Hits: 10.505 ]
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
Juntando páginas separadas num único PDF
Backup dos arquivos e diretórios de um servidor com XMAIL e Iptables para um servidor central de Bac
Implementando a famosa hélice ASCII
Coolrom_downloader - download de roms
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
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









