Apt-proxy это сервис, который позволяет экономить трафик, при одновременном обновлении большого количества компьютеров за счёт кэширования.
Фактически apt-proxy выглядит как зеркало репозитория apt с полными заголовками, но не содержащее всего набора пакетов и докачивающее их из сети по мере необходимости.
Ниже будет показано как установить и настроить apt-proxy на сервере под управлением Ubuntu Server 9.04.
В процессе настройки мы будем опираться на инструкцию от Ubuntu Community и в случае возникновения каких либо проблем рекомендуем начинать с неё.
Будем считать что сервер имеет в локальной сети IP-адрес 192.168.2.1. Для начала установим apt-proxy:
apt-get install apt-proxy
Далее открываем в редакторе файл /etc/apt-proxy/apt-proxy-v2.conf и приступаем к настройке.
Большую часть параметров можно оставить по умолчанию, однако как минимум следует обратить вниманием на параметр address секции [DEFAULT]. Этот параметр указывает на каком адресе должен слушать сервис. Здесь нужно указать адрес сервера:
address = 192.168.2.1
Дальше описываем используемые репозитории. Описание репозитория имеет вид:
[имя_виртуального_репозитория]Закончив конфигурирование нужно перезапустить apt-proxy:
; строки, начинающиейся с точки запятой являются комментариями
; параметр backends содержит реальные адреса репозиториев, разделённые пробелами
backends = http://server1/dir1 http://server2/dir2
; параметр min_refresh_delay указывает минимальное время жизни файлов в кэше
min_refresh_delay = 1d
Автор использует следующий список репозиториев:
[ubuntu]
;; Основной архив с пакетами Ubuntu
backends = http://mirror.telecet.ru/ubuntu/
min_refresh_delay = 1d
[ubuntu-security]
;; Обновления безопасности
backends = http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1d
[qutim]
;; qutim IM client
backends = http://qutim.org/debian/jaunty/
min_refresh_delay = 1d
[wine]
;; wine is not an emulator
backends = http://wine.budgetdedicated.com/apt/
min_refresh_delay = 1d
[medibuntu]
;; medibuntu
backends = http://packages.medibuntu.org/
min_refresh_delay = 1d
[virtualbox]
;; VirtualBox - Virtual Machine Emulator
backends = http://download.virtualbox.org/virtualbox/debian/
min_refresh_delay = 1d
[google]
;; Репозиторий с ПО от Google
backends = http://dl.google.com/linux/deb/
min_refresh_delay = 1d
invoke-rc.d apt-proxy restart
Теперь переходим к конфигурированию клиентов. Основное отличие старой конфигурации (без apt-proxy) от новой (с apt-proxy) заключается в том, что вместо реальных адресов репозиториев.
В случае приведённого выше примера конфигурации и при использовании на машинах дистрибутив Ubuntu Jaunty файл /etc/apt/sources.list будет иметь вид:
# Поддерживаемое несвободное ПО
deb http://192.168.2.1:9999/ubuntu/ jaunty main restricted
# Обновления поддерживаемого несвободного ПО
deb http://192.168.2.1:9999/ubuntu/ jaunty-updates main restricted
# Неподдерживаемое свободное ПО
deb http://192.168.2.1:9999/ubuntu/ jaunty universe
# Обновления неподдерживаемого свободного ПО
deb http://192.168.2.1:9999/ubuntu/ jaunty-updates universe
# Неподдерживаемое несвободное ПО
deb http://192.168.2.1:9999/ubuntu/ jaunty multiverse
# Обновления несвободного неподдерживаемого ПО
deb http://192.168.2.1:9999/ubuntu/ jaunty-updates multiverse
# Бэкпорты
deb http://192.168.2.1:9999/ubuntu/ jaunty-backports main restricted universe multiverse
# Коммерческое ПО
deb http://archive.canonical.com/ubuntu jaunty partner
# Обновления безопасности поддерживаемого свободного ПО
deb http://192.168.2.1:9999/ubuntu-security jaunty-security main
# Обновления безопасности поддерживаемого несвободного ПО
deb http://192.168.2.1:9999/ubuntu-security jaunty-security restricted
# Обновления безопасности неподдерживаемого свободного ПО
deb http://192.168.2.1:9999/ubuntu-security jaunty-security universe
# Обновления безопасности несвободного неподдерживаемого ПО
deb http://192.168.2.1:9999/ubuntu-security jaunty-security multiverse
# Мессенджер qutim
deb http://192.168.2.1:9999/qutim jaunty main
# Эмулятор wine
deb http://192.168.2.1:9999/wine jaunty main
# Виртуальная машина VirtualBox
deb http://192.168.2.1:9999/virtualbox jaunty non-free
# Архив с дополнительными мультимедийными кодеками и закрытым ПО
deb http://192.168.2.1:9999/medibuntu jaunty free non-free
# ПО от Google
deb http://192.168.2.1:9999/google stable non-free
deb http://192.168.2.1:9999/google testing non-free
После этого можно смело обновить систему на клиентских компьютерах:
apt-get update && apt-get upgrade
Чем больше в локальной сети компьютеров с примерно одинаковым набором ПО, тем больше экономия трафика за счёт apt-proxy. На этом всё. Приятной работы!
Комментариев нет:
Отправить комментарий