Freebsd обновление портов из локальной сети

По материалам форума http://admins.arg.su

Имеем freebsd в локальной сети за шлюзом. Нужно обновлять порты через прокси сервер на шлюзе.

В файл /etc/make.conf добавим

FETCH_ENV=HTTP_PROXY=http://user:pass@ip:port
FETCH_ENV=FTP_PROXY=http://user:pass@ip:port
fetch_env=http_proxy=http://user:pass@ip:port
fetch_env=ftp_proxy=http://user:pass@ip:port
FETCH_CMD=/usr/bin/fetch -ARrvp -T 10

На шлюзе надо разрешить из локалки наружу порт 5999/tcp

Бонус. Как заставить систему работать через прокси.

При использовании shell csh добавим в файл /root/.cshrc

setenv HTTP_PROXY "http://user:pass@ip:port"
setenv FTP_PROXY "http://user:pass@ip:port"

и перелогинимся.

Как проверить, что freebsd работает через прокси?
Команда env выведет список переменных окружения в том числе и строку о прокси.

HTTP_PROXY=http://user:pass@ip:port
FTP_PROXY=http://user:pass@ip:port
Команда fetch http://www.ya.ru должна скопировать содержимое страницы www.ya.ru.

Если не хотите прописывать переменные окружения, можно заставить fetch работать через прокси вот так.

env http_proxy=user:pass@ip:port fetch http://www.ya.ru