apt-get behind proxy no VirtualBox Ubuntu

Respostas:

8
http_proxy="http://host:port" apt-get something

Deveria trabalhar.

Se você precisar de autenticação, tente

http_proxy="http://user:pass@host:port" apt-get something

E se você quiser que isso seja permenante, provavelmente defina as variáveis ​​http_proxy (e ftp_proxy?) Nas suas ~/.bashrcpara que todos os seus aplicativos compatíveis com proxy funcionem no futuro, por exemplo, 'wget'.

Caro
fonte
2
mais uma coisa a observar é que, se a senha contiver '@', substitua-a por '% 40' (sem aspas), caso contrário não funcionará
dotslash
8

em /etc/apt/apt.conf, adicione a linha:

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:[email protected]:MYPORT"

De: http://ubuntuforums.org/showthread.php?t=96802

(Nota: completamente roubado desta resposta à minha pergunta semelhante sobre SF. Cred to Grizzly )

squillman
fonte
A linha precisa terminar com um;
Verma
Meu nome era diferente, mas isto é o que funcionou para mim/etc/apt/apt.conf.d/01proxy
Jackie
4

Um proxy é especificado configurando as variáveis ​​de ambiente http_proxy, ftp_proxye all_proxy, localmente (por exemplo, in ~/.bashrc) ou globalmente (por exemplo, in /etc/bash.bashrc). Essas configurações são respeitadas por praticamente 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 dessa maneira não ajuda ao executar sudo apt-get ...- e isso se deve a esta linha /etc/sudoers:

Defaults env_reset

Essa linha redefine todas as variáveis ​​de ambiente ao usar sudo, por razões de segurança. Para manter os valores de http_proxyetc. em uma sudochamada, você pode especificar exceções para env_resetvia 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ê apt-getpoderá honrar a configuração global para http_proxy, em vez de duplicar a configuração apt-getem algum arquivo de configuração arcano específico do apt.

DevSolar
fonte
Esta é a verdadeira resposta na minha opinião, porque você usará o tempo todo sudo apt-get ...para qualquer coisa. Portanto, sem essa entrada /etc/sudoers, ela não funcionará.
mliebelt
Esta env_resetlinha é /etc/sudoersrealmente importante!
Ari
1
@Ari: Sim, é; foi por isso que mostrei como desabilitá-lo especificamente para apt-gete especificamente para as variáveis ​​necessárias, em vez de dizer "apenas remova a linha".
DevSolar 9/09/14
@ DevSolar: sim, e mais 1 por isso!
Ari