Created: 2009-05-08 16:11 | Updated: 2009-05-08 16:11 |
Se seu computador está atrás de um proxy para acesso à Internet, você deve configurar o proxy no APT para que ele possa realizar as atualizações e instalações de softwares.
Se você usa apenas a interface gráfica, configure diretamente no synaptic. Esta dica cobre apenas os usuários mais avançados e que gostam da linha de comando...
Para configurar o proxy, devemos criar um arquivo com as configurações necessárias. No Debian e derivados (como o Ubuntu), o APT carrega as configurações do diretório /etc/apt. Neste diretório, há um subdiretório que pode ser usado para adicionar configurações específicas, que é o diretório /etc/apt/apt.conf.d. Ao invés de alterar o arquivo de configuração padrão do APT, podemos adicionar arquivos de configuração neste diretório, facilitando a administração.
Neste exemplo, vamos considerar que o proxy exige autenticação. Se o proxy não exigir autenticação, basta remover as configurações de usuário e senha dos exemplos.
Nos exemplos a seguir, substitua os campos USUARIO, SENHA, IP_DO_PROXY e PORTA pelos valores de seu ambiente. Crie o arquivo /etc/apt/apt.conf.d/80proxy e adicione a seguinte configuração:
Acquire {
Retries "0";
HTTP {
Proxy "http://USUARIO:SENHA@IP_DO_PROXY:PORTA";
};
};
Importante: esta configuração trás o uma brecha na segurança: por padrão, todos os arquivos do diretório /etc/apt/apt.conf.d são acessíveis por todos os usuários, expondo o nome de um usuário e a sua senha. Como a atualização de software é realizada apenas pelo administrador, podemos restringir o acesso ao arquivo de configuração do proxy:
chown root:root /etc/apt/apt.conf.d/80proxy
chmod 600 /etc/apt/apt.conf.d/80proxy
Esta configuração resolve parte do problema: o APT usa o wget para realizar o download dos pacotes e listas de pacotes. Então, precisamos configurar o wget para uso com proxy. No meu caso, bastou adicionar as seguintes configurações no arquivo /etc/wgetrc:
ftp_proxy = http://IP_DO_PROXY:PORTA/
http_proxy = http://IP_DO_PROXY:PORTA/
proxy_user = USUARIO
proxy_passwd = SENHA
use_proxy = on
Importante: esta configuração, sofre do mesmo problema já descrito: a senha fica exposta a acesso público, pois o arquivo /etc/wgetrc é acessível por todos os usuários. Se o wget não for utilizado por outros usuários, basta restringir o acesso ao arquivo ao root:
chown root:root /etc/wgetrc
chmod 600 /etc/wgetrc
Se isto não for possível, isto é, se o wget for utilizado por outros usuários que não o root, então pode-se adicionar as configurações de proxy por usuário, no arquivo .bash_profile de cada usuário da seguinte forma (adicione no final do arquivo):
http_proxy="http://USUARIO:SENHA@IP_DO_PROXY:PORTA"
ftp_proxy="http://USUARIO:SENHA@IP_DO_PROXY:PORTA"
export http_proxy ftp_proxy
Espero ter ajudado.
Marião