
как настроить apt-get для работы через прокси?
решение1
http_proxy="http://host:port" apt-get something
должно сработать.
Если вам требуется аутентификация, попробуйте
http_proxy="http://user:pass@host:port" apt-get something
И если вы хотите, чтобы это было постоянным, вам, вероятно, следует установить переменные http_proxy (и ftp_proxy?), ~/.bashrc
чтобы все ваши приложения, поддерживающие прокси, работали в будущем, например, «wget».
решение2
в /etc/apt/apt.conf добавьте строку:
Acquire::http::Proxy "http://MYDOMAIN\MYNAME:[email protected]:MYPORT"
От:http://ubuntuforums.org/showthread.php?t=96802
(Примечание: полностью украдено изэтот ответна мой аналогичный вопрос на SF. КредитГризли)
решение3
Прокси указывается путем установки переменных окружения 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 файле конфигурации.