Буфер обмена пакетов:
1 2 3 4 5 6 |
Если в вашей сети работают десятки компьютеров с Debian и Ubuntu и каждый обращается за обновлениями к внешнему репозиторию, то общий ежемесячный трафик достигает нескольких гигабайт. Даже если тарифы на пользование Интернетом безлимитные, обновления засоряют сеть и чрезмерно замедляют передачу данных по LAN. В данном случае кажется очевидным, что не помешает организовать центральный буфер обмена (прокси), из которого все компьютеры будут брать пакеты для обновления. Для решения этой задачи существует большое количество программ, в частности apt-cacher, apt-cacher-ng, squid-deb-proxy, apt-proxy (уже не поддерживается) и аpprох. В качестве примера я расскажу о программе apt-cacher. |
Серверная конфигурация:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
На кэш-сервере (то есть на компьютере, управляющем буфером обмена) необходимо установить пакет apt-cacher. (Из многочисленных руководств по apt-cacher, имеющихся в Интернете, можно сделать вывод, что вам также потребуется установить Apache. Это неверно — apt-cacher работает сам! Взаимодействие с Apache оправданно только в тех случаях, когда обмен информацией с apt-cacher должен производиться через НТТР-порт 80.) apt-get install apt-cacher Чтобы в дальнейшем пакет apt-cacher запускался автоматически как демон, внесите небольшие изменения в файл /etc/default/apt-cacher: # Файл /etc/default/apt-cacher AUTOSTART=1 Остальные параметры конфигурации содержатся в файле /etc/apt-cacher/apt-cacher.conf. Большинство установок можно оставить как есть, тогда АРТ-прокси будет доступен всем компьютерам через порт 3142. Файлы пакетов будут сохраняться в каталоге /var/cache/apt-cacher. По соображениям безопасности рекомендуется внести в конфигурационный файл и следующие изменения: # Файл /etc/apt-cacher/apt-cacher.conf daemon_addr=192.168.О.1 allowed_hosts=192.168.О.0/24 Демон связывается с определенным адресом (в данном случае 192.168.0.1, этот показатель важен для компьютеров с несколькими интерфейсами) и позволяет пользоваться прокси только клиентам, относящимся к адресному пространству 192.168.0.*. После внесения в конфигурацию таких изменений мы в первый раз запускаем apt-cacher: service apt-cacher start Пакет apt-cacher заносит все случаи доступа, а также возможные ошибки в файлы регистрации, находящиеся в каталоге /var/log/apt-cacher. |
Импорт имеющихся пакетов:
1 2 3 4 5 6 7 |
Как правило, в каталоге /var/cache/apt/archi ve на сервере уже имеется множество пакетов, загружаемых локальной системой управления пакетами для установки либо обновления. Вы можете импортировать эти пакеты в кэш apt-cacher. Это целесообразно делать в тех случаях, когда ожидается, что данные пакеты потребуются другим компьютерам, работающим в локальной сети: cd /usr/share/apt-cacher ./apt-cacher-import.pl /var/cache/apt/archives |
Клиентская конфигурация:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
На клиентской машине необходимо включить браузер и убедиться, что apt-cacher доступен через HTTP. Для этого укажите следующие адреса (конечно же, при этом необходимо изменить мой apt-cacher на хост-имя вашего компьютера или прокси-сервера): http://mein-apt-cacher:3142; http://mein-apt-cacher:3142/report. На первой странице обобщается конфигурация, а на второй сообщается информация об эффективности прокси, которая тем выше, чем дольше работает прокси и чем больше клиентов им пользуется. Когда apt-cacher уже будет работать, вам лишь останется внести еще одно маленькое изменение в конфигурацию APT, чтобы прокси-сервером могла пользоваться и команда apt-get. Для этого потребуется создать следующий новый файл и изменить mein-apt-cacher на хост-имя компьютера либо адрес прокси-сервера: // Файл /apt/apt.conf.d/01proxy Acquire::http::Proxy "http://mein-apt-cacher:3142/"; Теперь все команды APT будут пользоваться новым прокси. Файлы, которых на нем еще нет, разумеется, нужно, как и раньше, скачивать из Интернета. Но если другой компьютер в сети также решит обновиться или установить пакет, который был незадолго до этого инсталлирован на ином компьютере, необходимые пакеты уже будут в распоряжении (не забудьте закомментировать первую строку, поставив символы //, — возможно, вы захотите поработать с ноутбуком в дороге и вам при этом понадобится установить обновления и пакеты, не имея доступа к прокси-серверу)! |