8

как настроить apt-get для работы через прокси?

3 ответа3

8

в /etc/apt/apt.conf добавьте строку:

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:MYPASS@MY.PROXY.COM:MYPORT"

От: http://ubuntuforums.org/showthread.php?t=96802

(Примечание: полностью украден из этого ответа на мой аналогичный вопрос по SF. Кред Гризли)

8
http_proxy="http://host:port" apt-get something

должно сработать.

Если вам требуется аутентификация, попробуйте

http_proxy="http://user:pass@host:port" apt-get something

И если вы хотите, чтобы это было постоянным, вам, вероятно, следует установить http_proxy (и ftp_proxy?) переменные в вашем ~/.bashrc чтобы все ваши прокси-совместимые приложения работали в будущем, например, 'wget'.

4

Прокси-сервер указывается путем установки переменных среды http_proxy , ftp_proxy и all_proxy , локально (например, в ~/.bashrc) или глобально (например, в /etc/bash.bashrc). Эти параметры учитываются практически всеми пакетами сетевого программного обеспечения (такими как apt-get, wget, curl и т.д.):

# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"

Однако их установка не помогает при запуске sudo apt-get ... - и это из-за этой строки в /etc/sudoers:

Defaults env_reset

Эта строка сбрасывает все переменные окружения при использовании sudo по соображениям безопасности. Чтобы сохранить значения http_proxy и т.д. В вызове sudo , вы можете указать исключения для env_reset через env_keep:

# Exception specific to the command apt-get
Defaults!/usr/bin/apt-get env_keep="http_proxy https_proxy ftp_proxy"
# Exception specific to the user joe
Defaults:joe env_keep="http_proxy https_proxy ftp_proxy"

Таким образом, вы получаете apt-get чтобы соблюдать глобальные настройки для http_proxy, вместо дублирования настроек для apt-get в каком-то непонятном специфичном для apt файле конфигурации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .