19 авг. 2008 г.

apt & wget via proxy

Ввиду переезда на "проксявый инет" пришлось озадачиться такой вот проблемой - а как сказать apt'у, куда ходить? Это wget умный, ему достаточно переменные окружения http_proxy / ftp_proxy объявить банальным export'ом (ну или в /etc/wgetrc описать в виде http_proxy = ip:port). Да, ну а если нужна авторизация, то еще добавить туда же proxy_user и proxy_password. Более того, если требуется вот именно сейчас сходить прямо, а удалять переменные не хочется, или они в конфиг-файл вписаны, есть ключ --no-proxy, отправляющий wget по заданному адресу директом.
Apt на такие сухари не ведется. Отсюда правило: при работе из-за прокси-сервера, просящего авторизацию или пускающего на добром слове (неважно), делаем так: в файле /etc/apt/apt.conf (если нет, создать!), рисуем следующее:
Acquire::http::Proxy "http://user:pass@proxyip:proxyport";
Acquire::ftp::Proxy "http://user:pass@proxyip:proxyport";
Acquire::::Proxy "true";
Все действия, естественно, от имени суперпользователя.