APT com Proxy no Debian e Ubuntu — Blog do Marião
« Entendendo as Permissões de Arquivos no GNU/Linux
LaTeX no Linux »
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 onfiguração padrão do APT, podemos adicionar arquivos de configuração neste diretório, facilitando a adminsitraçã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:
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çao 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
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 é, 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):