Habilitacion de DVDs Debian para servidor de paquetes

De Hacklab La Paz - r00thouse

Una vez descargados los 20 DVDs los paquetes Debian de las ramas main y contrib, estos son los pasos realizados para habilitar su uso en el servidor del Núcleo GNU/Linux.

Obtener los .iso

Son 10 DVDs para cada arquitectura, 1 para i386 y 1 para amd64, se coṕio los isos en /var/ftp

Habilitar al menos 20 loops

(Falta documentar.- Como se habilitó hasta 20 loops)

Para que los isos copiados puedan ser montados en /media y de allí hacer un link simbólico a /var/www, mediante el siguiente script llamado mknod.sh:

#!/bin/bash 
#añade en /dev/loop nuevos loops y le da permisos 
for NODE in $(seq 8 20)
do
 mknod -m 660 /dev/loop$NODE b 7 $NODE
 chmod 666 /dev/loop$NODE
done

Montar los isos

Se ejecuta el siguiente script llamado montar.sh:

#!/bin/bash 
cd "/var/ftp/isos/Debiam 7.2.0 amd64/"
for NODE in $(seq 1 10)
do
 mount -o loop debian-7.2.0-amd64-DVD-$NODE.iso /media/dvd$NODE-64
done

Hacer un link simbólico

Mediante el script llamado "linkear-todos.sh"

#!/bin/bash 
for NODE in $(seq 1 10)
do
 echo "linkeando... /media/dvd$NODE-32/debian /var/www/dvd32-$NODE"
 ln -s /media/dvd$NODE-32/debian /var/www/dvd32-$NODE
 ln -s /media/dvd$NODE-64/debian /var/www/dvd64-$NODE
done

Asegurar que se realicen los pasos al reiniciar el servidor

Todo el proceso lo hace el script Mon_link_isos_deb.sh

#!/bin/bash 
echo "-....................-"
cd /root
./mknod.sh
./montar.sh
./montari386.sh
./linkear-todos.sh
echo "--------------------------------------------"
date | xargs
echo "--------------------------------------------"
#else 
exit 0

Al final por si se apaga el equipo para seguir teniendo montados los isos, se debe añadir el script "Mon_link_isos_deb.sh" a /etc/init.d/ y ejecutar en ese direcotrio.

update-rc.d <nombre del script> defaults 99

Sin usar Apache (mas directa con python)

Si no se cuenta con apache o php se puede usar python para usar repositorios. De esta forma no es necesario siquiera hacer links simbolicos o montar en media


montar los DVDs en carpetas locales

Una vez tenemos DVDs creamos carpetas donde se montaran estos DVDs, para montar en esas carpetas desde la terminal usamos:

# mount -o loop Repositorios_Debian_7.6/debian-7.6.0-amd64/debian-7.6.0-amd64-DVD-3.iso REPOS/DVD3-64/

Que fucnionaría para el DVD 3, lo mismo para los otros DVDs por ejemplo para el DVD1:

# mount -o loop Repositorios_Debian_7.6/debian-7.6.0-amd64/debian-7.6.0-amd64-DVD-1.iso REPOS/DVD1-64/

Nota.- se ha creado antes la carpeta REPOS/DVD1'64 y las demas para los otros DVDs

Usar python para crear servidor de HTTP

Esta vez cambiamos el directorio de trabajo a la carpeta donde están montados los DVDs, en este caso es en home/algo/REPOS Ahora ejecutamos el siguiente comando:

sudo python -m SimpleHTTPServer 80

Que habilitará el puerto 80 como servidor HTTP simple.


En sources.list

Ahora mientras el server python esté funcionando podemos acceder a los repositorios en los DVDs que montamos desde la red local o incluso de la misma PC. por ejemplo añadiremos las siguientes líneas en /etc/apt/sources.list:

# repo de prueba
deb http://localhost/DVD1-64/debian wheezy main
deb http://localhost/DVD2-64/debian wheezy main
deb http://localhost/DVD3-64/debian wheezy main
# -----------------------

despues apt-get update y listo :)