Есть ли способ использовать 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.
Наконец-то я заработал, как хотел.
Для каждого локального зеркала вы должны добавить такую строку:
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";
Таким образом, я могу использовать наш веб-прокси для внешних / внешних репозиториев и иметь возможность использовать наше зеркало локального репозитория без веб-прокси.
Вот как я решаю эту проблему.
Удалите все строки получения в 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. Вот и все. Прокси теперь используется для всех внешних подключений, а не для внутренней сети.