web-dev-qa-db-fra.com

Acquérir :: http :: proxy pour les dépôts spécifiés uniquement

Existe-t-il un moyen d'utiliser acquis :: http :: proxy pour certains référentiels?

Je suis dans un réseau qui a un serveur proxy. Donc tout le monde doit mettre à jour /etc/apt/apt.conf en ajoutant les lignes comme

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

Tout fonctionne bien avec ça.

Mais maintenant nous avons BEAUCOUP de machines Ubuntu et je veux créer un miroir local Ubuntu.

Nous devrions donc effacer ces lignes proxy ... sauf les référentiels externes.

Alors, comment puis-je configurer quelque chose comme ça?

Dans les distributions basées sur RH, vous pouvez avoir un paramètre de proxy global pour yum, puis utiliser des paramètres de proxy individuels pour chaque référentiel. Mais n'a pas trouvé quelque chose de similaire sur Ubuntu.

9
Gustavo Berman

Finalement, je le fais fonctionner comme je le voulais.

Pour chaque miroir local, vous devez ajouter une ligne comme ceci:

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

Donc, dans /etc/apt/apt.conf, j'ai quelque chose comme:

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";

Ainsi, je peux utiliser notre proxy Web pour des référentiels externes/externes et pouvoir utiliser notre miroir de référentiel local sans proxy Web.

9
Gustavo Berman

Voici comment je résous ce problème.

Supprimez toutes les lignes d'acquis dans apt.conf et ramenez-les à l'état vierge

Maintenant, exportez votre http_proxy en tant que

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

où xyz.org est votre nom de domaine local

Enfin, exécutez apt-get comme suit.

Sudo -E apt-get update

L'option -E rend la variable http_proxy disponible pour apt-get. C'est ça. Le proxy est maintenant utilisé pour toutes les connexions externes et non pour le réseau interne.

0
Hashken