DobrijZmej 15.06.2010 09:43
Tips & tricks — Работа wget из командной строки, используя proxy.
Есть ситуация:Есть корпоративная сетка, где весь интернет настроен через прокси.
Есть Synaptic, который отлично качает обновления из интернета сквозь эту прокси.
И есть проблема - обновления, запущенные из командной строки не вытягиваются из интернета. Тупо не находят адрес.
Подозреваю, что apt-get использует настройки утилиты wget.
Поэтому расскажу, как ее (wget) настроить так, чтоб она по умолчанию использовала прокси.
Начну с того, что можно найти в любой ссылке из гугла:
Нужно прописать настройки wget в конфиге в домашнем каталоге пользователя:
Создаем файл ~/.wgetrc
Наполняем его следующим содержимым:
1 |
|
Где вместо proxy.com.ua подставляем тот адрес, который используется в Вашей сети, а через двоеточие пишем порт, используемый Вашим прокси.
Собственно и все, после этого команда
1 |
|
Должна отлично отработать и скачать в текущий каталог копию этой страницы.
Если это так, то поздравляю Вас, дальнейший текст можете не читать.
Однако, в моем случае этого не хватило, и я продолжил эксперименты. Удивительно, но команда
1 |
|
Отработала вполне успешно.
Проблема оказалась в переменной среды $no_proxy. У меня в конце всех адресов стояла запятая.
Помог следующий скрипт:
1 |
|
После этого все отлично заработало.
upd.
Кроме wget прокси нужно прописывать и другим утилитам. Для того чтобы не морочиться с каждой отдельной тулзой нужно добавить вот эти 2 строчки в файл /etc/environment
1 |
http_proxy=http://username:[email protected]:port/
|
замените на свои данные
теперь все консольные приложения будут бегать через ваш прокси
Ну вы еще не сказали про https.
И это правда возможно, когда сервер прокси позволяет создавать несколько сессий с одним username:password :(
И это правда возможно, когда сервер прокси позволяет создавать несколько сессий с одним username:password :(
да ? сам тянет ?
Ну, во всяком случае эти настройки мне помогли.
Ну, во всяком случае эти настройки мне помогли.
Во-первых apt-get не использует wget. А помогло потому что apt, судя по всему, тоже читает переменные http_proxy и ftp_proxy. В гноме есть штуковина для настройки прокси, она тоже выставляет эти переменные.
Можно ещё сделать через конфиги apt'а в /etc/apt/, но можно и так.
Можно ещё сделать через конфиги apt'а в /etc/apt/, но можно и так.
у меня больше затык был на $no_proxy - долго гуглил пока нашел решение.
Из за этого, собственно, и создавал пост.
Упоминание менеджера обновлений и wget поправил.
Из за этого, собственно, и создавал пост.
Упоминание менеджера обновлений и wget поправил.
export http_proxy=http://username:[email protected]:port/
export ftp_proxy=http://username:[email protected]/
замените на свои данные
теперь все консольные приложения будут бегать через ваш прокси