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 huayra-devel@listas.huayragnulinux.com.ar (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