domingo, 16 de junio de 2013

Repositorios Locales para Debian y Canaima

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
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.

No hay comentarios: