Como usar o "apt-get" via "Http-proxy" como este?

20

Estou tentando usar o apt-getcomando em uma rede que usa um proxy, como este:

Usamos 10.114.7.7 na porta 80 como proxy Http e, depois disso, uma janela de autenticação é exibida, solicitando nome de usuário e senha.

Nosso nome de usuário / domínio é assim: nomedeusuá[email protected]

Gostaria de saber como posso usar http_proxy=http://User:Pass@Proxyserver:Portnessa situação !? Eu também tentei ambos, 10.114.7.7 e urmia.ac.ir como servidor Proxy, mas sem resultado!

Mcferry
fonte

Respostas:

35

Para usar o apt-get através de um proxy, crie um arquivo /etc/apt/apt.conf.d/chamado proxy ou algo que você reconheça ou faça (se não existir) /etc/apt/apt.confe insira a seguinte linha:

Acquire::http::Proxy "http://username:[email protected]:port/";

Simplesmente substitua nome de usuário e senha pelos seus detalhes de login e substitua proxy.server: port pelo endereço correto (no seu caso, 10.114.7.7:80), para que sua linha termine assim:

Acquire::http::Proxy "http://username:[email protected]:80";

Se você precisar usar o @símbolo em seu nome de usuário, será necessário escapá-lo com uma barra invertida ( [email protected])

Embora o escape de caracteres usando a barra invertida não funcione (por exemplo, \@in exporte wget), caracteres especiais podem ser escapados com a codificação de URL. Por exemplo, username:my@[email protected]:porttorna-se username:my%[email protected]:port. Veja esta lista de caracteres codificados em URL para obter mais informações.

Jase
fonte
A solução proposta para adicionar uma entrada de proxy dentro de / etc / apt funcionou para mim, mas observo que se o servidor proxy armazena em cache as credenciais, você pode evitar incorporar suas credenciais no arquivo de configuração, autenticando-se através do servidor proxy em um processo diferente ( por exemplo, navegador da web no Windows), antes de executar os comandos apt no seu shell bash. Ao fazer isso, pude especificar a entrada do proxy dentro de / etc / apt como " server: port " em vez de " username: password @ server: port ".
Peter Sanza
6

Como alternativa, você pode colocar o seguinte em /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 é o número da porta e eu acho que é padrão.

Não se esqueça das aspas ou do ponto e vírgula à direita.

Justin Peter
fonte
4

Isso deve resolver seu problema:

export http_proxy=http://username:[email protected]:80/
Abasi Bo
fonte
EXPORT HTTP_proxy=http://username:[email protected]:80/executado no Bash resulta em EXPORT: command not found.
David Foerster
Exporte e http em minúsculas. O Bash diferencia maiúsculas de minúsculas. Caso contrário, deve funcionar. Pelo menos, está trabalhando para mim há dois anos.
S3lph
6
funciona para curl, mas não para o apt.
FGM