11 votes

acquire::http::proxy pour seulement les dépôts spécifiés

Existe-t-il un moyen d'utiliser acquire::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 suivantes

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 faire un miroir ubuntu local.

Nous devrions donc effacer ces lignes proxy.... sauf pour les dépôts 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 et ensuite utiliser des paramètres de proxy individuels pour chaque dépôt. Mais je n'ai pas trouvé quelque chose de similaire sur Ubuntu.

12voto

crizCraig Points 271

J'ai finalement réussi à le faire fonctionner comme je le voulais.

Pour chaque miroir local, vous devez ajouter une ligne comme celle-ci :

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

De cette façon, je peux utiliser notre proxy web pour les dépôts externes et être capable d'utiliser notre miroir de dépôt local sans proxy web.

-1voto

Hashken Points 6042

Voici comment je résous ce problème.

Supprimez toutes les lignes d'acquisition dans apt.conf et remettez-le dans son état d'origine.

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

Maintenant, exécutez enfin apt-get comme suit.

sudo -E apt-get update

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X