Usando Debmirror para crear un mirrors (Trisquel,Debian,Multimedia)

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.

9 comentarios sobre “Usando Debmirror para crear un mirrors (Trisquel,Debian,Multimedia)

  1. 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

  2. si por tarugo me baje el repositorio a un pc que no era los paquetes descargados puedo moverlos disco a disco al otro pc?

  3. ¡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. 😎

Replica a Hernan Ravelo Cancelar la respuesta