Debmirror

Instale debmirror

 sudo apt-get debmirror

Su uso es simple, basta con llamar a debmirror pasando ciertos parámetros.

Ejemplo: Creación de un Debian (esto es solo un ejemplo y no el resultado final)

debmirror --debug --method=http --dist=lenny --nosource --arch=i386 --host=192.168.219.120/repositorio --progress 
--verbose --proxy=http://usuario:contraseña@proxy:puerto /lugar/donde/se/crea

Muchos de estos parámetros son opcionales otros son necesarios:

–debug habilita la salida del debugger

–method método de conexión http,ftp,etc

–dist distribución etch,lenny

–nosource sin los códigos de fuente

–arch arquitectura i386,i686,etc

–host servidor donde esta publicado

–ignore-release-gpg en caso de se tenga problemas con las llaves, se puede utilizar esta opción omitir la verificación de los Release.gpg(No es algo muy aconsejable si se pretende usar el repositorio para instalar usando Tasksel o Ubuntu Software Center)

–progress muestra el progreso

–verbose muestra la salida

–proxy para pasar por un proxy

Se pude ser sencillo si se crea un fichero *.sh y se inserta lo siguiente.

Ejemplo: Para Ubuntu

#### Start script to automate building of Ubuntu mirror #####
## THE NEXT LINE IS NEEDED THE REST OF THE LINES STARTING WITH A # CAN BE DELETED
 
#!/bin/bash
 
## Poniendo las variables con explicacion.
 
# 
# GNUPGHOME es para definir donde tenemos las llaves *.gpg
#
export GNUPGHOME=/home/repositorio/mirrorkeyring/ubuntu
 
 
# Arch=  -a   
# Arquitectura. Para Ubuntu puede ser i386 o amd64.
#
arch=i386,amd64
 
# Un sistema Ubuntu require al menos main, restricted
#
section=main,restricted,universe,multiverse
 
# Release=      -d      
# Release de el sistema (Hardy,Haunty,Karmic,Lucid ), y el -updates y -security ( -backports can be added if desired)
#
release=lucid,lucid-security,lucid-updates,lucid-proposed,lucid-backports
 
# Server=       -h      
# Nombre del servidor
#
server=repositorio.etecsa.cu
 
# Dir=          -r      
# Camino desde la raiz del servidor, como http://my.web.server/$dir
#
inPath=repositorio/ubuntu
 
# Proto=        -e      
# Protocolo para la transferencia(http, ftp, hftp, rsync)
# No acepta (file)
#
proto=http
 
# Outpath=              
# Carpeta donde se guarda el Espejo
# Ponga el camino completo.
#
outPath=/media/disk/repositorio/ubuntu
 
 
# Start script
#
debmirror       -a $arch \
                --no-source \
                -s $section \
                -h $server \
                -d $release \
                --verbose \
                -r $inPath \
                --progress \
                -e $proto \
                --proxy=http://usuario:contraseña@proxy:puerto/ \
                $outPath
 
 
#### End script to automate building of Ubuntu mirror ####

En el script anterior definimos una variable GNUPGHOME, allí lo que guardamos son las llaves para autenticar contra el servidor que nos conectaremos.

También esta llave se genera de la siguiente forma.

gpg --no-default-keyring --keyring /home/repositorio/mirrorkeyring/ubuntu/trustedkeys.gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg

/home/repositorio/mirrorkeyring/ubuntu/trustedkeys.gpg es donde va a salvarse nuestra llave copia de la pública obtenida de Ubuntu Canonical.