Mirror (o realmente «repositorio local») es la posibilidad de contener de manera local todos los paquetes de una distribución específica para ahorrar Internet y ancho de banda.
Aunque es algo que uno hace casi todos los días, a veces uno olvida compartir estos comandos y scripts con la comunidad; en este caso, como crear un mirror de GNU/Linux Trisquel (una versión de Ubuntu completamente libre, sin paquetes privativos).
Un mirror para Trisquel
En la página oficial de Trisquel, indican que se puede usar rsync para crear un mirror de Trisquel (este medirá en su totalidad 229Gb), sin embargo, podemos usar debmirror para crear un mirror «personalizado» de Trisquel.
Creando el mirror
Para empezar, debemos conocer que los valores principales de debmirror cambian con lo que deseamos hacer, en mi caso:
- Arquitectura: i386,amd64 (arm para Debian, algunos experimentos)
- Distribuciones: Debian (lenny,squeeze), Trisquel (Taranis)
- Secciones: Debian (main,contrib,non-free), Trisquel (main,extras)
Adicionalmente, un mirror para i386 de debian-multimedia.
El Debmirror necesario para crear un mirror Debian como el destrito es:
debmirror --host=http.us.debian.org --root=debian --cleanup --nosource --ignore-missing-release --progress --ignore-release-gpg \ --arch=i386,amd64,arm --dist=lenny,squeeze --method=http --section=main,contrib,non-free local_path
Donde nuestro host es el repositorio desde donde se realizarán las copias (uso el oficial)
local_path es la ruta en disco donde crearemos el mirror (en mi caso, un disco USB)
Para crear el mirror Debian-Multimedia ejecutamos:
debmirror local_path --host=www.debian-multimedia.org --ignore-small-errors --dist=testing --arch=i386 --root=/ --method=http --section=main,non-free \ --nosource --ignore-missing-release --progress --ignore-release-gpg
Y para crear el mirror de Trisquel (Version Taranis, la que estoy usando, basada en Ubuntu Maverick) se ejecuta:
debmirror local_path --host=mirror.fsf.org --root=trisquel --ignore-small-errors --method=http --nosource --ignore-missing-release --progress --ignore-release-gpg \ --dist=taranis,taranis-backports --section=main,extras --arch=i386,amd64
Donde podemos usar como hosts a archive.trisquel.info o a mirror.fsf.org
Recordemos que la versión anterior de Trisquel (basada en Lucid) es Awen.
Usando Rsync
Crear mirrors usando debmirror y rysnc es muchisimo más rápido que usando HTTP convencional, esto es porque con rsync se puede lograr multi-threaded downloads, que aunque hace la descarga mucho más rápida, te consumirás casi todo el ancho de banda de tu conexión.
Para crear un mirror de Trisquel Taranis, usando Debmirror+rsync ejecutamos:
debmirror --host=archive.trisquel.info --pdiff=none --getcontents \ --method=rsync --root=":packages" --rsync-options "-rplthi --delete-after \ --stats --partial" --nosource --ignore-missing-release --progress \ --ignore-release-gpg --ignore-small-errors \ --dist=taranis,taranis-backports --section=main,extras --arch=i386,amd64 \ local_path
De hecho, si ejecutamos:
rsync -avn archive.trisquel.info::
Podremos ver que «modulos» posee este mirror, en este caso:
:iso (cd images)
:packages (repository)
Es por eso que –root apunta a :packages (en Debian, apuntaría a :debian)
Determinando el mirror más «rapido»
Podemos usar el paquete netselect-apt para determinar cual es el mirror más «rápido» para una distribución específica de Debian, para ello instalamos el paquete:
aptitude install netselect-apt
Y luego ejecutamos:
Para lenny:
netselect-apt -n -s stable
Para Squeeze:
netselect-apt -n -s testing
Para mi configuración, conexión, etc, ha determinado que:
The fastest server seems to be: http://204.152.191.39/debian/ Writing sources.list. Done.
Para crear un Mirror de Squeeze i386 y multimedia cuantos GB deberia tener?
Multimedia no mide tanto, unos 2 Gb para i386 solamente, el repositorio i386 mide 40Gb …
Saludos buen articulo mi pregunta es, cuantas GB necesito para crear un repositorio de paquetes de debían squeeze, es decir un mirror pero considerando los i386, amd64, multimedia, volátiles y security y backports.
Bueno en pocas palabras el repositorio completo de debían squeeze
Gracias
Aprox unos 64 Gb de espacio …
si por tarugo me baje el repositorio a un pc que no era los paquetes descargados puedo moverlos disco a disco al otro pc?
Que diferencia hay entre usar debmirror y usar apt-mirror para hacer un repositorio local?. Saludos.
¡Esto era lo que yo estaba buscando para hacer un repositorio en territorio venezolano!
«El que no sabe es como el que no ve» voy a realizar mis pininos correspondientes. 😎