apt-transport-mirror - Транспорт APT для более автоматизированного выбора зеркала
Этот транспорт APT не реализует протокол для доступа к локальным или удаленным репозиториям сам по себе, но получает список зеркал и перенаправляет все запросы на зеркало (зеркала), выбранные из этого списка, получая доступ к ним через другие транспорты, такие как apt-transport-http. (1). Базовая функциональность была доступна начиная с версии 0.7.24, но не была задокументирована до версии 1.6, которая содержала полную переработку транспорта и его поддерживаемых функций. Обратите внимание, что транспорт никогда не вызывается пользователем напрямую, а используется инструментами APT на основе конфигурации пользователя.
Если получить файл через зеркало не удается, этот метод гарантирует, что другое возможное зеркало из списка будет автоматически пробоваться до тех пор, пока либо файл не будет получен, либо зеркало не останется в списке, прозрачно обрабатывая время простоя сервера и аналогичные проблемы.
Последствия безопасности транспорта зависят от соображений безопасности, связанных с транспортом, используемым для получения списка зеркал, и транспортами, участвующими в доступе транспорта к выбранному зеркалу.
Этот транспорт в настоящее время не имеет параметров конфигурации. Выбор зеркал полностью основан на зеркалах, предлагаемых в списке зеркал, и файлах, которые необходимо получить APT.
Зеркальный список содержит одну или несколько строк, каждая из которых определяет URI для зеркала. Пустые строки и строки, начинающиеся с символа решетки (#), игнорируются. URI всегда начинается со схемы URI, которая определяет транспорт, используемый для этого зеркала. Если, например, URI начинается с http:, ответственным транспортом является apt-transport-http(1), у которого могут быть особые требования к формату оставшейся части URI.
Метаданные о зеркале могут быть указаны в той же строке, отделенной от URI табуляцией. Несколько элементов метаданных сами по себе могут быть разделены табуляцией или пробелами. (Это расширенная функция, доступная только с apt >= 1.6. Более ранние версии apt не смогут анализировать списки зеркал с помощью этой функции.)
Начиная с версии 1.6 также поддерживается использование сжатых зеркальных списков. Обратите внимание, что имя файла списка зеркал должно указывать используемый алгоритм сжатия; нет автоматического определения на основе содержимого файла.
Как указано в формате, к зеркалу могут быть присоединены дополнительные метаданные, чтобы предотвратить выбор зеркала для получения файла, не соответствующего этим метаданным. Таким образом, список зеркал может, например. содержат частичные зеркала, обслуживающие только определенные архитектуры, и APT автоматически выберет другое зеркало для файлов, требующих незарегистрированной архитектуры. Поддерживаются ограничения для архитектуры (arch), кодового имени выпуска (codename), компонента репозитория, в котором находится файл (component), языка, к которому относится файл (lang), имени комплекта выпуска (suite) и типа файл (тип).
Если зеркалу не присвоен приоритет через приоритет ключа метаданных, порядок обращения к зеркалам является случайным. Если определенный набор зеркал должен быть опробован первым, прежде чем будет опробован любой другой набор, приоритет может быть установлен явно. Сначала пробуются зеркала с наименьшим номером. Зеркала, которые не имеют явного приоритета, по умолчанию устанавливают максимально возможное число и поэтому пробуются последними. Выбор между зеркалами с одинаковым приоритетом снова случайный.
Доступность и выбор транспортов в зеркальном списке ограничены тем, как клиент APT получает доступ к зеркальному списку. Если используется локальный транспорт, такой как файл или копия, зеркальный список также может включать локальные источники, в то время как зеркальный список, доступ к которому осуществляется через http, не может. Кроме того, список зеркал не может содержать список зеркал или другие транспорты-оболочки (например, apt-transport-tor). См. документацию этих транспортов о том, как использовать их с зеркальным методом.
Обратите внимание, что версии apt до 1.6 не поддерживают никакой другой транспорт, кроме http.
Базовый пример списка зеркал, поддерживаемый всеми версиями apt с методом зеркала (>= 0.7.24), в котором клиент выберет любое из трех зеркал:
http://ftp.de.debian.org/debian/ http://ftp.us.debian.org/debian/ http://deb.debian.org/debian/
Предполагая, что файл с этим содержимым хранится как /etc/apt/mirrorlist.txt на вашем компьютере, его можно использовать следующим образом в sources.list(5) (начиная с apt 1.6):
deb mirror+file:/etc/apt/mirrorlist.txt bookworm main
Все версии зеркального метода поддерживают зеркальный список, доступный через HTTP, поэтому, если предположить, что он доступен по адресу http://apt.example.org/mirror.lst, запись sources.list выше может вместо этого быть записана как:
deb mirror://apt.example.org/mirror.lst bookworm main
Обратите внимание, что, начиная с версии 1.6, для единообразия следует предпочесть использование зеркала+http, а не зеркала. Функционал такой же.
Как объяснено в определении формата, версии apt до 1.6 не поддерживают это и не смогут проанализировать список зеркал. Пример зеркального списка намеренно усложнен, чтобы показать некоторые аспекты выбора. Предполагается следующая настройка: Первое зеркало — это локальное зеркало, доступное через файловый метод, но потенциально неполное. Второе зеркало имеет отличное соединение, но является частичным зеркалом, поскольку оно содержит только файлы, относящиеся к архитектурам amd64 и всем остальным. Остальные зеркала - это средние зеркала, к которым следует обращаться только в том случае, если предыдущие не работали.
file:/srv/local/debian/mirror/ priority:1 type:index http://partial.example.org/mirror/ priority:2 arch:amd64 arch:all type:deb http://ftp.us.debian.org/debian/ type:deb http://ftp.de.debian.org/debian/ type:deb https://deb.debian.org/debian/
В этой настройке с этим списком зеркал первое зеркало будет использоваться для загрузки всех индексных файлов, предполагая, что доступ к самому списку зеркал осуществляется через локальный транспорт, подобный файлу. Если это не так, если зеркало недоступно иным образом или если оно не содержит запрошенный файл, для получения файла будет использоваться другое зеркало, выбранное в зависимости от типа файла: индексный файл будет обслуживаться последним зеркалом в list, в то время как пакет архитектуры amd64 обслуживается вторым и, например, пакетом архитектуры amd64. архитектура i386 по одной из трех последних.
Страница ошибки APT[1]. Если вы хотите сообщить об ошибке в APT, см. /usr/share/doc/debian/bug-reporting.txt или команду reportbug(1).
Команда APT
1. Страница ошибок APT: http://bugs.debian.org/src:apt