apt-cacher: cacheando paquetes Debian


Es habitual tener un servidor proxy-cache como squid en una red local para la navegación cuando se dispone de poco ancho de banda. El objetivo de este servidor es que no se repitan descargas ya realizadas y como normalmente están configurados para la navegación web no son adecuados para descargar paquetes de repositorios, ya que éstos tienen características diferentes. En el caso de tener varios equipos con una distribución GNU/Linux que utilice APT, la mejor solución que he encontrado ha sido apt-cacher, que almacena los paquetes descargados en un equipo local y los sirve al resto de los clientes de la red local.


La instalación de apt-cacher en un equipo de la red local es tan simple como ejecutar en una terminal:

aptitude install apt-cacher

Durante la instalación obtenemos los siguientes comentarios:

Running apt-cacher's install script...
Assuming www-data is the user ID used to run apt-cacher
Doing mkdir(/var/cache/apt-cacher, 0755)
Doing mkdir(/var/log/apt-cacher, 0755)
Doing mkdir(/var/cache/apt-cacher/private, 0755)
Doing mkdir(/var/cache/apt-cacher/import, 0755)
Doing mkdir(/var/cache/apt-cacher/packages, 0755)
Doing mkdir(/var/cache/apt-cacher/headers, 0755)
Doing mkdir(/var/cache/apt-cacher/temp, 0755)
Starting Apt-Cacher: apt-cacher (not enabled in /etc/default/apt-cacher).

Por lo que se crea el directorio /var/cache/apt-cacher/ para almacenar los paquetes y nos avisa de que no se ha levantado el servicio porque viene deshabilitado por defecto. Para iniciarlo basta con modificar el valor AUTOSTART=1 en el fichero /etc/default/apt-cacher y ejecutar:

/etc/init.d/apt-cacher start

Configuración de apt-cacher
Con la siguiente directiva se restringe el uso de apt-cacher a los equipos de la red local (por ejemplo 192.168.1.0/24) y a localhost que está permitido siempre:

allowed_hosts=192.168.1.0/24

Para que apt-cacher sea más eficaz todos los clientes deben utilizar los mismos repositorios y una buena manera de “obligar” a los usuarios a configurar adecuadamente sus repositorios es permitiendo la utilización de apt-cacher sólo de algunas URL, por ejemplo:

allowed_locations=ftp.rediris.es, security.debian.org, http://www.debian-multimedia.org

Configuración de los clientes
En cada equipo de la red local que se quiera que utilice apt-cacher hay que cambiar las líneas del fichero /etc/apt/sources.list de la siguiente manera (suponiendo que apt-cacher se estuviera ejecutando en el equipo 192.168.1.101:

deb http://ftp.rediris.es/debian etch main contrib non-free

por:

deb http://192.168.1.101:3142/ftp.rediris.es/debian etch main contrib non-free

Es decir anteponiéndole la dirección del equipo en el que corre apt-cacher y el puerto 3142 a todas las líneas http (ya que apt-cacher no sirve para repositorios ftp).

, , ,

  1. #1 por Jorge Luis Tinoco M el 9-06-14 - 8:55 pm

    ¿Y como configuro el cliente para que pueda cargar los repositorios que se importaron?

    Me gusta

    • #2 por albertomolina el 9-06-14 - 9:43 pm

      Hola Jorge Luis,

      Esta entrada es muy antigua (2008!) y hace mucho tiempo que no utilizo apt-cacher. Hace tiempo que me pasé a apt-mirror, pero no tengo ninguna entrada en el blog que lo explique.

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: