Um proxy é especificado definindo as variáveis de ambiente http_proxy , ftp_proxy e all_proxy , localmente (por exemplo, em ~/.bashrc ) ou globalmente (por exemplo, em /etc/bash.bashrc ). Essas configurações são honradas virtualmente por todos os pacotes de software de rede (como apt-get, wget, curl etc.):
# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"
No entanto, defini-los desta forma não ajuda quando executar sudo apt-get ... - e isso é devido a esta linha em /etc/sudoers :
Defaults env_reset
Esta linha todas as variáveis de ambiente ao usar sudo , por motivos de segurança. Para manter os valores de http_proxy etc. em uma invocação sudo , você pode especificar exceções para env_reset via env_keep :
# Exception specific to the command apt-get
Defaults!/usr/bin/apt-get env_keep="http_proxy https_proxy ftp_proxy"
# Exception specific to the user joe
Defaults:joe env_keep="http_proxy https_proxy ftp_proxy"
Dessa forma, você obtém apt-get para honrar a configuração global para http_proxy, em vez de duplicar a configuração para apt-get em algum arquivo de configuração específico do apt arcano.