Repositorios locales para Debian, Canaima

Imagen de jcalles

Tema: 

Repositorios Locales para debian y Canaima

Instalar debmirror y apache2

aptitude install debmirror apache2

script repositorio.sh

debmirror --debug --progress --verbose --nosource --host=debian.unesr.edu.ve --section=main,contrib,non-free --method=rsync --root=:debian --dist=etch,lenny --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /home/debian

script seguridad.sh

debmirror --debug --progress --verbose --nosource --host=security.debian.org --section=main,contrib,non-free --method=rsync --root=:debian-security --dist=etch/updates,stable/updates,lenny/updates --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /home/seguridad

script multimedia.sh


debmirror --debug --progress --verbose --nosource --host=www.debian-multimedia.org --section=main --method=rsync --root=:debian --dist=lenny --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /home/debian-multimedia

Se deberan crear los directorios

/home/debian
/home/debian-multimedia
/home/seguridad

/home/canaima-repo
/home/canaima-seguridad
/home/universo

Luego realizar los enlaces simbolicos para apache desde la raiz www hasta donde se encuentren los repositorios

cd /var/www

ln -s debian /home/debian/
ln -s seguridad /home/seguridad/
ln -s multimedia /home/debian-multimedia/

ln -s canaima-repo /home/canaima-repo/
ln -s canaima-seguridad /home/canaima-seguridad/
ln -s canaima-universo /home/universo/

Repositorios para Canaima


debmirror --debug --progress --verbose --nosource --host=universo.canaima.softwarelibre.gob.ve --section=usuarios,servidores --method=rsync --root=:canaima --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/universo


debmirror --debug --progress --verbose --nosource --host=seguridad.canaima.softwarelibre.gob.ve --section=usuarios,servidores --method=rsync --root=:canaima --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/canaima-seguridad


debmirror --debug --progress --verbose --nosource --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios,servidores --method=rsync --root=:canaima --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/canaima-repo

Listo!!, solo faltaria reiniciar apache y colocar en /etc/apt/sources.list lo siguiente:


deb http://localhost/debian lenny main contrib non-free
deb http://localhost/seguridad lenny/updates main contrib non-free
deb http://localhost/multimedia lenny/updates main contrib non-free

Para los demas equipos de la red bastaria con cambiar localhost por la IP o el nombre DNS del servidor, asi mismo, se deben instalar en los equipos de la red los paquetes: debian-archive-keyring y debian-multimedia-keyring, que son la sllaves publicas de los repositorios oficiales. Por ultimo, no olviden crear un crontab para que el servidor se actualice. Se puede cambiar la linea "lenny" por stable o el que se halla colocado para la descarga Espero les sirva

Cron

30 20 * * * /etc/webmin/cron/tempdelete.pl
00 20 * * * /root/repo/multimedia
00 18 * * * /root/repo/seguridad
00 21 * * * /root/repo/repos
00 22 * * * /root/repo/canaima-seguridad
00 23 * * * /root/repo/canaima-repo
10 20 * * * /root/repo/canaima-universo

Por ultimo, si quieren que su repositorio actualice a otros repositorios o quisieran llevarselo en un laptop. deberan instalar rsync y configurarlo de la forma siguiente:

:~# vim /etc/rsyncd.conf


use chroot = yes
max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid

[debian]
path = /home/mirror/ #### Ruta donde este el repositorio
comment = Archivos para compartir
read only = no
list = yes
#auth users =
#secrets file = /etc/rsyncd.secrets

#list = yes
uid = nobody
gid = nogroup


~# vim /etc/rsyncd.secrets
nobody:nobody

Tambien se puede usar para la descarga la opcion http en ves de rsync, eso solo si el servidor desde donde se esta descargando no soporta rsync. Ha!!! importante, se debera abrir en puerto 873 en el firewall para que el servidor se actualice, ya que es ese el puerto que utiliza rsync

Comentarios

Actualización de información

Los repositorios de Canaima cambiaron:
El script de canaima-universo ya no debe ser así:

debmirror --debug --progress --verbose --nosource --host=universo.canaima.softwarelibre.gob.ve --section=usuarios,servidores --method=rsync --root=:universo --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/universo

Debe ser así:

debmirror --debug --progress --verbose --nosource --host=universo.canaima.softwarelibre.gob.ve --section=main,contrib,non-free --method=rsync --root=:universo --dist=stable --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /home/universo

El script de canaima-repo que era así:

debmirror --debug --progress --verbose --nosource --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios,servidores --method=rsync --root=:canaima --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/canaima-repo

Ahora debe ser así:

debmirror --debug --progress --verbose --nosource --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios --method=rsync --root=:canaima --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/canaima-repo

El de canaima-seguridad que era así:

debmirror --debug --progress --verbose --nosource --host=seguridad.canaima.softwarelibre.gob.ve --section=usuarios,servidores --method=rsync --root=:canaima --dist=estable --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/canaima-seguridad

Ahora debe ser así:

debmirror --debug --progress --verbose --nosource --host=seguridad.canaima.softwarelibre.gob.ve --section=usuarios --method=http --root=: --dist=seguridad --arch=i386 --ignore-release-gpg --rsync-options=-aIL /home/canaima-seguridad

Si no quieres escribir tanto, haces un solo script con el nombre actualizar-canaima:

#!/bin/sh
# Autor: Engerbert Escalona
# Este script genera y/o actualiza los mirrors de Canaima
echo "Script de actualización automática de MIRRORs"
echo "Verificando..."
# Comprobamos si debmirror ya se está ejecutando
st=`ps cax |grep -c "debmirror"`
echo "Analizando Ejecución..."
if [ $st -eq 0 ];then
echo "Ejecutando Actualización...."
debmirror --debug --progress --verbose --nosource --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios --method=rsync --root=:canaima --dist=estable --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/canaima
debmirror --debug --progress --verbose --nosource --host=seguridad.canaima.softwarelibre.gob.ve --section=usuarios --method=http --root=: --dist=seguridad --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/canaima-seguridad
debmirror --debug --progress --verbose --nosource --host=universo.canaima.softwarelibre.gob.ve --section=main,contrib,non-free --method=rsync --root=:universo --dist=stable --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/universo
else
echo "Debmirror ya se está ejecutando"
echo "La Actualización esta en proceso..."
fi

Otra cosa uners ya no acepta conexiones rsync, saludos.