H! Yo se que este tema lo han tratado otras veces en la lista pero me parece que "recordar es volver a vivir". Hasta hace un tiempo trabaje con Fedora Core y siempre fue un problema lo de las actualizaciones de seguridad o obtener los repositorios para la distro, esta fue, entre otras, una de las razones por las cuales migre a Ubuntu en todas sus variantes (Desktop y Server).
La solución la encontré por medio del paquete apt-cacher que hace un trabajo genial haciendo una cache de los paquetes que los usuarios descargan de los repositorios. La instalación es tan sencilla como (en [1] esta se puede ver una guía de instalación para Ubuntu): sudo apt-get install apt-cacher El demonio es muy ligero y casi no consume recursos, la configuración se puede modificar con sudo vim /etc/apt-cacher/apt-cacher.conf Los valores por defecto funcionaran en la mayoría de los casos, es posible que se deban modificar las siguiente entradas: http_proxy, use_proxy, http_proxy_auth, use_proxy_auth si se usa un proxy para acceder a los repositorios reales esto es necesario para la mayoría de nosotros. allowed_hosts quien puede conectarse a la cache, aquí se puede especificar la red local completa, p.e: 10.0.0.0/8 limit importante, restringir el ancho de banda a usar, en una red con 512kbs de salida con 20Kbytes es suficiente cgi_advise_to_use para que se muestre una pequeña ayuda de uso En los clientes solo hay que cambiar las lineas del sources.list de: deb http://archive.ubuntu.com/ubuntu/ hardy main a deb http://ip.del.apt.cacher:3142/archive.ubuntu.com/ubuntu/ hardy main Por ejemplo. Solo para tener una idea panorámica, en mi red con 5 labs de 31 máquinas corriendo Ubuntu 7.04, unas cuantas con Debian etch y otras con Kubuntu, las estadísticas de la cache son las que siguen: Cache hits Cache misses Total --------------------------------------------------- Requests 45099 (79.55%) 11587 (20.44%) 56686 Transfers 14.946GB (79.65%) 3.817GB (20.34%) 18.763GB y el tamaño en disco es de 5.3 GB, de esta manera no tengo que tener un repositorio completo ocupándome tremendo espacio en disco y desactualizado además. Y la cosa no termina ahí, ¿Qué pasa si el apt-cacher no puede acceder a los repositorios? nos quedamos sin repositorios pero eso se puede resolver usando un par de trucos (LO QUE SIGUE ES SOLO UNA IDEA para comenzar a trabajar, use bajo su propio riesgo). Primero necesitamos un servidor web, en este ejemplo tomamos lighttpd que es lo más sencillo que hay y funciona como se instala: sudo apt-get install lighttpd creamos los directorios que necesitamos: cd /var/www sudo mkdir mirepo cd mirepo ln -s /var/cache/apt-cacher/packages binary Podemos probar que todo este bien accediendo a la url del servidor por medio de: http://ip.del.apt.cacher/mirepo/binary/ Lo que debe mostrar un listado extenso de paquetes. Ahora solo falta una herramienta que nos permita construir el archivo Packages.gz: sudo apt-get install dpkg-dev y cd /var/www/mirepo dpkg-scanpackages -m binary /dev/null | gzip -9c > binary/Packages.gz listo, los paquetes guardados en la cache se podrán usar agregando la siguiente linea al sources.list del cliente: deb http://ip.del.apt.cacher/mirepo binary/ Pero debemos escribir un script que corra con el cron y que actualice el repo cada cierto tiempo, por ejemplo: #!/bin/bash # para apt-cacher y lighttpd para que el contenido de la cache # no cambie mientras trabajamos con los archivos. /etc/init.d/lighttpd stop /etc/init.d/apt-cacher stop # construir el archivo Packages.gz cd /var/www/mirepo dpkg-scanpackages -m binary /dev/null | gzip -9c > binary/Packages.gz # arrancar los servicios parados /etc/init.d/apt-cacher start /etc/init.d/lighttpd start Este script podemos guardarlo en /usr/local/bin como build-repo.sh y darle permisos de ejecución con: sudo chmod u+x /usr/local/bin/build-repo.sh Ahora solo falta agregarlo al cron: sudo crontab -e Agregar una linea como esta: 0 0 * * * bash /usr/local/bin/build-repo.sh Y con eso quedamos listos, de esta forma podemos pensar es hacer una cascada caches con el apt-cacher, digamos que los que tienen acceso directo a los repositorios en internet podrían levantar sus caches de esta manera, mientras que otros pueden usar de la misma manera el apt-cacher solo que configurando sus clientes para que accedan el repo creado por el primero y así sucesivamente. Espero que le sirva a alguien. Refs: [1] https://help.ubuntu.com/community/Apt-Cacher-Server [2] http://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher [3] http://mediakey.dk/~cc/howto-create-your-own-debian-or-ubuntu-package-repository/ -- Yoel Benitez <[EMAIL PROTECTED]> Facultad Regional Granma - UCI _______________________________________________ Cancelar suscripción https://listas.softwarelibre.cu/mailman/listinfo/linux-l Buscar en el archivo http://listas.softwarelibre.cu/buscar/linux-l
