Настройка зеркала архивов Debian
- Зеркалировать или нет?
- Что зеркалировать
- Откуда зеркалировать
- Как зеркалировать
- Частичное зеркалирование
- Когда зеркалировать
- Рекомендуемые добавочные установки
- Как добавить зеркало в список зеркал
- Списки рассылки
- Замечания для закрытых (частичных) зеркал
Зеркалировать или нет?
Хотя мы высоко ценим все новые зеркала, каждый будущий держатель зеркала должен быть уверен, что он может ответить на следующие вопросы, перед тем как начнёт создавать собственное зеркало:
- Нужно ли зеркало в моей местности? Возможно, недалеко уже есть зеркало.
- Есть ли у меня ресурсы для содержания зеркала? Зеркала занимают значительное дисковое пространство и полосу пропускания, зеркало должно оправдывать свою цену.
- Является ли зеркало правильным выбором? Если вы хотите поддерживать в первую очередь пользователей, использующих с вами одного и того же провайдера, либо одну и ту же сеть, то вероятно лучше выбрать кэширующий прокси, такой как apt-cacher-ng, squid или varnish.
Что зеркалировать
Главная страница зеркала перечисляет архивы, доступные для зеркалирования.
- Пользователи будут искать архив debian/ для установки Debian через сеть, для создания дисков (с помощью jigdo), и для обновления уже установленных систем. Рекомендуется сделать зеркало этого репозитория.
-
debian-cd/ — это архив, который не одинаков для разных серверов зеркал.
На некоторых сайтах он содержит шаблоны jigdo для создания образов дисков (используется
совместно с файлами из debian/), на некоторых он содержит уже созданные образы дисков,
а на некоторых сайтах содержится оба варианта.
Подробную информацию о зеркалировании смотрите на странице зеркалирование образов дисков. - debian-archive/ содержит настоящий архив старых и вышедших из употребления версий Debian. Главным образом он будет интересен лишь малому числу пользователей. (Если вы не уверены, что хотите зеркалировать этот архив, то скорее всего вам это и не нужно.)
Более точную информацию о размерах зеркала смотрите на странице размер зеркала.
Архив debian-security/ содержит обновления безопасности, выпущенные командой безопасности Debian. Хотя это кажется интересным для каждого, мы не рекомендуем нашим пользователям использовать зеркала для получения обновлений безопасности, а даже наоборот просим их загружать обновления напрямую с нашей распределённой службы security.debian.org. НЕ рекомендуется зеркалировать debian-security.
Откуда зеркалировать
Заметьте, что ftp.debian.org
не является каноническим местом размещения
пакетов Debian, это лишь один из нескольких серверов, которые обновляются с
внутреннего сервера Debian.
Существует множество открытых зеркал, поддерживающих rsync,
которые вполне подходят в качестве источника для зеркалирования. Используйте близкий
к вам (в смысле его сетевого размещения) сервер.
Вам не следует использовать в качестве источника зеркалирования имя сервиса, которые
разрешается в несколько адресов (например, ftp.us.debian.org
), поскольку
нарушение синхронизации между такими зеркалами может привести к синхронизации между
разными состояниями вашего собственного процесса синхронизации зеркала.
Кроме того, заметьте, что мы гарантируем работу только HTTP на
ftp.СТРАНА.debian.org
. Если вы хотите выполнять зеркалирование с использованием
rsync (рекомендуется использовать ftpsync), то выберите соответствующее имя сайта для
машины, предоставляющей в настоящее время ftp.СТРАНА.debian.org
. (Для этого
следует обратиться к каталогу на этом сервере /debian/project/trace
).
Как зеркалировать
Рекомендуемым методом зеркалирования является набор сценариев ftpsync, который доступен в следующих видах:
- tar-архив https://ftp-master.debian.org/ftpsync.tar.gz
- из git-репозитория: git clone https://salsa.debian.org/mirror-team/archvsync.git (см. https://salsa.debian.org/mirror-team/archvsync/)
- пакет Debian: ftpsync
В качестве протокола зеркалирования мы настоятельно рекомендуем использовать rsync.
Не используйте собственные сценарии и не используйте rsync в режиме одного прохода. Использование ftpsync гарантирует, что обновления осуществляются так, что apt работает нормально. В частности, ftpsync обрабатывает переводы, содержимое и другие файлы метаданных, чтобы при работе apt не возникли ошибки при выполнении проверок в случае, когда пользователь обновляет список пакетов во время обновления зеркала. Более того, этот инструмент также создаёт trace-файлы, содержащие дополнительную информацию, которая полезна для определения того, работает зеркало или нет, какие архитектуры на нём доступны, а также откуда оно обновляется.
Частичное зеркалирование
Принимая во внимание большой размер архива Debian, можно посоветовать зеркалировать лишь часть архива. Открытые зеркала должны содержать все выпуски (тестируемый, нестабильный и т. д.), но можно ограничить набор архитектур. В файле настройки ftpsync имеются опции ARCH_EXCLUDE и ARCH_INCLUDE для этой цели.
Когда зеркалировать
Главный архив обновляется четыре раза в день. Зеркала обычно начинают обновляться около 3:00, 9:00, 15:00 и 21:00 (всё время по UTC), но это не фиксированное время, и вы не должны опираться на эти времена при зеркалировании.
Ваше зеркало должно обновляться спустя несколько часов после начала обновления главного зеркала. Вы должны проверить, оставил ли сайт, с которого вы зеркалируете, файл с отметкой времени в его поддиректории project/trace/. Файл с отметкой времени будет назван как сайт, и он будет содержать полное время последнего обновления его зеркала. Добавьте пару часов к этому времени (для уверенности) и затем зеркалируйте.
Важно, чтобы ваше зеркало было синхронизировано с основным архивом. Как минимум 4 обновления в течение 24 часов требуются для того, чтобы гарантировать, что ваше зеркало является действительным отражением архива. Помните, зеркала, которые не синхронизированы с основным архивом, не будут указаны в списке официальных зеркал.
Самый лёгкий путь автоматически ежедневно запускать зеркалирование, это использовать cron. Детали смотрите в man crontab.
Учтите, что если ваш сайт настроен на работу с проталкивающим механизмом, вам нет необходимости беспокоиться обо всём этом.
Проталкивающее зеркалирование
Проталкивающее
зеркалирование — это форма зеркалирования, которую мы
разработали для уменьшения времени, требуемого для того, чтобы изменения в архиве достигли зеркал.
Сервер зеркала использует триггер SSH, чтобы сказать клиентскому зеркалу обновить себя.
Более подробное описание того, как это работает, почему оно безопасно, а также как
настроить проталкивающее зеркалирование, смотрите в полном
разъяснении.
Рекомендуемые добавочные установки
На открытых зеркалах архив Debian должен быть доступен по HTTP в каталоге /debian
.
Более того, убедитесь, что включены перечени файлов каталога (с полными именами файлов) и выполняется переход по символьным ссылкам. Если вы используете Apache, то можно использовать следующие настройки:
<Directory /путь/к/вашему/зеркалу/debian> Options +Indexes +SymlinksIfOwnerMatch IndexOptions NameWidth=* +SuppressDescription </Directory>
Как добавить зеркало в список зеркал
Если вы хотите, чтобы ваше зеркало было представлено в официальном списке зеркал, то
- убедитесь, что синхронизация вашего зеркала с архивом осуществляется 4 раза за 24 часа
- убедитесь, что ваше зеркало содержит файлы с исходным кодом для всех архитектур, которые представлены на вашем зеркале
После настройки зеркала его следует зарегистрировать в Debian, тогда оно будет включено в официальный список зеркал. Для подачи заявки используется простая веб-форма.
Вопросы и о проблемах можно писать на [email protected].
Списки рассылки
Существует два открытых списка рассылки касательно зеркал Debian, debian-mirrors-announce и debian-mirrors. Всем сопровождающим зеркал настоятельно рекомендуется подписаться на список на новостной список рассылки, поскольку он используется для распространения важных новостей. Этот список модерируется, количество сообщений в нём крайне мало. Второй список рассылки предназначен в первую очередь для общих обсуждений и открыт для всех.
Если у вас имеются какие-либо вопросы, ответы на которые вы не нашли на этих страницах, то вы можете связаться с нами по адресу [email protected] или задать ваши вопросы через IRC, канал #debian-mirrors в сети irc.debian.org.
Замечания для закрытых (частичных) зеркал
Если вы хотите, чтобы ваше зеркало было доступно только в вашей сети, либо вам требуются только определённые наборы пакетов (например, только стабильный выпуск), то утилита debmirror тоже вам подойдёт.