декабря 16, 2008

Локальный сервер обновлений Ubuntu

Сегодня мы хотим осветить очень важную тему, особенно, если у вас несколько компьютеров под управлением Ubuntu Linux и не хочется обновлять каждый из них через интернет. В общем, речь пойдет про локальные сервера обновлений для Ubuntu.

Во многом эта заметка основана на статье «Apt-cacher как корпоративный сервер обновлений для Ubuntu/Kubuntu/*buntu», размещенной на сайте habrahabr.ru.

Долгое время стандартом де факто для поднятия локального сервера обновлений являлся apt-mirror, но у него есть несколько недостатков, главным из которых, пожалуй, является нерациональное использование дискового пространства.

Гораздо более интересным и гибким решением является apt-cacher, который умеет хранить только нужные пакеты, обновлять локальный репозиторий по мерее обновления основного, и, конечно же, качать пакет только один раз, а затем брать его из кэша. В общем-то, это действительно хорошее решение для обновления компьютеров с Ubuntu в количестве больше одного, объединенных в одну сеть.

Из минусов автор статьи выделяет следующие: отличие структуры хранения пакетов от оригинальной (а разве нам важно, как они хранятся?) и обязательное наличие веб-сервера Apache (который поднимается за 2 минуты).

Мы не будем сильно зацикливаться на тонких настройках, которые отлично описаны в оригинальной статье, а просто обозначим основные моменты.

Итак, поехали: sudo apt-get install apt-cacher.

Создаем и назначаем права на папку, в которой будут храниться пакеты. Надо отметить, что apt-cacher не требует сразу место под весь объем репозиториев (около 22 Гб), а хранит только то, что нужно. Напомним, что в Debian-дистрибутивах Apache запускается от юзера www-data группы www-data, следовательно нужно сделать этого пользователя владельцем созданной папки.

Настройки apt-cacher хранятся в файле: /etc/apt-cacher/apt-cacher.conf. Его и нужно чуть-чуть подредактировать, указав там созданную папку для пакетов, а также некоторые другие параметры. Опять же, пример конфигурации смотрите в оригинальной статье на Хабре.

Следующий шаг — настройка Apache. Для работы apt-cacher нам понадобится Perl и ExecCGI в Apache. Файл конфигурации лежит в: /etc/apt-cacher/apache.conf. Достаточно лишь прописать Alias: Alias /apt-cacher /usr/share/apt-cacher/apt-cacher.pl и разрешить выполнять Perl скрипты в указанной папке: Options ExecCGI, AddHandler cgi-script .pl.

Почти всё готово! Остается только запустить сервер: sudo /etc/init.d/apt-cacher start. По умолчанию сервер будет висеть на 9999 порту.

Теперь на всех компьютерах, которые должны тянуть обновления с этого сервера нужно открыть файл /etc/apt/sources.list, закомментировать в нем все строки и добавить одну новую: deb updateserver:9999/ubuntu intrepid multiverse restricted main universe, где updateserver — имя машины, на которой мы только что подняли apt-cacher.

Теперь всё обновляется красиво, экономно и правильно! Ура, товарищи!



Обратите пристальное внимание: незаменимый в быту пылесос для компьютера. Может быть отличным подарком, да и в хозяйстве вещь весьма полезная! Настоящий гаджет для гика!