Настройка кеширующего прокси для apt с помощью HttpReplicator


При использовании дебиана/убунту на нескольких машинах в одной локальной сети возникает проблема – неоптимально используется трафик, каждый из компьютеров скачивает по разу все обновления. С другой стороны – настройка локального репозитория означает финансовые затраты (большой обьем самого репозитория). Но есть весьма оптимальное решение – кеширующий прокси-сервер HttpReplicator.

1)Скачиваем его с sf и «устанавливаем»:

wget http://downloads.sourceforge.net/project/http-replicator/http-replicator/4.0alpha2/http-replicator_4.0alpha2.tgz?use_mirror=sune

tar -xvvf http-replicator_4.0alpha2.tgz

cd http-replicator_4.0alpha2/

mkdir /usr/local/httpreplicator/
root@home-test:~/repl/http-replicator_4.0alpha2# mv * /usr/local/httpreplicator/

Если подскажете ссылку на .деб файл – буду благодарен. Итак, теперь надо создать файл запуска для него и разобратся с параметрами. Параметры запуска у демона такие:

usage: /usr/local/httpreplicator/http-replicator [options]

options:
-h –help          show this help message and exit
-p –port PORT     listen on this port for incoming connections, default 8080
-r –root DIR      set cache root directory, default current: /home/dcsk/repl/http-replicator_4.0alpha2/
-v –verbose       show http headers and other info
-t –timeout SEC   break connection after so many seconds of inactivity, default 15
-6 –ipv6          try ipv6 addresses if available
–flat          flat mode; cache all files in root directory (dangerous!)
–static        static mode; assume files never change
–offline       offline mode; never connect to server
–limit RATE    limit download rate at a fixed K/s
–daemon LOG    route output to log and detach
–debug         switch from gather to debug output module

Cоздадим скрипт управления(запишем этот текст своим любимым текстовым редактором в /etc/init.d/http-replicator):

#!/bin/bash
NAME=»python»
DAEMON=/usr/local/httpreplicator/http-replicator
DAEMON_ARGS=» –port 8080 –daemon /var/log/http-replicator.log –root /var/cache/httpreplicator/ »
USERNAME=»proxy»

case «$1″ in
start)
/bin/su $USERNAME -c «$DAEMON $DAEMON_ARGS»
;;
stop)
/bin/su $USERNAME -c «killall $NAME»
;;
restart)
/etc/init.d/http-replicator stop
/etc/init.d/http-replicator start
;;
*)
echo «Usage: /etc/init.d/http-replicator {start|stop|restart}»
exit 1
;;
esac

exit 0

Также надо не забыть создать папку для кеша и файл логов, проставить на них права:

mkdir -p /var/cache/httpreplicator/

chown proxy:proxy /var/cache/httpreplicator/

touch /var/log/http-replicator.log&& chown proxy:proxy /var/log/http-replicator.log

Добавляем в автозапуск:

update-rc.d http-replicator defaults

Для использования на конечных машинах надо добавить в /etc/apt/apt.conf :

Acquire::http::Proxy «http://192.168.0.1:8080″;

  1. No comments yet.
(will not be published)