apt-transport-mirror - Transporte APT para una selección de espejos más automatizada
Este transporte APT no está implementando un protocolo para acceder a repositorios locales o remotos por sí solo, sino que adquiere una lista de espejos y redirige todas las solicitudes a los espejos seleccionados de esta lista, accediendo a ellos a través de otros transportes como apt-transport-http (1). La funcionalidad básica ha estado disponible desde apt 0.7.24, pero no se documentó hasta apt 1.6, que contenía una revisión completa del transporte y sus funciones compatibles. Tenga en cuenta que un usuario nunca llama directamente a un transporte, sino que lo utilizan las herramientas APT según la configuración del usuario.
Si la adquisición de un archivo a través de un espejo falla, el método garantiza que otro posible espejo de la lista se pruebe automáticamente hasta que se recupere el archivo o no quede ningún espejo en la lista, manejando de manera transparente los tiempos de inactividad del servidor y problemas similares.
Las implicaciones de seguridad del transporte dependen de las consideraciones de seguridad asociadas con el transporte utilizado para adquirir la lista de espejos y los transportes involucrados en el acceso a los espejos elegidos por el transporte.
Este transporte no tiene opciones de configuración en este momento. La selección de espejos se basa completamente en los espejos ofrecidos en la lista de espejos y los archivos que APT necesita adquirir.
Una lista de espejos contiene una o más líneas, cada una de las cuales especifica un URI para un espejo. Las líneas vacías y aquellas que comienzan con un carácter hash (#) se ignoran. Un URI siempre comienza con un esquema de URI que define el transporte utilizado para este espejo. Si, por ejemplo, el URI comienza con http:, el transporte responsable es apt-transport-http(1), que podría tener requisitos específicos para el formato de la parte restante del URI.
Los metadatos sobre un espejo se pueden proporcionar en la misma línea, separados del URI por una pestaña. Múltiples elementos de metadatos pueden estar separados por tabulaciones o espacios. (Esta es una función avanzada que solo está disponible con apt >= 1.6. Las versiones anteriores de apt no podrán analizar las listas de espejos con esta función).
Desde apt 1.6, también se admite el uso de listas espejo comprimidas. Tenga en cuenta que el nombre de archivo de la lista espejo debe especificar el algoritmo de compresión utilizado; no hay detección automática basada en el contenido del archivo.
Como se especifica en el formato, un espejo puede tener metadatos adicionales adjuntos para evitar que se seleccione un espejo para adquirir un archivo que no coincida con estos metadatos. De esta manera, la lista de espejos puede, p. contienen espejos parciales que sirven solo a ciertas arquitecturas y APT elegirá automáticamente un espejo diferente para los archivos que requieren una arquitectura no listada. Se admiten los límites para la arquitectura (arch), el nombre en clave de la versión (codename), el componente del repositorio en el que se encuentra el archivo (componente), el idioma al que se aplica el archivo (lang), el nombre de la suite de la versión (suite) y el tipo de el archivo (tipo).
Si no se da prioridad a un espejo a través de la prioridad de la clave de metadatos, el orden en que se contactan los espejos es aleatorio. Si se debe probar primero un determinado conjunto de espejos antes de probar cualquier otro conjunto, se puede establecer explícitamente una prioridad. Los espejos con el número más bajo se prueban primero. Los espejos que no tienen una prioridad explícita se establecen de forma predeterminada en el número más alto posible y, por lo tanto, se prueban en último lugar. La elección entre espejos con la misma prioridad vuelve a ser aleatoria.
La disponibilidad y elección de transportes en una lista de espejos está limitada por la forma en que el cliente APT accede a la lista de espejos. Si se utiliza un transporte local como archivo o copia, la lista de espejos también puede incluir fuentes locales, mientras que una lista de espejos a la que se accede a través de http no puede hacerlo. Además, una lista de espejos no puede contener una lista de espejos u otros transportes envolventes (como apt-transport-tor). Consulte la documentación de estos transportes sobre cómo usarlos con el método espejo.
Tenga en cuenta que las versiones de apt anteriores a la 1.6 no admiten ningún otro transporte que no sea http.
Un ejemplo básico de lista de espejos compatible con todas las versiones de apt con un método de espejo (>= 0.7.24) en el que el cliente elegirá cualquiera de los tres espejos:
http://ftp.de.debian.org/debian/ http://ftp.us.debian.org/debian/ http://deb.debian.org/debian/
Suponiendo que un archivo con este contenido se almacene como /etc/apt/mirrorlist.txt en su máquina, se puede usar así en sources.list(5) (desde apt 1.6):
deb mirror+file:/etc/apt/mirrorlist.txt bookworm main
Todas las versiones del método espejo admiten una lista de espejos a la que se puede acceder a través de HTTP, por lo que suponiendo que esté disponible en http://apt.example.org/mirror.lst, la entrada de la lista de fuentes de arriba podría escribirse como:
deb mirror://apt.example.org/mirror.lst bookworm main
Tenga en cuenta que, desde apt 1.6, se debe preferir el uso de mirror+http en lugar de mirror por uniformidad. La funcionalidad es la misma.
Como se explica en la definición de formato, las versiones apt anteriores a la 1.6 no admiten esto y fallarán al analizar la lista de espejos. La lista de espejos de ejemplo se complica intencionalmente para mostrar algunos aspectos de la selección. Se asume la siguiente configuración: El primer espejo es un espejo local accesible a través del método de archivo, pero potencialmente incompleto. El segundo espejo tiene una gran conexión, pero es un espejo parcial en la medida en que solo contiene archivos relacionados con las arquitecturas amd64 y todo. Los espejos restantes son espejos promedio que deben contactarse solo si los anteriores no funcionaron.
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/
En esta configuración con esta lista de réplicas, la primera réplica se utilizará para descargar todos los archivos de índice, suponiendo que se acceda a la propia lista de réplicas a través de un archivo similar al transporte local. Si no es así, si el espejo es inaccesible o si no contiene el archivo solicitado, se utilizará otro espejo para adquirir el archivo, elegido según el tipo de archivo: El último espejo del archivo servirá un archivo de índice. list, mientras que un paquete de arquitectura amd64 es servido por el segundo y los de p. arquitectura i386 por uno de los tres últimos.
Página de errores de APT[1]. Si desea informar un error en APT, consulte /usr/share/doc/debian/bug-reporting.txt o el comando reportbug(1).
Equipo APT
1. Página de errores de APT: http://bugs.debian.org/src:apt