En este post explicaremos como crear un repositorio para Debian utilizando debmirror. Para ello es necesario tener instalados los siguientes paquetes:
#apt-get install debmirror rsync apache2
debmirror es una herramienta que nos permite la creación parcial o total de un repositorio Debian.
rsync es una herramienta para sincronizar los ficheros y directorios que tenemos almacenados en un sitio en otro diferente, minimizando la transferencia de datos (Wikipedia: rsync).
apache2 es un servidor web de codigo abierto, el cual utilizaremos para servir nuestro repositorio en la red local.
Antes de empezar debemos verificar que disponemos del espacio suficiente, en este caso tenemos una partición de 139Gb montada en "/mirror".
# df -h /mirror/
Creemos un script llamado "mirror.sh" con el siguiente contenido:
#!/bin/sh
HOST=ftp.us.debian.org
METODO=rsync
DIST=squeeze
ARCH=amd64,i386
SECTION=main,non-free,contrib
DIRECTORIO=/mirror/debian
echo "==================================================================="
echo "===== Actualizando los repositorios: main, contrib, non-free ======"
echo "==================================================================="
debmirror \
-h ${HOST} \
--progress \
--dist=${DIST} \
--root=/debian \
--di-arch=${ARCH} \
--section=${SECTION} \
--arch=${ARCH} \
--method=${METODO} \
--nosource \
--ignore-release-gpg \
--i18n \
--rsync-extra=doc,tools,indices \
--rsync-options='-aIL' ${DIRECTORIO}
echo "======================================================================"
echo "Actualizando los repositorios wheezy-updates, main, contrib, non-free"
echo "======================================================================"
DIST=squeeze-updates
SECTION=main,non-free,contrib
METODO=rsync
ARCH=amd64,i386
debmirror \
-h ${HOST} \
--progress \
--dist=${DIST} \
--root=/debian \
--di-arch=${ARCH} \
--section=${SECTION} \
--arch=${ARCH} \
--method=${METODO} \
--nosource \
--ignore-release-gpg \
--i18n \
--rsync-extra=doc,tools,indices \
--rsync-options='-aIL' ${DIRECTORIO}
Ahora le damos permisos de ejecución:
#chmod +x mirror.sh
Luego lo ejecutamos, este proceso va a demorar bastante:
#./mirror.sh
Unas cuantas horas después... Debemos generar los enlaces con apache:
#ln -s /mirror /var/www/mirror
A esta altura ya tenemos nuestro repositorio Debian. Para poder utilizarlo solo nos resta agregarlo a nuestro sources.list de la siguiente manera:
deb http://NUESTRA_IP/mirror/debian/ squeeze main contrib non-free
deb-src http://NUESTRA_IP/mirrordebian/ squeeze main contrib non-free
deb http://NUESTRA_IP/mirror squeeze/updates main contrib non-free
deb-src http://NUESTRA_IP/mirror squeeze/updates main contrib non-free