Установка и настройка apt-proxy в Ubuntu

()

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

Дальше описываем используемые репозитории. Описание репозитория имеет вид:

[имя_виртуального_репозитория]
; строки, начинающиейся с точки запятой являются комментариями
; параметр 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

Закончив конфигурирование нужно перезапустить apt-proxy:

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 dist-upgrade

Чем больше в локальной сети компьютеров с примерно одинаковым набором ПО, тем больше экономия трафика за счёт apt-proxy. На этом всё. Приятной работы!

Ключевые слова: apt-proxy, apt, proxy, debian, ubuntu.

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE