adquirir :: http :: proxy apenas para repositórios especificados

9

Existe uma maneira de usar o proxy Purchase :: http :: para alguns repositórios?

Estou em uma rede que possui um servidor proxy. Então todo mundo precisa atualizar o /etc/apt/apt.conf adicionando as linhas como

Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Acquire::https::Proxy "http://yourproxyaddress:proxyport";
Acquire::ftp::Proxy "http://yourproxyaddress:proxyport";
Acquire::socks::Proxy "http://yourproxyaddress:proxyport";

Tudo funcionando bem com isso.

Mas agora temos muitas máquinas ubuntu e eu quero fazer um espelho ubuntu local.

Portanto, devemos apagar essas linhas de proxy .... exceto para repositórios externos.

Então, como faço para configurar algo assim?

Nas distros baseadas em RH, você pode ter uma configuração de proxy global para o yum e, em seguida, usar configurações de proxy individuais para cada repositório. Mas não encontrou algo semelhante no Ubuntu.

Gustavo Berman
fonte

Respostas:

10

Finalmente, consegui que funcionasse como queria.

Para cada espelho local, você deve adicionar uma linha como esta:

Acquire::http::proxy::local.mirror.address "DIRECT";

Então, no /etc/apt/apt.conf, eu tenho algo como:

Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Acquire::http::proxy::local.mirror.address "DIRECT";
Acquire::https::Proxy "http://yourproxyaddress:proxyport";
Acquire::ftp::Proxy "http://yourproxyaddress:proxyport";
Acquire::socks::Proxy "http://yourproxyaddress:proxyport";

Dessa forma, posso usar nosso proxy da web para repositórios externos / externos e poder usar nosso espelho de repositório local sem um proxy da web.

Gustavo Berman
fonte
2
Isso funciona perfeitamente, mas onde está a documentação para isso?
Chronospoon
11
@chronospoon, acho que os autores do apt pensam que você é um mestre em Python e saberá exatamente como essa parte funciona. 8-)
Alexis Wilke
2
O contrário pode ser assim: Acquire::http::proxy::HOST_NAME_TO_BE_PROXIED "http://yourproxyaddress:proxyport";por exemplo:Acquire::http::proxy::download.docker.com "http://1.2.3.4:1234";
Massood Khaari
-1

É assim que eu resolvo esse problema.

Remova todas as linhas de aquisição no apt.conf e retorne ao estado original

Agora, exporte seu http_proxy como

export http_proxy=http://username:password@host:port 
export no_proxy=.xyz.org

onde xyz.org é o seu nome de domínio local

Agora, finalmente, execute o apt-get da seguinte maneira.

sudo -E apt-get update

A opção -E disponibiliza a variável http_proxy para o apt-get. É isso aí. O proxy agora é usado para todas as conexões externas e não para a rede interna.

Hashken
fonte
11
Este método não é compatível com o restante do sistema.
Gustavo Berman