Прилагане на security updates за множество машини

Пример 11: Настройка на apt-proxy

Ето например как можете да процедирате, ако имате желание да автоматизирате прилагането на security updates към многото ваши Stable Debian машини. Разбира се, ако предпочитате, това можете да правите и ръчно.

apt-proxy може да кешира всякакви пакети, но тук ще дадем пример с еднократното изтегляне на security updates за множество машини. Нека имате множество Debian машини, които имат в /etc/cron.daily/ скрипт, който представлява:

#!/bin/bash
apt-get update && apt-get -y upgrade

В /etc/apt/sources.list трябва да имате следния ред:

deb http://security.debian.org/ stable/updates main

Представете си, ако излезе update на glibc, всичките машини ще теглят доста MB-ти от security.debian.org.

За да не се хаби излишно трафик, можете да ползвате пакета apt-proxy. Всичко, което е нужно, е да го инсталирате на един от сървърите си:

# apt-get install apt-proxy

След което редактирайте /etc/apt-proxy/apt-proxy.conf. Ето един:

APT_PROXY_CACHE=/var/cache/apt-proxy

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

add_backend /non-US/                                    \
        $APT_PROXY_CACHE/non-US/                        \
        ftp.de.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/

Естествено е да сложите най-близкия до вас Mirror на Debian. По подразбиране портът, на който слуша apt-proxy, е 9999. Можете да го промените в /etc/inetd.conf.

За конфигурация на клиентите, които ще ползват apt-proxy-то, е нужно да редактирате /etc/apt/sources.list, као коментирате всички редове и да добавите следните:

deb http://apt-proxy-сървър:9999/non-US stable/non-US main contrib non-free
deb http://apt-proxy-сървър:9999/security stable/updates main contrib non-free
deb http://apt-proxy-сървър:9999/main stable main non-free contrib

След това на клиентския компютър е достатъчно да изпълните:

# apt-get update

При тази конфигурация, при всяко ползване на apt-get за инсталация на даден пакет от Интернет самият пакет се пази в кеша на apt-proxy-то и при повторна заявка от друг сървър пакетът не се тегли наново, а се взема от локалната директория. Наистина спестява доста трафик.



Nikola Antonov 2004-10-31