Releyendo pasados artículos mios en un blog ya desaparecido encontre el siguiente que considero vale la pena conservar. He realizado algunos cambios de forma y redacción pero en esencia es el mismo. Que les aproveche.
Implementación de un mirror Debian, en circunstancias algo extrañas.
El reto era el siguiente, un mirror ftp de debian, en un servidor win 2003 usando el juego de CDs oficiales de Debian Sarge.
Luego de barajar varias soluciones solo habia dos que me parecieron posibles.
1)Crear el mirror en un debian usando las herramientas existentes para el fin, como apt-proxy, apt-move, debmirror y otras que encontre buscando por la red. Una vez creado la pasaría al ftp del windows 2003 para su uso.
2)Hacerlo de forma manual, copiando los paquetes al ftp en winodws y las listas de estos, respetando la estructura de un mirror de manera tal que apt pudiera trabajar. No estaba seguro de decidir por este. Era el que más me permitiría aprender pero era a la vez el que más problemas podria traerme, suponia yo al menos.
Pero buscando en la red me encontre el siguiente enlace donde explicaba justamente lo que queria. Leerlo fue cosa de un instante. Ahora solo me faltaba saber la estructura de un mirror debian y entender un poco más como hace APT para instalar paquetes.
Haciendo un resumen, lo que entendi fue lo siguiente:
Para tener la lista de paquetes disponibles para su instalaci&ón, lo que apt-get hace es descargar las listas de paquetes de los repositorios a los cuales apunta. Estos servidores están especificados en /etc/apt/sources.list. Una vez descargadas las listas, apt ya sabe con que paquetes cuenta para su instalación y datos sobre los mismos.
Una entrada típica en sources.list es la siguiente
deb http://ftp.at.debian.org/debian/ testing main contrib non-free
¿Que significa?
deb Paquetes binarios a los que se apunta y no paquetes con archivos fuente (que se especifican como deb-src).
http://ftp.at.debian.org/debian Especifica el protocolo, servidor y la carpeta en la cual están ubicados.
testing Se va a usar la versión testing de los diversos paquetes, tambien conocida como ETCH.
main Indica que se va a usar la fuente principal de paquetes de debian, los cuales son libres.
contrib Paquetes libres pero que dependen de librerias no libres.
non-free Paquetes que no son software libre.
Para crear un mirror debian, necesito saber la estructura del mismo, el leer y conocer lo anterior me daba una idea, pero igual no sabia como, hasta que como de costumbre resulto que estaba en mi cara y no me daba cuenta. ¡Solo tenia que ver un ftp ya existente!. Mas simple, imposible. Entre con mi navegador a ftp ftp.debian.org y revise su estructura de archivos, luego abri un cd de Debian Sarge y lo revise tambien. Viendo uno y otro, leyendo, pensando un poco encontre la solución.
Decidi seguir el siguiente esquema en el mirror.
/debian
Hecho esto, ya debemos tener un mirror debian funcionando en un win 2003 server. Se usaron los 6 primeros del juego oficial de cds de Debian Sarge.
Este es el archivo /debian/dists/sarge/Release que quedo despues de el procedimiento anterior.
Origin: Debian
Label: Debian
Suite: stable
Version: 3.1r0
Codename: sarge
Date: Mon, 06 Jun 2005 02:22:42 UTC
Architectures: i386
Components: main contrib
Description: Debian 3.1 r0a
MD5Sum:
18fc45f9bc14bc902f645ca5621171f7 95 main/binary-i386/Release eddd0137d22bc50c8f3426931e4c3979 5146166 main/binary-i386/Packages 1b89945b84ea631f21fc0e4cf8e153c1 1443872 main/binary-i386/Packages.gz 39bb14430e86e173669291d82702fdb3 98 contrib/binary-i386/Release cebab3646fb967be8940a58e3b33fcb5 42864 contrib/binary-i386/Packages 9425e0afde0c91332604bdcf99ef8f0b 14077 contrib/binary-i386/Packages.gz
Esta es la línea en el sources.list
deb ftp://192.168.1.2/debian/ sarge main contrib
Cualquier duda o comentario no duden en hacermelo llegar.