Я использую сервер Ubuntu 12.04 внутри сети моей компании. Для доступа к внешней сети ему требуется прокси-сервер. Я настроил прокси-сервер во время установки. После этого я обнаружил, что мои настройки прокси-сервера были сохранены в /etc/apt/apt.conf. Но их нет в переменных среды. Однако wget также может загружать веб-страницы через прокси-сервер. Где wget (и другие программы) считывает мои настройки прокси-сервера?
решение1
Как обычно, я полагаю, никто не позаботился об интеграции всех настроек связи для программ, используемых в Linux/Ubuntu, что весьма прискорбно.
В версии 11.10 общесистемные настройки располагаются в нескольких местах:
/etc/окружающая среда
...
http_proxy="user:[email protected]:port
...
/etc/apt/apt.conf.d/02/proxy
apt
Настройки команды находятся в этом файле:
Acquire::http::proxy "http:/user:[email protected]:port"
/etc/wgetrc
Команда wget
имеет свои настройки в этом файле, имеющие тот же формат, что и /etc/environment
файл, упомянутый выше.
http_proxy="user:[email protected]:port
При условии, что версия 12.04 имеет ту же конфигурацию файлов, что и версия 11.10 относительно этих трех программ, вы можете редактировать эти файлы для сервера.
У меня был файл скрипта для изменения всех этих вещей в 11.10 между работой и домом, но теперь я не буду использовать этот скрипт, пока не узнаю больше подробностей о том, как 12.04 решает эти проблемы.
решение2
wget
использует /etc/wgetrc
, в котором вы найдете строки прокси-сервера HTTP и HTTPS, которые нужно раскомментировать и отредактировать с помощью настроек прокси-сервера.
решение3
Многие командные строки Linux могут использовать переменные среды http_proxy
и ftp_proxy
. Просто установите их в файле .bashrc или настройте скрипт оболочки для установки этих переменных среды перед запуском таких команд, как apt
или wget
и т. д.
export http_proxy=http://proxyserver:port/
export ftp_proxy=http://proxyserver:port/
решение4
wget и многие другие программы получают информацию о прокси из переменной окружения http_proxy. Попробуйте команду echo $http_proxy
в оболочке, чтобы она была установлена.