Jerarquía ~~~~~~~~~ Psync maneja una jerarquía respecto a los mirros. El ojeto más externo de tods es la Configuración, que no es más que una lista de Repo(sitorio)s. Un Repo es una unidad que normalmente representa una unidad de software relacionado entre sí. Por lo general representa todo un árbols de un mirror que incluye una distro completa o software de terceros para varios distros. Un repositorio puede tener a lista de Distros o Releases. Como una Distro a su vez puede ser una lista de Releases, veremos la primera en detalle. Los repositorios para terceros a veces empaquetan software para distintas Distros, principalmente los que empaquetan .rpm's para Mandrake/Mandriva, RedHat/Fedor, SuSE y así. Por ellos es que un Repositorio puede contener varias Distros. Un Release es una instancia única de una Distro en el tiempo. Por lo general se refiere a las versiones estables y congeladas de las Distros, pero también representan aquellas que van cambiando con el tiempo: cooker de Mandriva, testing y unstable de Debian, etc. Un Release puede venir para varias Archs. Una Arch(itercture) puede contener Módulos. Casi todas las distros actuales dividen el software deisponible en tales cosas. Tratamientos de errores: ~~~~~~~~~~~~~~~~~~~~~~~~ Volviendo un poco para atrás, un Release es la unidad de transacción para psync. Esto significa que si al menos un paquete de cualquiera de los componentes del Release falla, el Release se considera incompleto y no se actualizan las bases de datos[*]. En este caso, tanto los archivos `viejos´ como los recién bajados quedan en el mirror y los que correspondan serán limpiados en la primer pasada completamente exitosa que suceda. [*] Es cierto que muchos de los errores son recuperables, pero aún no pienso encargarme de ello (esto es simple por ahora porque hay un solo backend de downoading: http [y a través del comando externo culr]. Si llegara a haber más, habría que hacer toda una API para backends... lo cual no estoy dispuesto a hacer aún).