apt-cacher-ng (acng) es un caching proxy orientado a packages de distribuciones linux, principalmente las basadas en debian.
Hay un User Manual en línea pero el uso básico es ultra simple.
Tabla de Contenidos
Instalar el servidor
En un equipo debian o ubuntu:
apt-get install apt-cacher-ng
El proxy arranca y escucha en el puerto 3142 por default.
Actualizar el paquete cuando se usa un release viejo de ubuntu (a partir de 8.X)
En ubuntu Jaunty (9.04) está la versión actualizada (0.3.4 del 2009-03-14 que es la última al menos hasta principios de 2009-05 en que actualizo esto).
Sin embargo, en Intrepid (8.10) la versión es la 0.2.1 y en Hardy (8.04.2) que tengo en varios servers porque es LTS, está la 0.1.9 para la cual no hay soporte y tiene algunos bugs que ya fueron corregidos en versiones más nuevas.
Por suerte, las versiones más nuevas del paquete tienen las mismas dependencias que las viejas, con lo cual se pueden instalar sin problemas.
A mano
La manera más simple de instalarlo es bajar el paquete e instalarlo a mano con dpkg en un equipo en el que haya una versión anterior (por lo que las dependencias están OK).
Hay que bajar la versión 0.3.4-1 de algún repositorio de ubuntu que tenga Jaunty. Yo uso, desde Argentina, uno de los repositorios oficiales de Brasil (http://br.archive.ubuntu.com/ubuntu).
Bajar la versión de 32 bits o la versión de 64 bits según sea la versión de ubuntu que uno tenga instalado.
En el mismo directorio hay versiones más nuevas, pero esta no son compatibles ni con Hardy ni con Intrepid (no lo probé con Jaunty)... no sé si esas versiones están en prueba para Karmic, pero, al menos en los primeros días de mayo de 2009, la versión que aparecía para Karmic es la 0.3.4-1.
Una vez bajado el paquete se lo instala con dpkg -i
Aquí hay instrucciones que se pueden copiar y pegar en una terminal:
ARCH=i386
# si estás usando ubuntu de 64 bits, descomentá la línea de acá abajo
#ARCH=amd64
# Elegí el mirror que prefieras
MIRROR=br.archive.ubuntu.com/ubuntu
# Yo sé que funciona para la 0.3.4-1, no sé si seguirá funcionando con versiones futuras...
VERSION=0.3.4-1
PACKAGE=apt-cacher-ng
FILE=${PACKAGE}_${VERSION}_${ARCH}.deb
URL=http://${MIRROR}/pool/universe/a/${PACKAGE}/${FILE}
mkdir -pv ${HOME}/soft
cd ${HOME}/soft
wget -O ${FILE} ${URL}
# primero, instalamos la versión correspondiente a nuestra distribución usando apt-get
# para que instale las dependencias si es necesario:
sudo apt-get install ${PACKAGE}
# luego hacemos el upgrade al nuevo paquete bajado directamente con dpkg (que no instala
# dependencias automáticamente)
sudo dpkg -i ${FILE}De este modo el paquete queda instalado y funcionando. Sin embargo, los package managers (e.g. aptitude, synaptic) tendrán el paquete como local u obsoleto porque esta versión no está en los repositorios que tiene configurados en /etc/apt/sources.list o /etc/apt/sources.list/*.list
Monitoreando via web
Si se pone en un browser la dirección del host con el port donde escucha el acng y una página inexistente, aparecen instrucciones para configurar un cliente, por ejemplo si nuestro apt-cacher-ng está en el host acng.example.net en el port por default (3142), entonces podemos poner en el browser http://acng.example.net:3142/ y veremos la página de ayuda, semejante a lo siguiente (con otro formato):
You attempted to browse the contents of a virtual HTTP repository. However, the intended way of use is the configuration of APT and related package management systems to retrieve the software packages through this service.
To configure APT for use of
Apt-Cacher NG
you need to...
-
EITHER: Configure APT to use a HTTP proxy by specifying
it in apt.conf or related configuration files, see
apt.conf manual page for details. Server and Port need to match
the values used to visit this page. For example,
edit
/etc/apt/apt.conf and add the line:Acquire::http { Proxy "http://94.75.244.29:3142"; }; -
OR:
Edit the /etc/apt/sources.list file and edit the source lines
therein, replacing the mirror hostname with the hostname of this
server machine and the port with 3142 (adding a port if none
specified). For example:
deb http://ftp.debian.org/debian stable main contrib non-free deb-src http://ftp.debian.org/debian stable main contrib non-free
becomes:
deb http://94.75.244.29:3142/ftp.debian.org/debian stable main contrib non-free deb-src http://94.75.244.29:3142/ftp.debian.org/debian stable main contrib non-free
Depending on the configuration, it might be possible to use a shortcut for the base URLs without knowing the mirror, for example:deb http://94.75.244.29:3142/debian stable main contrib non-free
Ask your system administrator for details.
Related links
- Statitics report and configuration page for this Apt-Cacher NG installation. Also see Notes below.
- Project Homepage
Notes
This page is a pre-installed template not customized by the system administrator. The links given above may contain default or guessed and therefore incorrect components. Adapt the file userinfo.html in Apt-Cacher NG's configuration directory to set the correct contents.
Pero si ponemos el link específico podemos ver estadísticas del acng: http://acng.example.net:3142/acng-report.html
Configuración del cliente
Lo más simple para configurar el cliente es agregar un archivo en /etc/apt/apt.conf.d diciéndole al apt-get que utilice el proxy. No es necesario cambiar el sources.list.
Los siguientes comandos (poniendo la dirección IP correcta del proxy en la primera línea) deberían generar el archivo en forma correcta:
export PROXYSERVER=10.20.30.40
export APTCONFDFILE=02proxy
sudo sh -c "cat > /etc/apt/apt.conf.d/${APTCONFDFILE}" <<EOF
Acquire::http { Proxy "http://${PROXYSERVER}:3142"; };
EOF
Deshabilitar el proxy
Para deshabilitar el proxy (por ejemplo, porque el server está andando mal o por cualquier otro motivo), basta con renombrar el archivo de configuración que creamos en /etc/apt/apt.conf.d poniéndole un punto (.) adelante. La extensión .DISABLED no es necesaria, pero es más claro lo que pasa cuando uno está mirando el contenido del directorio:
export APTCONFDFILE=02proxy
sudo mv -v /etc/apt/apt.conf.d/${APTCONFDFILE} /etc/apt/apt.conf.d/.${APTCONFDFILE}.DISABLED
Rehabilitar el proxy
Para rehabilitarlo se puede armar un archivo nuevo siguiendo las instrucciones de acá arriba o volver a mover el archivo de configuración a su lugar:
export APTCONFDFILE=02proxy
sudo mv -v /etc/apt/apt.conf.d/.${APTCONFDFILE}.DISABLED /etc/apt/apt.conf.d/${APTCONFDFILE}
.