apt-cacher: haciendo cache de paquetes Debian para varios ordenadores


Periódicamente se pregunta en la lista de Bulma cómo hacer cache de los paquetes de Debian del apt-get para varios ordenadores en la misma red y así minimizar el tráfico de la línea a Internet y al mismo tiempo acelerar las actualizaciones. La respuesta (una de ellas) es usar el apt-cacher.

Funcionamiento
El principio de funcionamiento es muy sencillo. El apt-cacher es un script en Perl que se ejecuta como CGI en el Apache, con el URL http://servidor_cache/apt-cacher/. Luego hay que cambiar los URLs del sources.list de los clientes en la misma red para que apunten al URL anterior. El servidor de paquetes “original” se envía como “argumento” del URL, por ejemplo: http://cache.gallimedina.net/apt-cacher/ftp.us.debian.org/debian/.
El CGI verifica si el paquete de ese servidor ya está en su directorio cache (/var/cache/apt-cacher/ y si está almacenado localmente, lo envía directamente al cliente.
Como los paquetes Debian de distintas versiones tienen nombres diferentes, no hay posibilidades de conflictos. Además el apt-cacher tiene la opción de especificar un proxy si es que el servidor donde lo instaláis no tiene acceso directo a Internet.
Configuración servidor
Para instalar basta con un apt-get install apt-cacher. Este paquete tiene dependencias con apache, perl y wget, por lo que los instalará si no lo tenéis. Aseguraros de verificar la configuración del Apache, especialmente el /var/www si no lo teniáis instalado antes (queda muy “dominguero” dejar la página por defecto ;-).
Una vez instalado, lo único que hay que hacer es ajustar los parámetros por defecto del script, eso se hace en el fichero /etc/apt-cacher/apt-cacher.conf. En general todos los valores por defecto están bien, pero es recomiendo ajustar los tres siguientes:

admin_email=gallir@localhost
generate_reports=1
expire_hours=24

El primero por razones obvias, el segundo para tener los reportes de tráfico y el tercero para que se baje los ficheros Packages y Release si ya tienen más de 24 horas (uso Sid y testing, que cambian cada día).
Si por otro lado, si tenéis conectividad a través de un proxy, cambiad lo dos siguientes:

http_proxy=proxy.example.com:8080
use_proxy=1

Para verificar que funcione, podéis acceder desde cualquier navegador a vuestro servidor al url http://nombre_servidor/apt-cacher/ y tenéis que ver una página donde se os muestra la configuración.

Configuración clientes
Ahora lo único que hay que hacer es modificar los sources.list de los clientes para que pasen a través del servidor. Si el servidor se llama (como en mi caso) cache.gallimedina.net, entonces hay que añadirlo a cada línea del sources.list, y además tener cuidado que todos hagan referencia a los mismos servidores, sino el cache no tendrá efecto.

# Originales
#deb http://ftp.us.debian.org/debian/ sid main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ sid main contrib non-free

deb http://cache.gallimedina.net/apt-cacher/ftp.us.debian.org/debian/ sid main contrib non-free
deb-src http://cache.gallimedina.net/apt-cacher/ftp.us.debian.org/debian/ sid main contrib non-free

Estadísticas de tráfico
Si habéis puesto generate_reports=1, el apt-cacher generará estadística de accesos cada 24 horas, a las que podéis acceder con el url /apt-cacher/report:


Si queréis generar las estadísticas antes de las 24 horas de haber instalado el apt-cacher (¿y quién no? ;-), ejecutad el siguiente comando que las genera inmediatamente:

/usr/share/apt-cacher/apt-cacher-report.pl

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1915 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.