shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

script para proxy


From: voyeg3r
Subject: script para proxy
Date: Tue, 13 Nov 2007 14:39:51 -0000
User-agent: eGroups-EW/0.82

Certa vez publiquei um script para configuração de proxy, gostaria de
uma otimização para que o script passe a ter um menu, usando case

      1) configurar o proxy (se estiver configurado mostrar dados)
      2) zerar configuração do proxy
      3) atualizar lista de pacotes
     
Obs: a idéia de zerar as configurações é porque às vezes atualizo
máquinas aqui na empresa e quando os usuários levam os micros pra casa 
as configurações de proxy lhes atrapalham nas atualizações


meu script atualmente esta assim:
#######################################

#!/bin/bash
# script para ativar o apt via proxy
# Criado: Sex 09/Fev/2007 hs 13:50
# Last Change: Ter 13 Nov 2007 07:18:23 BRT
# Autor: Sergio Luiz Araujo Silva
#
# Serao editados os arquivos
# /etc/profile
# /etc/bashrc
# /etc/apt/apt.conf
# /etc/environment

clear
echo " "
echo "      =============================================="
echo "         Script para configuracao do apt via proxy"
echo "      =============================================="
sleep 1


if  [ "$(id -u)" != "0" ];  then
  echo
  echo "      Este script precisa ser executado como root"
  echo "      Faça login como root e tente novamente"
  sleep 3
  clear
  exit  1
fi


# estas linhas serão executadas caso o proxy já esteja configurado
# ===============================================================
if cat /etc/profile | grep "\(http_proxy\|ftp_proxy\)" > /dev/null; then
   echo "   O proxy ja esta configurado em /etc/profile"
   echo "   Os valores sao: "
   echo
   cat /etc/profile | grep "\(http_proxy\|ftp_proxy\)"
   sleep 4
   clear
   exit 1
fi
# ===============================================================


# as linhas abaixo pegam os dados necessários para configurar o seu proxy
echo
read -p "   O proxy necessita usuario e senha?  [s/N] " proxysenha
proxysenha=$(echo $proxysenha | tr [[:upper:]] [[:lower:]] | cut -c1)

   if [ "$proxysenha" = "s" ]; then
     read -p "   Digite o nome do usuario para o proxy: " usuario
     read -p "   Digite a senha para o proxy: " senha
   fi

   read -p "   Digite o ip do servidor proxy: " ip_servidor
   read -p "   Digite a porta do proxy: " porta
   echo

   if [ "$proxysenha" = "s" ]; then
      PROXY="${usuario}:${senha}@${ip_servidor}:${porta}"
   else
      PROXY="${ip_servidor}:${porta}"
   fi


# configuração do /etc/profile
cat <<-EOF >> /etc/profile

http_proxy="http://${PROXY}";
ftp_proxy="http://${PROXY}";
export http_proxy ftp_proxy
EOF

# configuração do /etc/apt/apt.conf
cat <<-EOF >>  /etc/apt/apt.conf

Acquire {
HTTP::PROXY=${PROXY};
FTP::PROXY=${PROXY};
}
EOF


# Configuracao do /etc/environment
cat <<-EOF >> /etc/environment

http_proxy="http://${PROXY}";
ftp_proxy="http://${PROXY}";

Acquire {
HTTP::PROXY=${PROXY};
FTP::PROXY=${PROXY};
}

alias wget="wget -Y on"

EOF

## se o proxy tiver senha o wget tem que ter senha também
if [ "$proxysenha" = "s" ]; then
# configuracao do wget
cat <<-EOF >> /etc/bashrc

alias wget="wget --proxy-user=${usuario} --proxy-passwd=${senha}"
EOF

fi

echo
echo "   1 - Feche o konsole atual"
echo "   2 - Abra um novo terminal e"
echo "   3 - Rode o apt-get update como root"
echo
sleep 2
exit

# como exportar as variáveis para a seção atual?








reply via email to

[Prev in Thread] Current Thread [Next in Thread]