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.