Рубрики
Debian \ apt \ update \ install \ dpkg

apt-proxy

Буфер обмена пакетов:

Если в вашей сети работают десятки компьютеров с Debian и Ubuntu и каждый обращается за обновлениями к внешнему репозиторию, 
то общий ежемесячный трафик достигает нескольких гигабайт. 
Даже если тарифы на пользование Интернетом безлимитные, обновления засоряют сеть и чрезмерно замедляют передачу данных по LAN. 
В данном случае кажется очевидным, что не помешает организовать центральный буфер обмена (прокси), из которого все компьютеры будут брать пакеты для обновления. 
Для решения этой задачи существует большое количество программ, в частности apt-cacher, apt-cacher-ng, squid-deb-proxy, apt-proxy (уже не поддерживается) и аpprох. 
В качестве примера я расскажу о программе apt-cacher.

Серверная конфигурация:


На кэш-сервере (то есть на компьютере, управляющем буфером обмена) необходимо установить пакет 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.

Импорт имеющихся пакетов:

Как правило, в каталоге /var/cache/apt/archi ve на сервере уже имеется множество пакетов, 
загружаемых локальной системой управления пакетами для установки либо обновления. 
Вы можете импортировать эти пакеты в кэш apt-cacher. Это целесообразно делать в тех случаях, когда ожидается, 
что данные пакеты потребуются другим компьютерам, работающим в локальной сети:

cd /usr/share/apt-cacher
./apt-cacher-import.pl /var/cache/apt/archives

Клиентская конфигурация:

На клиентской машине необходимо включить браузер и убедиться, что 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 будут пользоваться новым прокси. 
Файлы, которых на нем еще нет, разумеется, нужно, как и раньше, скачивать из Интернета. 
Но если другой компьютер в сети также решит обновиться или установить пакет, 
который был незадолго до этого инсталлирован на ином компьютере, 
необходимые пакеты уже будут в распоряжении (не забудьте закомментировать первую строку, поставив символы //, 
— возможно, вы захотите поработать с ноутбуком в дороге и вам при этом понадобится установить обновления и пакеты, не имея доступа к прокси-серверу)!