Кэширирующий APT
Материал из Linux.Uz Wiki
Этот пример поможет в ситуации, когда убунту стоит на нескольких компах (допустим, в офисе) и тянуть для каждой машины пакеты и обновления - получается накладно на траф. Способов решить эту проблему на самом деле очень много. Можно на сервере поставить целиком репозиторий убунты, но это тоже влияет на трафик и довольно-таки неудобно. Самый удобный выход - это настроить один компьютер в сети так, чтобы он кэшировал все пакеты, которые ставятся на нем и на других компах. Для этого существует много утилит: apt-cacher, apt-cacher-ng, apt-proxy и другие. Но остановимся на apt-cacher, как на самом простом варианте. Для начала необходимо установить саму программу apt-cacher, но тут возникает проблема - в репозиториях убунты пакет с этой программой с багом, который так и не исправили. Поэтому, есть два варианта - собрать из сырцов или просто скомуниздить пакет из репозитория дебика.
Второе, конечно же легче - качаем вот этот файл и ставим:
http://packages.debian.org/sid/all/apt-cacher/download
Далее необходимо эту программу немного настроить. Если при установки не создались папки для кэша, то их нужно создать вручную и дать им права:
sudo mkdir /var/cache/apt-cacher
sudo chown www-data:www-data /var/cache/apt-cacher
Теперь надо сделать так, чтобы apt-cacher запускался при загрузке системы:
sudo nano /etc/default/apt-cacher
Там находим строчку «AUTOSTART=0» и заменяем ее на «AUTOSTART=1». Ну и самое основное - правка конфига программы:
sudo nano /etc/apt-cacher/apt-cacher.conf
В конфиге есть комментарии и разобраться довольно-таки легко, так что сами ключи я пропущу. Но если будет необходимость, разберу и сам конфиг. APT-Cacher - это как кэширующий прокси. Все пакеты просто будут сохраняться на жесткий диск сервера и если два или более человека запросят из инета один и тот-же пакет (или целую кучу), то этот пакет скачается лишь один раз, запишется на жесткий диск сервера и пользователи просто получат этот пакет (или кучу пакетов) с сервера, а уже не с инета. Но это не помешает вам пользоваться самыми свежими пакетами, это просто будет экономить вам трафик. Но из-за того, что программа работает как прокси, нам надо теперь указать на всех клиентах в /etc/apt/sources.list, чтобы APT работал через наш сервер с apt-cacher'ом. То есть, на каждом компьютере открываем sources.list и заменяем каждую строчку по следующему примеру. Раньше было так:
deb http://ubuntu.uz/ubuntu karmic main multiverse universe restricted deb http://ubuntu.uz/ubuntu karmic-proposed main multiverse universe restricted deb http://ubuntu.uz/ubuntu karmic-backports main multiverse universe restricted deb http://ubuntu.uz/ubuntu karmic-security main multiverse universe restricted deb http://ubuntu.uz/ubuntu karmic-updates main multiverse universe restricted deb http://packages.medibuntu.org/ karmic free non-free
А надо исправить так:
deb http://localhost:3142/ubuntu.uz/ubuntu karmic main multiverse universe restricted deb http://192.168.1.1:3142/ubuntu.uz/ubuntu karmic-proposed main multiverse universe restricted deb http://192.168.1.1:3142/ubuntu.uz/ubuntu karmic-backports main multiverse universe restricted deb http://192.168.1.1:3142/ubuntu.uz/ubuntu karmic-security main multiverse universe restricted deb http://192.168.1.1:3142/ubuntu.uz/ubuntu karmic-updates main multiverse universe restricted deb http://192.168.1.1:3142/packages.medibuntu.org/ karmic free non-free
APT-Cacher работает с помощью apache, поэтому нам надо просто перед каждым репозиторием в адресе указать адрес сервера. То есть, вместо 192.168.1.1 нужно вписать адрес своего сервера.

