Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.
Использование nginx как кэширующего прокси для APT
При использовании дистрибутивов ALT Linux или ALT Linux Sisyphus часто требуется локальное частичное зеркало APT-источников: для раздачи пакетов группе машин в локальной сети, для разработки и других потребностией. Локальное – для хорошей скорости доступа, частичное – для экономии времени и трафика, которые уходят на поддержание полного зеркала.
Очевидное решение: вытаскивать из /var/cache/apt/archives или /hasher/aptbox пакеты, запускать genbasedir и подключать результат как локальный репозитарий. Очевидный недостаток: теряется информация о конкретном источнике пакета. Если подключен и бранч, и сизиф, то полученный репозитарий нельзя использовать на другой машине, которую желательно оставить на бранче.
nginx >= 0.5.31 позволяет организовать локальный частичный миррор, лишённый этого недостатка.
Конфигурация nginx
nginx.conf:
/etc/apt/sources.list:
И сделать
Более умная конфигурация nginx
Чтобы пользователи APT не заботились о том, на какое зеркало настроен nginx, его нужно слегка перенастроить:
nginx.conf:
/etc/apt/sources.list:
Известные проблемы
nginx – это все-таки не настоящий кэширующий прокси, и обновлять сохраненные файлы он не намерен независимо от Last-Modified.
Сами пакеты меняться не могут, поэтому это составляет проблему только для индексов APT, так что необходимо периодически делать
Если пакеты на сервере обновляются, в нашем кэше будут накапливаться старые версии. Почистить можно так:
Эта команда удалит из локального репозитория все файлы, которых нет на сервере, и заодно обновит индексы.