Малый кешируемый сервер пакетов

Posted by

Добрый день дорогие читататели моего блога. В сегодняшней заметке я покажу, как поднять домашней сети, либо в малой корпоративной сети – “Кешируемый сервер обновлений”. В задачи которого будет входить раздача уже скачанных обновлений и пакетов с одного компьютера, совершив обновление/скачивание пакетов через кешируемый сервер, в последствии запрос к тому же выдаётся уже из своего кэша. Что это значит, если у Вас к примеру рабочая операционная система Ubuntu Desktop/Server 12.04 развернутая на нескольких станциях, то загрузка пакетов будет происходить из одного места, а не из интернета.

Таким образом достигаются следующие преимущества:

  • экономия рабочего времени
  • экономия интернет трафика

Теперь пожалуй начнём процесс настройки. В качестве исходной системы у нас будет выступать Ubuntu Desktop 12.04 amd64.
ekzorchik@polygon:~$ uname -a && lsb_release -a
Linux polygon 3.2.0-38-generic #61-Ubuntu SMP Tue Feb 19 12:18:21 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    .2 LTS
Release:    12.04
Codename:    precise
ekzorchik@polygon:~$ sudo nano /etc/hosts
127.0.0.1       localhost
192.168.1.6     polygon polygon.polygon.local

Ещё в качестве каталога где будут хранится файлы пакетов задействуем отформатированный под файловую систему ext3 подключённый диск с меткой тома cache:


ekzorchik@polygon:~$ sudo nano /etc/fstab
/dev/sdb1       /cache  ext3    defaults,nosuid,nodev   0       0
ekzorchik@polygon:~$ sudo mkdir /cache
ekzorchik@polygon:~$ sudo mount -a
ekzorchik@polygon:~$ sudo chown -R www-data:www-data /cache
Пакет для разворачивания кешируемого сервера пакетов возьмём из репозитариев по умолчанию:
ekzorchik@polygon:~$ apt-cache search
apt-cacher — Caching proxy for Debian package and source files

Установим данный пакет в систему Ubuntu Desktop 12.04:
ekzorchik@polygon:~$ sudo apt-get install apt-cacher

на инсталляционное уведомление, о методе запуска службы apt-cacher’a выбираем “автономный”.

Настраиваем метод запуска службы apt-cacher'a выбирав -  “автономный”.

позже можно изменить запустив в консоли командной строки (Ctrl + Alt + T) команду:
dpkg-reconfigure apt-cacher
# результаты изменения будут следующем конфигурационном файле
ekzorchik@polygon:~$ sudo nano /etc/default/apt-cacher
AUTOSTART=1
Теперь отредактируем конфигурационный файл этого пакета предварительно создав резервную копию: (Возьмите себе за правило так делать)
ekzorchik@polygon:~$ sudo cp /etc/apt-cacher/apt-cacher.conf /etc/apt-cacher/apt-cacher.conf.backup
ekzorchik@polygon:~$ sudo nano /etc/apt-cacher/apt-cacher.conf

приводим к следующему виду директивы:
# cache_dir — указываем на то куда будут собираться пакеты которые наши рабочие станции закачали
cache_dir = /cache
# настраиваем порт на котором работает сервер
daemon_port = 3142
# Указываем на каком сетевом интерфейсе будет работать наш сервер, необходимо указать тот который смотрит в локальную сеть
interface = eth0
# Указываем почтовый адрес администратора (отвественного за сервер) которому будут приходить отчеты о трафике
admin_email = root@localhost
# Указываем, что мы нуждаемся в логах (на этапе установке они очень нужны для разбирая причин что не работает)
log_dir = /var/log/apt-cacher
# Указываем права доступа:
группа под которой будет запускаться наш apt-cacher
юзер под которой будет запускаться наш apt-cacher
group = www-data
user = www-data
# apt-cacher может использовать два метода для определения того, что нужно обновить список пакетов: # A) по таймауту (значение >0 в часах) # B) по заголовкам HTTP от сервера с репозиториями (значение 0)
expire_hours = 0
# Указывает создавать отчёты по трафику ежедневно. Отчёты по трафику можно получить, перейдя в браузере по адресу
http://сервер-apt-cacher:3142/report/ [в режиме сервера] или
http://сервер-apt-cacher[:порт]/apt-cacher/report/ [в режиме CGI].
раз в сутки будут генерироваться отчеты об использовании apt-cacher`a(1-генерить, 0 — нет)
generate_reports = 1
# По умолчанию apt-cacher обслуживает компьютеры с любыми ip-адресами. Но если вы хотите запретить доступ компьютерам не из вашей сети (что более безопасно), то измените параметр allowed_hosts:
allowed_hosts = *
# Ограничитель скорости. 0 — нет ограничений. 250K — 250кбит/с, 2m — 2мбит/с
limit = 0
# Схема отображения адресов, которая конвертирует первую часть адреса после имени сервера apt-cacher в адрес удалённого зеркала.
path_map = ubuntu ru.archive.ubuntu.com/ubuntu ; updates ru.archive.ubuntu.com/ubuntu ; backports ru.archive.ubuntu.com/ubuntu ; canonical archive.canonical.com/ubuntu ; security security.ubuntu.com/ubuntu ; extras security.ubuntu.com/ubuntu

Теперь для отображения статистики скачанного и закешированного установим в систему Web-сервер Apache 2, так же из репозитариев:

ekzorchik@polygon:~$ sudo apt-get install apache2

 

Теперь приступим к настройке Apache.
Для работы всего этого должен быть установлен Perl и включён ExecCGI.
ekzorchik@polygon:~$ sudo nano /etc/apt-cacher/apache.conf
Alias /apt-cacher /usr/share/apt-cacher/apt-cacher-cgi.pl

<DirectoryMatch /usr/share/apt-cacher/>
Options ExecCGI
AddHandler cgi-script .pl
AllowOverride None
order allow,deny
allow from all
</DirectoryMatch>

Вот. Настройка конфигурационных файлов закончена.

Запускаем сервис apt-cacher:
ekzorchik@polygon:~$ sudo /etc/init.d/apt-cacher status
* apt-cacher is running
ekzorchik@polygon:~$ sudo /etc/init.d/apt-cacher stop
Stopping Apt-Cacher: apt-cacher.
ekzorchik@polygon:~$ sudo /etc/init.d/apt-cacher start
Starting Apt-Cacher: apt-cacher.

Чтобы проверить правильность установки apt-cacher, попробуйте открыть страницу:
http://localhost:3142
в вашем веб-браузере. Если apt-cacher успешно запустился, то вы увидите отчёт.
, адрес 192.168.1.6 — адрес моей машине, у Вас он будет другим.

Проверяем правильность установки apt-cacher

 

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

Загрузить бесплатно PDF версию этой заметки Вы можете по ссылке.

С уважением, ekzorchik.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

13 − 1 =