Nuevo mirror de Ubuntu

Germán Póo-Caamaño gpoo en calcifer.org
Mie Ago 20 00:13:30 CLT 2008


On Tue, 2008-08-19 at 23:18 -0400, Aldrin Martoq wrote:
> On Tue, 2008-08-19 at 17:57 -0400, Rodrigo Javier Tobar Carrizo wrote:
> > Miguel Angel Ruiz Manzano wrote:
> > > Rodrigo Javier Tobar Carrizo wrote:
> > >> [...]
> > >> Wena :D
> > > Hola,
> > >> El de Inteprid que tan sincronizado esta con los oficiales?
> > > Como se actualiza cada 2 horas, debiera estar al día.
> > Parece bastante bueno... el de tecnoera (cl.archive.ubuntu.com) de 
> > repente no encuentra algunos paquetes (error 404) aunque los tienen 
> > indexados... esperemos que no pase lo mismo por aca :P
> 
> Esto siempre me ha llamado la atencion: varias veces me pasa con los
> mirros chilenos que se actualiza el indice/catalogo del mirror pero no
> estan los .deb reales y me aparece el 404. Y reintento un par de minutos
> despues y el mismo error, al final siempre he terminado apuntando a
> us.archive.ubuntu.com :(

El proceso de sincronización contra repositorio completo es lento, el
cual (por omisión) es en orden alfabético.  Así, si requieres el paquete
postfix y el espejo recién está sincronizando openoffice.org en todas
las arquitecturas, indudablemente tardará.

rsync, por omisión, borra los archivos locales antes de comenzar a traer
los archivos nuevos; y, IIRC, el catálogo viene al final.  Por lo tanto,
en esa ventana de tiempo, es probable que falle.

Una opción para disminuir esa brecha es sincronizar en 2 partes:
     1. Sincronizar todo exceptuando el catálogo (--exclude) y sin
        borrar (y sin borrar)
     2. Sincronizar nuevamente, ahora con la opción --delete-after.

Otra opción, es similar a la anterior, pero sincronizar de una sola vez,
utilizando la opción --delete-after.  Menos confiable que la anterior,
pero aún sirve.

Ambos requieren más espacio en el espejo, para tener varios paquetes
duplicados y en distintas versiones.

Hay que considerar que generar el listado del repositorio completo y
transmitirlo por la red es lento.

Aún así es propenso a que falle.  ¿Qué sucede si comienza la
sincronización y a mitad de camino cambia el repositorio central?

Para lidiar con ello, existe el "push mirror".  En el cual el espejo,
mediante llaves y restricciones en SSH, permite que el repositorio
central "notifique" cuando han habido cambios y así tener una copia
fresca y consistente, sin tantas reconexiones sin nada nuevo.

Claro que lo lógico es que los push mirror funcionen sólo con los
repositorios oficiales.  Desconozco si Ubuntu está usando push mirrors.

> Alguna medida para contrarrestar esto?

En vez de usar "uno u otro", usas ambos y colocas primero los espejos
más cercanos a tu equipo.

Así, traerá los catálogos de todos los repositorios definidos, intentará
descargar los paquetes del primer repositorio definido, si falla,
intentará del segundo y así sucesivamente.

A veces la falla sucede en algunos paquetes, pero no en todos.

-- 
Germán Póo-Caamaño
http://www.calcifer.org/



Más información sobre la lista de distribución Linux