6.9.16.2. apt-proxy

section id="apt-proxy" xreflabel="apt-proxy"

ToDo list

  1. Ověřit postup nainstalováním na nějaký server.
  2. Rozepsat význam proměnných v konfiguračním souboru.

Instalujeme-li, či udržujeme balíčky na více počítačích v jedné síti, hodí se nám apt-proxy. Funguje podobně jako například webová proxy squid, s tím že je určena pro debianovské balíčky. Snížíme si tedy nároky na přenosovou kapacitu linky. V době upgradu se každý balíček pro všechny stroje stahuje jen jednou, a po určenou dobu zůstává uložen na proxy odkud si jej jednotlivé stroje stahují.

Na vybraném počítači, jenž nám bude sloužit jako proxy cache, nainstalujeme apt-proxy

# apt-get install apt-proxy

program se spouští přes internetového superdémona inetd a tomu do konfigurace /etc/inetd.conf doplíme řádku pro naši proxy. Vybral jsem pro ni port 9999:

9999    stream  tcp     nowait.400      aptproxy /usr/sbin/tcpd \
        /usr/sbin/apt-proxy -l /var/log/apt-proxy.log

Nyní nám zbývá upravit konfiguraci v souboru /etc/apt-proxy/apt-proxy.conf. Vybereme si svazek na kterém máme potřebný prostor který proxy obětujeme. Velikost potřebného prostoru je závislá na konkrétní konfigurace a použití. Na mém serveru ve firmě při níže uvedeném nastavení zabírá prostor cache kolem 6GB.

# Change this path if you do not want to keep your cache under var
APT_PROXY_CACHE=/bd/1/apt-proxy

Následuje popis zdrojů balíčků. Budeme poskytovat balíčy pro hlavní větev main, non-US, bezpěčnostní záplaty security a balíčky z backports.org backports. deb http://www.debian.cz/debian woody main contrib non-free

add_backend /main/                                      \
        $APT_PROXY_CACHE/debian/                        \
        ftp.cz.debian.org::debian/                      \
        ftp.de.debian.org::debian/                      \
        ftp2.de.debian.org::debian/                     \
        ftp.uk.debian.org::debian/                      \
        ftp.us.debian.org::debian/                      \
        ftp.debian.org::debian/

add_backend /non-US/                                    \
        $APT_PROXY_CACHE/non-US/                        \
        ftp.cz.debian.org::debian-non-US/               \
        ftp.de.debian.org::debian-non-US/               \
        ftp.dk.debian.org::debian-non-US/               \
        ftp2.de.debian.org::debian-non-US/              \
        ftp.uk.debian.org::debian/non-US/

add_backend /security/                                  \
        $APT_PROXY_CACHE/security/                      \
        security.debian.org::debian-security/           \
        non-us.debian.org::debian-security/

add_backend /backports/                                 \
        $APT_PROXY_CACHE/backports/                     \
        http://www.backports.org/debian/

Bylo by dobré popsat význam jednotlivých proměnných a to i těch které jsem ve své konfiguraci nepoužil.

CLEANUP_DAYS=128
CLEAN_SWEEP=360
MAX_VERSIONS=9
BACKEND_FREQ=240
RSYNC_TIMEOUT=30
WGET_TIMEOUT=30
RSYNC=rsync
KEEP_STATS=2

Na klientech které budou naši proxy používat k instalaci ji uvedeme v instalčních zdrojích /etc/apt/sources.list

# Apt-proxy cache
deb http://debian:9999/main woody main contrib
deb http://debian:9999/non-US woody/non-US main contrib
deb http://debian:9999/security stable/updates main

Ve Woody je verze 1.3, v Sarge je již novější verze 1.9. Je třeba pročíst dokument /usr/share/doc/apt-proxy/UPGRADING a opravit konfigurační soubor /etc/apt-proxy/apt-proxy-v2.conf.