Buscar en moleculax
Haciendo mirrors de Debian con ftpsync y de Canaima con debmirror

Muchas veces se hace útil tener una copia idéntica (mirror) del repositorio de paquetes Debian y Canaima en tu computadora: Acelera la instalación de paquetes, la creación de imágenes con canaima-semilla y permite tener un ambiente pruebas en caso de que manejes un repositorio en ambientes de producción.
Hacerlo no es tan difícil y requiere muy poca atención luego de realizado el procedimiento. Eso sí, el tiempo que utilizaremos inicialmente dependerá de tu velocidad de conexión. Podrás elegir cuales arquitecturas replicar y decidir si incluir las fuentes de los paquetes o no.

Mirror Debian

Descarga el script ftpsync.
Crea un usuario en la computadora o servidor que utilizarás para hospedar el mirror. Para este ejemplo utilizaremos el usuario “mirror”.
Inicia sesión con ese usuario. Puedes hacerlo con el comando login mirror.
Copia y descomprime el ftpsync.tar.gz en la carpeta /home/ del usuario mirror. Aparecerá una carpeta etc, una bin, y otra log.
Cambia el nombre del archivo etc/ftpsync.conf.sample a etc/ftpsync.conf.
Edita el archivo etc/ftpsync.conf de la siguiente forma:
  • Descomenta la variable MIRRORNAME.
  • Descomenta la variable TO y le vas a poner de valor la ruta donde quieres que se haga el mirror, preferiblemente algo que pueda ver un servidor web como /var/www, para este ejemplo utilizaremos /var/www/debian. Es importante que esa carpeta pertenezca al usuario que creaste para el mirror.
  • Descomenta la variable RSYNC_PATH y ponle “debian”.
  • Descomenta la variable RSYNC_HOST y ponle “ftp.us.debian.org” o cualquier otro mirror del cual quieras hacer tu mirror, siempre y cuando se le pueda acceder por ftp.
  • Descomenta la variable LOGDIR.
  • Descomenta la variable LOG.
  • Descomenta la variable ERRORSONLY y ponle “false”.
  • Descomenta la variable FULLLOGS y ponle “true”.
  • Descomenta la variable ARCH_EXCLUDE y lista las arquitecturas que quieres excluir. Si quieres excluir las fuentes añades “source”. Por ejemplo, en canaima sólo hacemos mirror de i386, amd64 y las fuentes, por lo que esa variable vale: “alpha arm armel hppa hurd-i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mipsel mips powerpc s390 sh sparc”.
  • Descomenta la variable TRACE.
  • Descomenta la variable RSYNC y ponle “rsync”.
  • Descomenta la variable RSYNC_OPTIONS.
  • Descomenta la variable RSYNC_OPTIONS1.
  • Descomenta la variable RSYNC_OPTIONS2.
Finalmente, configura un cron para que se corra a determinadas horas. Edita el archivo /etc/crontab (como superusuario) y añade esta línea al final:
30 1 * * * mirror /home/mirror/bin/ftpsync sync:all
Esta línea correrá el script /home/mirror/bin/ftpsync sync:all por el usuario mirror todos los días a la 1:30am.

Mirror Canaima

Instala el paquete debmirror.
aptitude install debmirror
Inicia sesión con el usuario mirror que creaste para el mirror Debian.
Ejecuta el comando que aparece a continuación. El último parámetro es la ruta donde publicarás el repositorio, la cual debe pertenecer al usuario mirror y estar en un lugar visible para un servidor web como /var/www.
debmirror --debug --progress --verbose --source --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios --method=rsync --root=:canaima --dist=estable,desarrollo,pruebas --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/canaima
Finalmente, debemos configurar un cron para que se ejecute a determinadas horas.
Creemos un script BASH en la ruta /home/mirror/mirror-canaima.sh que tenga el siguiente contenido:
#!/bin/bash
 
debmirror --debug --progress --verbose --source --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios --method=rsync --root=:canaima --dist=estable,desarrollo,pruebas --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/canaima
Edita el archivo /etc/crontab (como superusuario) y añade esta línea al final:
30 1 * * * mirror /home/mirror/mirror-canaima.sh
Esta línea correrá el script /home/mirror/mirror-canaima.sh por el usuario mirror todos los días a la 1:30am.

¿Cómo usarlos?

Bien, una vez creados los mirrors, tenemos varias formas de usarlos e incluso, compartirlos con nuestros amigos.
Para usarlo localmente, podemos sustituir nuestro tradicional mirror debian en nuestro archivo /etc/apt/sources.list:
deb http://universo.canaima.softwarelibre.gob.ve/ squeeze main contrib non-free
por
deb file:/var/www/debian main contrib non-free
Y nuestro repositorio Canaima:
deb http://repositorio.canaima.softwarelibre.gob.ve/ roraima usuarios
por
deb file:/var/www/canaima roraima usuarios
Para permitir que otros puedan acceder a nuestros mirrors, debemos instalar un servidor web como apache, lighttpd o nginx.
Instalemos apache:
aptitude install apache2
Listo, dile a tus compañeros que usen la siguiente línea para el mirror Debian:
deb http://TU-DIRECCIÓN-IP/debian main contrib non-free
o esta para el mirror Canaima:
deb http://TU-DIRECCIÓN-IP/canaima roraima usuarios
Espero que te haya servido!

.


Powered by

http://emiliogomez.com.ar