приобрести :: http :: proxy только для указанных репозиториев

9

Есть ли способ использовать acqu :: http :: proxy для некоторых репозиториев?

Я в сети с прокси-сервером. Таким образом, каждый должен обновить /etc/apt/apt.conf, добавив следующие строки:

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

Все работает хорошо с этим.

Но теперь у нас много машин с Ubuntu, и я хочу создать локальное зеркало Ubuntu.

Таким образом, мы должны стереть эти строки прокси ... за исключением внешних репозиториев.

Итак, как мне настроить что-то подобное?

В дистрибутивах на основе RH вы можете иметь глобальную настройку прокси для yum, а затем использовать индивидуальные настройки прокси для каждого репозитория. Но не нашел ничего похожего в Ubuntu.

Густаво Берман
источник

Ответы:

10

Наконец-то я заработал, как хотел.

Для каждого локального зеркала вы должны добавить такую ​​строку:

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

Итак, в /etc/apt/apt.conf я получил что-то вроде:

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

Таким образом, я могу использовать наш веб-прокси для внешних / внешних репозиториев и иметь возможность использовать наше зеркало локального репозитория без веб-прокси.

Густаво Берман
источник
2
Это прекрасно работает, но где документация для этого?
хроноспун
1
@chronospoon, я думаю, что подходящие авторы думают, что вы мастер Python и точно будете знать, как работает эта часть. 8-)
Алексис Уилке
2
Acquire::http::proxy::HOST_NAME_TO_BE_PROXIED "http://yourproxyaddress:proxyport";Acquire::http::proxy::download.docker.com "http://1.2.3.4:1234";
Обратный
-1

Вот как я решаю эту проблему.

Удалите все строки получения в apt.conf и верните его в исходное состояние

Теперь экспортируйте ваш http_proxy как

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

где xyz.org - ваше локальное доменное имя

Теперь, наконец, запустите apt-get следующим образом.

sudo -E apt-get update

Опция -E делает переменную http_proxy доступной для apt-get. Вот и все. Прокси теперь используется для всех внешних подключений, а не для внутренней сети.

Hashken
источник
1
Этот метод не совместим с остальной частью системы.
Густаво Берман