Переводы страниц руководства

Новости   Список переводов по пакетам   Все переводы   Репозиторий Debian   Как нам помочь   Участники проекта   Словарь терминов

Страницы руководства  - APT-CACHER (1)


НАЗВАНИЕ

apt-cacher - кэширующий прокси для пакетов Debian

ОБЗОР

    Сервер:

apt-cacher [-i|-d] [-c файл_конфигурации] [-p PID-файл] [-r каталог] [-R повторы] [опция_конфигурации=значение] [-h|--help]

    Клиент:

http://сервер-apt-cacherr:3142[/apt-cacher]/ [зеркало] / [дистрибутив]

ОПИСАНИЕ

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

ОПЦИИ КОМАНДНОЙ СТРОКИ

-d Режим самостоятельной работы сервера. Сервер отделяется от терминала и работает в фоновом режиме.
-i Режим работы с вызовом из inetd: используется только для вызова сервера из /etc/inetd.conf
-c файл_конфигурации
  Указывает файл конфигурации, отличный от файла /etc/apt-cacher/apt-cacher.conf, используемого по умолчанию.
-p PID-файл
  Записывать идентификатор работающего процесса в этот файл.
-r каталог
  Экспериментальная опция для смены корневого каталога процесса на указанный.
-R повторы
  Количество попыток захвата прослушиваемого порта.
опция_конфигурации=значение
  Заменить значения из конфигурационного файла. Может быть задана несколько раз.
-h, --help Вывести краткую справку по использованию программы.

ИСПОЛЬЗОВАНИЕ

Настройка apt-cacher предполагает два этапа: установка самого apt-cacher на один из компьютеров в вашей сети, чтобы он работал как сервер, и настройка всех клиентских компьютеров на использование кэша сервера.

apt-cacher может быть установлен для работы в качестве самостоятельного сервера (что предпочтительно) или в качестве сценария CGI на веб-сервере, таком как Apache. Когда клиент (apt-get(1), aptitude(8), synaptic(8) и т.п.) запрашивают пакет от кэширующего компьютера, запрос обрабатывается apt-cacher’ом, который проверяет, не имеется ли уже этот пакет в кэше. Если это так, пакет возвращается клиенту немедленно. Если пакета в кэше нет, или если пакет в локальном кэше был заменён более свежей версией, пакет скачивается с указанного зеркала. По мере скачивания пакет одновременно передаётся клиенту, а также сохраняется в локальном кэше для последующего использования.

Не нужно устанавливать apt-cacher на клиентские компьютеры вашей сети, чтобы они могли пользоваться кэшем сервера. Необходимо на каждом клиентском компьютере изменить настройки, чтобы заставить их пользоваться кэшем сервера. Обратитесь к разделу НАСТРОЙКА КЛИЕНТА ниже, чтобы узнать как это сделать.

УСТАНОВКА СЕРВЕРА

apt-cacher может быть установлен на сервер различными путями. Рекомендуется запускать программу в режиме сервера. Это даст наилучшую производительность и минимальный объём использованной памяти.

Режим сервера

    Самостоятельный сервер:

Отредактируйте файл /etc/default/apt-cacher и пропишите AUTOSTART=1, затем запустите (от имени пользователя root) следующую команду:
/etc/init.d/apt-cacher start
чтобы запустить сервер.

    Сервер, вызываемый из inetd:

Отредактируйте /etc/inetd.conf и добавьте следующую строку:
3142 stream tcp nowait www-data /usr/sbinc/apt-cacher/apt-cacher apt-cacher -i
Перезапустите или отправьте сигнал SIGHUP суперсерверу inetd после сохранения файла. Этот способ подходит в тех случаях, когда вы не хотите чтобы сервер был запущен постоянно.

В любом из режимов сервера клиенты смогут получить к нему доступ по адресу http://сервер-apt-cacher:порт/

ЗАМЕЧАНИЕ: в режиме inetd не производятся проверки ограничения доступа, поэтому опции allowed_hosts и denied_hosts не действуют. Ограничение доступа может быть реализовано с помощью программы-посредника inetd или tcpd. Обратитесь к файлу README.Debian за более подробной информацией.

Режим CGI

Не рекомендуется долгосрочное использование этого режима, поскольку режим оказывает заметное влияние на производительность сети и скорость сервера. По умолчанию пакет apt-cacher добавляет профиль настройки по умолчанию в каталог Apache. Клиенты смогут получить доступ по адресу http://сервер-apt-cacher[:порт]/apt-cacher/.

ОПЦИИ НАСТРОЙКИ СЕРВЕРА

apt-cacher использует файл конфигурации для настройки важных опций. Есть также несколько дополнительных опций командной строки, управляющих поведением сервера. Обратитесь к разделу ОПЦИИ КОМАНДНОЙ СТРОКИ выше.

По умолчанию используется файл конфигурации /etc/apt-cacher/apt-cacher.conf. Он читается каждый раз при запуске сервера, при исполнении CGI или при вызове сервера из inetd. Поэтому самостоятельный сервер необходимо перезапускать или перезагружать с помощью сценария инициализации, чтобы он перечитал свою конфигурацию. Работающий сервер также может перечитать файл конфигурации, если он примет сигнал SIGHUP (обратитесь к разделу СИГНАЛЫ ниже).

Каждая строка этого файла имеет следующий вид:

опция_конфигурации = значение
Длинные строки могут быть разделены с помощью символа ’\’, предшествующего символу новой строки. Пробельные символы игнорируются. Строки, начинающиеся с ’#’ считаются комментариями и также игнорируются. Если одной и той же опции присваивается несколько значений, действует только последняя. Для двоичных опций 0 означает "отключено", а любые другие целые числа означают "включено". Опции, которые могут принимать списки, используют для разделения элементов списка знак ’;’ или ’,’.

Опции, доступные в файле конфигурации (и их значения по умолчанию):

    Универсальные опции

cache_dir [/var/cache/apt-cacher]
  Каталог, в котором apt-cacher будет сохранять локальные копии всех запрошенных пакетов. Он может занять многие сотни мегабайт, поэтому убедитесь в том, что в соответствующем разделе имеется достаточно свободного места. ЗАМЕЧАНИЕ: каталог кэша содержит некоторые подкаталоги для правильного управления хранилищем. Если вы захотите создать свой каталог, воспользуйтесь сценарием /usr/share/apt-cacher/install.pl или используйте изначально созданный кэш в качестве примера.
admin_email [root@localhost]
  Почтовый адрес администратора, который будет указываться на странице информации и в отчётах о трафике.
offline_mode [ 0 ]
  Опция запрещает исходящие подключения, возвращаются только файлы из кэша, а если нужного файла нет в кэше, возвращается сообщение об ошибке.
allowed_locations
  Разрешить доступ только к указанным вышестоящим зеркалам. Запрошенный адрес должен совпасть с элементом этого списка, чтобы доступ был разрешён. Часть адреса, ссылающаяся на сам apt-cacher (http://сервер-apt-cacher:порт[/apt-cacher]/) игнорируется. Шаблон начинается непосредственно за ней.
path_map
  Схема отображения адресов, которая конвертирует первую часть адреса после имени сервера apt-cacher в адрес удалённого зеркала. Например, если вы задали
path_map = debian ftp.debian.org/debian
то при обращении к
http://сервер-apt-cacher:3142/debian/dists/stable/Release
на самом деле вы обратитесь к
http://сервер-apt-cacher:3142/ftp.debian.org/debian/dists/stable/Release
generate_reports [1]
  Указывает создавать отчёты по трафику ежедневно. Отчёты по трафику можно получить, перейдя в браузере по адресу
http://сервер-apt-cacher:3142/report/ [в режиме сервера] или
http://сервер-apt-cacher[:порт]/apt-cacher/report/ [в режиме CGI].
clean_cache [1]
  Указывает удалять устаревшие версии пакетов из вашего кэша ежедневно. Вы можете проверить выполнение этой настройки воспользовавшись командой
/usr/share/apt-cacher-cleaner.pl -s
которая просто покажет, что будет сделано с содержимым кэша. Пакет определённой версии не устаревает, если какой-либо дистрибутив (stable, testing и т.п.) или архитектура, используемая вами, ссылается на него. Вполне безопасно оставить эту опцию включенной.
logdir [/var/log/apt-cacher]
  Каталог, используемый для хранения файлов журналов доступа, ошибок и файлов с отчётами о трафике. Журнал доступа хранит записи обо всех удачных запросах пакетов, вне зависимости от того был ли запрос удовлетворён из кэша. В журнале доступа хранится отметка времени, IP-адрес запрашивающего компьютера, размер переданного пакета, название пакета. Журнал ошибок хранит записи о существенных сбоях, а также используется для хранения отладочных сообщений, если директива debug имеет значение 1. Режим отладки переключается на противоположный отправкой сигнала SIGUSR1 (обратитесь к разделу СИГНАЛЫ ниже).
expire_hours [0]
  Насколько долго в часах должны кэшироваться файлы Package и Release, прежде чем они начнут считаться устаревшими и потребуется их повторное скачивание. Настройка 0 означает, что актуальность этих файлов определяется при каждом доступе сравнением отметок о времени в заголовках HTTP с отметками времени локальных файлов.
http_proxy []
  apt-cacher может передавать все свои запросы на внешний прокси-сервер, например на Squid. Опция может быть очень полезной при использовании с теми провайдерами, которые блокируют порт 80 и требуют, чтобы весь трафик проходил через их прокси-сервер. Формат опции следующий: ’имя_узла:порт’.
use_proxy [0]
  Использование внешнего прокси-сервера может быть включено или отключено с помощью этой опции.
http_proxy_auth []
  Иногда внешние http-прокси для получения полного доступа требует аутентификации. Формат этой опции следующий: ’имя_пользователя:пароль’, например: ’proxyuser:proxypass’.
use_proxy_auth [0]
  Использование аутентификации на внешнем прокси-сервере может быть включено или отключено с помощью этой опции.
interface []
  Указывает особый интерфейс, используемый для исходящих подключений. Может быть именем интерфейса, IP-адресом или именем узла. Если не указано, используется маршрут по умолчанию.
limit [0]
  Ограничение максимальной скорости скачивания файлов с вышестоящих зеркал, в байтах в секунду. Синтаксис полностью описан на странице руководства wget(1). Воспользуйтесь суффиксом ’k’ или ’m’ для указания килобайт или мегабайт в секунду. Например, ’limit=25k’. Используйте 0 или отрицательное значение, чтобы не ограничивать скорость скачивания.
user [www-data]
  Эффективный идентификатор пользователя, который будет использоваться после открытия порта.
group [www-data]
  Эффективный идентификатор группы, который будет использоваться после открытия порта.
checksum [0]
  Экспериментальная опция, включающая проверку контрольной суммы скачанных файлов. Для работы опции требуется пакет libberkeleydb-perl.
debug [0]
  Опция, включающая режим отладки. Отключена по умолчанию. При включении в журнал ошибок будет записываться большее количество дополнительной отладочной информации. Эта опция может привести к сильному разрастанию журнала ошибок, поэтому используйте её только для поиска неполадок. Путём увеличения параметра может быть получена дополнительная информация от libcurl. Соответствие между этой настройкой и curl_infotype следующее:
1 CURLINFO_TEXT
2 CURLINFO_HEADER_IN
3 CURLINFO_HEADER_OUT
4 CURLINFO_DATA_IN
5 CURLINFO_DATA_OUT
6 CURLINFO_SSL_DATA_IN
7 CURLINFO_SSL_DATA_OUT
Обратитесь к разделу CURLOPT_DEBUGFUNCTION на странице руководства curl_easy_setopt(3) за дальнейшей информацией.
 

    Опции режима самостоятельного сервера

daemon_port [3142]
  Прослушиваемый TCP-порт.
daemon_addr [unset]
  Сервер может ограничить прослушивание только определённым локальным IP-адресом или списком IP-адресов. Используйте осторожно.
allowed_hosts [*]
  Если ваш сервер apt-cacher напрямую подключен к сети Интернет, и вы беспокоитесь, что кто-то чужой будет получать с него пакеты, вы можете указать диапазон IP-адресов, которым разрешено пользоваться сервером. Локальный узел (127.0.0.1) разрешён всегда, другие адреса должны совпасть с allowed_hosts и не совпасть с denied_hosts, чтобы получить разрешение пользоваться кэшем. Отметим, что по умолчанию apt-cacher разрешает запросы от любых клиентов, поэтому если вы хотите ограничить доступ, задайте значение опции. Это может быть один IP-адрес, список IP-адресов, IP-сеть с маской или диапазон IP-адресов. Обратитесь к файлу конфигурации по умолчанию за более подробным описанием опции и примерами.
denied_hosts
  Опция, противоположенная опции allowed_hosts. Исключает узлы из списка разрешённых узлов. Не используется в режиме сервера, вызываемого из inetd.
allowed_hosts_6
  Опция, аналогичная опции allowed_hosts, но для клиентов IPv6.
denied_hosts_6
  Опция, аналогичная опции denied_hosts, но для клиентов IPv6.

НАСТРОЙКА КЛИЕНТА

Есть два различных способа настройки клиентов на использование кэша apt-cacher. Убедитесь, что вы не пользуетесь смесью обоих способов. Одновременное изменение настроек прокси-сервера и адресов зеркал может привести к неприятным последствиям.

Доступ к кэшу, как к зеркалу
  Для использования кэша этим способом отредактируйте /etc/apt/sources.list на каждом клиенте и вставьте адрес сервера apt-cacher перед каждой строчкой deb/src.
Например, если у вас имеется строка:
deb http://ftp.debian.org stable main
измените её на
deb http://сервер-apt-cacher[:порт]/ftp.debian.org stable main [режим сервера]
или
deb http://сервер-apt-cacher[:порт]/apt-cacher/ftp.debian.org stable main [режим CGI]
Доступ к кэшу, как к прокси
  Для клиентов, использующих кэш этим способом, установите сервер apt-cacher в качестве прокси-сервера на каждом из клиентов, настройкой адреса прокси-сервера в apt.conf (обратитесь к apt.conf(5) за более подробной информацией).
Не рекомендуется настраивать переменную окружения http_proxy, поскольку это может подействовать на широкий круг различных программ, использующих различные адреса. apt-cacher не работает в качестве прокси-сервера общего назначения!

ВОПРОСЫ И ОТВЕТЫ

В: Могу ли я просто скопировать некоторые файлы .deb в каталог кэша, чтобы кэш работал ожидаемым образом?

О: Почти! Требуется небольшая дополнительная работа, чтобы сделать его пригодным для использования и доступным из кэша.

Первое: наряду с файлами deb apt-cacher хранит дополнительную информацию: файл-признак того, что файл был полностью скачан и файл с HTTP-заголовками, отправленными сервером. Если вы скопируете .deb прямо в каталог хранилища, не добавив эти файлы, получение пакета завершится ошибкой.

К счастью, теперь в поставке apt-cacher имеется специальный вспомогательный сценарий, позволяющий сделать необходимые действия. Просто поместите файлы .deb в каталог /var/cache/apt-cacher/import (или в каталог с именем ’import’ внутри того каталога, где находится кэш), и запустите /usr/share/apt-cacher/apt-cacher-import.pl (вы можете указать альтернативный исходный каталог, указав его в качестве первого параметра). Сценарий обработает все найденные файлы в этом каталоге и переместит их в нужное место, создав файлы признака и заголовков. Запустите сценарий с опцией "-h", чтобы получить более подробную информацию об использовании дополнительных возможностей - сценарий может работать в рекурсивном режиме поиска файлов, создавая ссылки на файлы, находящиеся в другом месте файловой системы.

Второе: если включена операция ежедневной очистки (смотри опцию clean_cache выше) и в файле Packages.gz (или .bz2) отсутствуют ссылки на новые файлы, то файлы пакетов вскоре будут удалены. С другой стороны, если потенциальные клиенты, желающие скачать эти пакеты хотя бы раз выполнят команду "apt-get update" с использованием apt-cacher, нет причин для беспокойства.

В: Зависит ли создание ежедневных отчётов и очистка кэша от того, запущен ли apt-cacher в режиме сервера или нет?

О: Нет, регулярные работы по обслуживанию кэша выполняются независимо от работы сервера. Они вызываются из планировщика cron и используют только неизменные файлы вроде журналов, кэшированных файлов индексов и списка файлов в каталоге. Однако, apt-cacher должен быть настроен правильно, поскольку очистка запускается им независимо (в режиме inetd) от обновления файлов Packages/Sources.

В: Можно ли ограничивать доступ по именам узлов? Что будет если узел присутствует в обоих списках (а именно - будет ли доступ запрещён или разрешён)?

О: Нет, вы должны указывать IP-адреса.

В отличие от некоторых программ вроде Apache, управление доступом немного другое, поскольку нет способа задать порядок проверки. Вместо этого, узел клиента проверяется обоими фильтрами, allowed_hosts и denied_hosts. Возможны следующие комбинации: allowed_hosts=* и пустая denied_hosts, тогда разрешён каждый узел; allowed_hosts=<список_IP> и пустая denied_hosts, тогда разрешаются только определённые узлы; allowed_hosts=* и denied_hosts=<список_IP>, тогда разрешается любой узел, за исключением указанных в denied_hosts; allowed_hosts=<список_IP> и denied_hosts=<список_IP>, тогда принимаются только клиенты из allowed_hosts, за исключением указанных в denied_hosts. Пустая опция allowed_hosts блокирует доступ полностью. Если allowed_hosts пропущена, подразумевается значение *. Опция denied_hosts не должна иметь значение "*", воспользуйтесь пустой allowed_hosts, если вам нужно запретить доступ для всех.

В: generate_reports: каким образом можно просмотреть отчёты, в зависимости от запущенного веб-сервера? Они доступны только если apt-cacher ожидет подключений на порту 80?

О: Отчёт создаётся сценарием (запускаемым из планировщика задач cron, смотри выше), который сохраняет отчёт в файл $logdir/report.html. Вы можете получить к нему доступ, указав "/report" в строке адреса, который используется при обращении к apt-cacher. Если apt-cacher работает в режиме CGI, то адрес для просмотра отчёта в браузере будет http://сервер-apt-cacher[:порт]/apt-cacher/report/.

ОГРАНИЧЕНИЯ

apt-cacher в настоящее время обрабатывает только запросы HTTP. Поддержка других способов доступа (ftp, rsync) в настоящее время не планируется.

СИГНАЛЫ

apt-cacher обрабатывает следующие сигналы:
HUP Заставляет перечитать файл конфигурации.
USR1 Меняет режим вывода отладочных сообщений в /var/log/apt-cacher/error.log на противоположный.

ФАЙЛЫ

/etc/apt-cacher/apt-cacher.conf
  Главный конфигурационный файл.
/var/log/apt-cacher
  Каталог журналов, ротируемых при наличии logrotate.
/var/log/report.html
  Страница отчёта, создаваемая вспомогательным сценарием.

АВТОР

apt-cacher изначально был написан Ником Эндрюсом (Nick Andrews) <nick@zeta.org.au>. Эта страница руководства изначально написана Джонатаном Оксером (Jonathan Oxer) <jon@debian.org> для системы Debian GNU/Linux (но может использоваться другими). Пакет сопровождался Эдуардом Блохом (Eduard Bloch) <blade@debian.org>, и в настоящее время сопровождается Марком Хиндли (Mark Hindley) <mark@hindley.org.uk>.

АВТОР ПЕРЕВОДА

Перевод на русский язык выполнил Владимир Ступин <wheelof@gmail.com>.

APT-CACHER (1)
Перейти в начало страницы |  Раздел 1 |  Главный указатель.
Сгенерировано manServer 1.07 из /home/stupin/man/man1/apt-cacher.1.gz с использованием макросов man.