adquirir :: http :: proxy solo para repositorios especificados

9

¿Hay alguna manera de usar adquirir :: http :: proxy para algunos repositorios?

Estoy en una red que tiene un servidor proxy. Entonces todos tienen que actualizar /etc/apt/apt.conf agregando las líneas 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";

Todo funciona bien con eso.

Pero ahora tenemos MUCHAS máquinas ubuntu y quiero hacer un espejo ubuntu local.

Por lo tanto, deberíamos borrar esas líneas proxy ... excepto los repositorios externos.

Entonces, ¿cómo configuro algo así?

En distribuciones basadas en RH, puede tener una configuración de proxy global para yum y luego usar configuraciones de proxy individuales para cada repositorio. Pero no encontré algo similar en Ubuntu.

Gustavo Berman
fuente

Respuestas:

10

Finalmente lo conseguí funcionando como quería.

Para cada espejo local, debe agregar una línea como esta:

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

Entonces, en /etc/apt/apt.conf obtuve 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";

De esa manera, puedo usar nuestro proxy web para repositorios externos / externos y poder usar nuestro espejo de repositorio local sin un proxy web.

Gustavo Berman
fuente
2
Esto funciona perfectamente, pero ¿dónde está la documentación para esto?
Cronospoon
1
@chronospoon, creo que los autores aptos piensan que eres un maestro en Python y sabrán exactamente cómo funciona esta parte. 8-)
Alexis Wilke
2
Al revés puede ser así: Acquire::http::proxy::HOST_NAME_TO_BE_PROXIED "http://yourproxyaddress:proxyport";por ejemplo:Acquire::http::proxy::download.docker.com "http://1.2.3.4:1234";
Massood Khaari,
-1

Así es como resuelvo este problema.

Elimine todas las líneas de adquisición en apt.conf y devuélvala a su estado original.

Ahora, exporta tu http_proxy como

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

donde xyz.org es tu nombre de dominio local

Ahora finalmente ejecuta apt-get de la siguiente manera.

sudo -E apt-get update

La opción -E hace que la variable http_proxy esté disponible para apt-get. Eso es. Proxy ahora se usa para todas las conexiones externas y no para la red interna.

Hashken
fuente
1
Este método no es compatible con el resto del sistema.
Gustavo Berman