Réplicas de Huayra GNU/Linux (mirrors)

Réplicas actuales

Actualmente contamos con los siguientes servidores de réplicas:

Nombre Conexión Actualización Contenido Proveedor Admin Geo Notas
http://repo-huayra.conectarigualdad.gob.ar/huayra/ 10Mbps push repo,isos EDUCAR Equipo Huayra <equipohuayra en gmail.com> CABA, BA, AR mirror principal oficial
http://huayra.bbs.docksud.com.ar/huayra/ adsl 1Mb push repo Dock Sud BBS Fernando Toledo <ftoledo en pressenter.com.ar> CABA, BA, AR es un mirror de pruebas, poco ancho de banda
http://devel-huayra.conectarigualdad.gob.ar/huayra/ 1MB --- repo EDUCAR Equipo Huayra <equipohuayra en gmail.com> CABA, BA, AR Repo desarrollo (solo lo deben usar los desarrolladores)
http://huayra.educ.gov.ar ? --- isos EDUCAR Raul Roa <rroa en educ.gov.ar> CABA, BA, AR
http://repositorio.comunidadhuayra.org/huayra/ 100Mbps Manual repo Comunidad Huayra Ricardo Morales <repositorio en comunidadhuayra.org> Kansas, USA Mirror de la Comunidad de Huayra de Argentina
http://huayra.tom.pressenter.com.ar/huayra/ 10Mbps push repo PressEnter Fernando Toledo <ftoledo en pressenter.com.ar> CABA, BA

Tamaño

El tamaño actual del repositorio es de 14GB aproximadamente:

Configurar un servidor de réplica público via rsync:

Requerimientos:

  • Storage 20GB
  • Rsync
  • Servidor web (apache || lighttpd || otro)

Crear un archivo para cron que se ejecute al menos 1 vez al día:

# -----|mirror-huayra.sh|-----
#
# OUT_DIR: Cambiar esta variable a un directorio donde se guardaran los archivos del repo
OUT_DIR=/home/mirrors/huayra/public_html
cd $OUT_DIR
rsync -avr --delete --no-compress rsync://repo-huayra.conectarigualdad.gob.ar/huayra-repo huayra
date > huayra/last_sync.txt

En el servidor web se puede crear un virtualhost similar a este:

Apache

<VirtualHost *:80>
  ServerName huarya.dominio.com.ar
  ServerAdmin admin@dominio.com.ar
  DocumentRoot /home/mirrors/huayra/public_html
</VirtualHost>

Nginx

server {
    listen 80;
    server_name huayra.dominio.com.ar
    root /home/mirrors/huayra/public_html
    location / {
       autoindex on;
    }
}

También puede ser un alias para publicar su mirror via http:

Alias /huayra /home/mirrors/huayra/public_html/huayra

Es recomendable que quede /huayra como URL para el mirror, por ejemplo:

http://su-server.com/huayra/
http://mirrors.servidor.com/huayra/

Configurar un servidor de réplica con notificaciones Push

Este método permite que el mirror solo se actualice cuando existan cambios en el repositorio principal. Con lo cual se evita ejecutarlo a intervalos de tiempo. Y asegura tenerlo actualizado en tiempo real.

1) Crear un usuario para el mirror (ej. mirror_huayra)
2) Agregar al ~/.ssh/authorized_keys del usuario creado, la siguiente linea (todo en una sola linea)

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="~/mirror-huayra &" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0C3tLojkpJEwZCERmpdlHQzi9uB4OmcJJkOi83rbIwSc1Ls97mNkcasONh5oZmpq+N/lw9V8N9s4h9fUXiRwKkf8MOxv9Q92Ykhblg7q7XsXdkYPFnGMGVpFbb05k4tYvzgu2y4X3YJ2QXXgeaGQiwzA9xnZ06wNJmGbfHjyrpJPL7UBKuXTz/bKqVrJqbtaVk+5TjeM4phSBuChDCBvIw5kX/NsaQzNr3mHsNwOo6ny3Z3b6Bk4ucSY+IRc2qwpEiBld9q0vYx31l7TORoJhIPOx6Lf/yMP1/dEZJ82Kr9eBavLedyQfRUVnYMpcXtaUjQ3cpxbIE8a3Q78cFvGN repo@huayra

3) Crear un script llamado huayra-mirror en el home del usuario, siendo este ejecutable (chmod +x) con el siguiente contenido:

(puede tomar este como ejemplo):

#!/bin/bash
OUT_DIR=/home/huayra/html
RSYNC_PASSWORD=password_para_habilitar_rsync
export RSYNC_PASSWORD
cd $OUT_DIR
rsync -avr --delete --no-compress rsync://usuario_de_mirror@devel.huayra.conectarigualdad.gob.ar/huayra-repo huayra
date > huayra/last_sync.txt

Donde el usuario_de_mirror y el password_para_habilitar_rsync son datos que debe obtener enviando un mensaje al equipo de Huayra GNU/Linux en la lista de desarrollo (tenes que suscribirte previamente)

Con esta configuración, cada vez que se sube un paquete al repositorio principal de Huayra, se genera una conexión desde el mismo hacia el servidor de replica, avisando que ejecute el script mirror-huayra que esta en su home. Luego, su servidor, dispara el rsync para obtener las novedades el servidor principal.

Nota para los admins:

  • Las claves ssh generada esta en ~/.ssh/clave.mirrors.pub
  • Habilitar el acceso mediante /etc/rsyncd.*
  • Agregar el nuevo host a update_mirrors de reprepro.

Más información

http://www.debian.org/mirror/push_server

Configurar usando debmirror

Una de las herramientas comunes tambien es debmirror.
Hay que tener en cuenta que todos los valores por defecto son para Debian.
Con lo cual, para adpatarlo a Huayra, simplemente se deben ajustar los parámetros para cada caso respectivamente:

Por ejemplo, con éste script se hae una réplica a traves del protocolo http de las distros torbellino, zonda, zonda-updates, sud y sud-updates de las secciones main, contrib y non-free en un directorio que se crea con el nombre huayra.

debmirror -h "repo-huayra.conectarigualdad.gob.ar" --method http -v -r huayra -d zonda -d zonda-updates -d sud -d sud-updates -d torbellino -s "main,contrib,non-free" huayra