[U-co] Creación de un mirror de imágenes de CD's

Julián Alarcón alarconj en gmail.com
Jue Abr 9 03:03:42 UTC 2009


Bueno, me quedo la duda sobre como hacer para crear un mirror de imagenes de
una distribución. Así que me puse a la tarea de averiguar un poco como es
que se hacen estos mirrors.
Primero encontré un buen vínculo de Debian (
http://www.debian.org/CD/mirroring/) donde explican las posibles formas de
realizar un mirror de imagenes, y pues recomiendan dos formas, usando rsync
o usando jigdo-mirror. Con el primero sincroniza archivos con un directorio
en internet, con el segundo se fabrican las imagenes iso con los archivos
que ya existen en un repositorio.

Yo creo que es mucho mejor el segundo, porque.. no tenemos repositorios de
varias distribuciones, y porque si fuera el caso, consumiría mucho
procesamiento la creación de imágenes.


Ahora, aunque en Debian explican las diferencias, no dicen como montarlo así
que buscando en la documentación de Fedora me encontré con:
http://docs.fedoraproject.org/mirror/en/sn-planning-and-setup.html

Explican bien el procedimiento con rsync, y algunas funciones útiles.
Entonces me di a la tarea de buscar en la documentación de Ubuntu, y
encontré dos buenos enlaces:
https://help.ubuntu.com/community/Rsyncmirror
https://help.ubuntu.com/community/RsyncCdImage

Aunque en el primero explican el procedimiento con un repositorio de
paquetes, la diferencia con un repositorio de imagenes es casi nula, solo
distintas rutas.

Ya hice algunas pruebas, usando rsync, es bastante sencillo, solo es
necesario tener instalado rsync (por defecto en Ubuntu ya esta instalado):
Y ejecutar:

rsync -ahhvzP releases.ubuntu.com::releases/
/home/darkhole/Descargas/imagenes/

rsync: el comando del programa (duh)
-a : Recorre todos los directorios y preserva la mayor cantidad de
información posible
-hh: Muestra los tamaños de archivos para que pueda ser leido por "humanos"
-v: Muestra la información del proceso, se debería quitar si lo colocamos en
un script
-z : Este me pareció reutil, lo que hace es comunicarle al servidor que
primero comprima los datos que se van a enviar y luego cuando lleguen al
destino se descompimen, ahorrando ancho de banda :)
-P: Indica el progreso, supongo que tambien será innecesario en un script.

Luego, va el servidor desde el que se va a acceder y por ultimo la carpeta
de destino, así que seria muy sencillo crear un mirror publico si
simplemente colocamos como destino /var/www/ubuntu

Y pues, lo lógico es que este comando se ejecute cada cierto tiempo (cada
día sería perfecto), para esto nos apoyaríamos de cron.

En la documentación de Ubuntu hay unos buenos scripts, en los que tambien se
brinda la posibilidad de que se envie un email en caso de error.


Aclaro, esto es válido para cualquier distribución. Ojalá sea posible montar
el servidor, y porque no, mantener un mirror de varias distros.

Julián Alarcón
Administrador Ubuntu-Co



Más información sobre la lista de distribución Ubuntu-co