Migrando una pequeña red de Windows a Linux me surgió un problema… ¿Como voy a hacer para mantener actualizadas todas las PC’s con una conexión de solo 512 kbps? :mrgreen:

La respuesta como no podía ser de otra manera me la dió Google y se llama Apt-Cacher.

Este paquete, disponible para Debian y Ubuntu, actua como un proxy que cachea todo lo que sean paquetes DEB, entonces configurandolo e indicandole a los clientes que busquen las actualizaciones ahí, si el paquete esta cacheado lo devuelve rápido, y si no esta, lo busca y lo cachea por si los otros clientes lo quieren luego :D

En el servidor

Para instalarlo basta con simple comando:

sudo apt-get install apt-cacher

Una vez que se instalo podemos configurarlo editando el fichero /etc/apt-cacher/apt-cacher.conf 

Hay algunas lineas interesantes, o varias dependiendo cuan complejo es lo que busquemos, dos de ellas son:

  • clean_cache: Borra del cache cada 24hr todos los paquetes que no esten indicados en los repositorios del servidor. Se le puede setear en 0 o 1.
  • generate_reports: Como su nombre lo indica, genera reportes los cuales muestran entre otras cosas cuantos son los “hits” de nuestro cache, y de esa forma medir que tan bueno fue implementarlo. Se le pasa 0 o 1.

Es posible que haya paquetes almacenados en el servidor de alguna actualización anterior y queramos poner disponible para los clientes. Se puede hacer con este comando:

sudo /usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives

A mi jamas me funciono :mrgreen: en ese caso basta con mover todos los .deb que estan en /var/cache/apt/archives al directorio /var/cache/apt-cacher/packages y listo.

Para que el servicio se inicie automaticamente editamos /etc/default/apt-cacher y cambiamos AUTOSTART=0 por AUTOSTART=1

Y arrancamos el servicio, o por si estaba corriendo, mejor lo reinicio:

sudo service apt-cacher restart

En los clientes

Seguramente haya otra manera de hacerlo, pero esta es la que encontré, funciono y como eran pocas maquinas, aplique ;)

Lo que debemos hacer es que el cliente busque los paquetes pasando por el proxy, para eso podemos editar el sources.list e indicar los “nuevos” repositorios

sudo nano /etc/apt/sources.list

También podrían abrirlo con gedit, kwrite, el que gusten. Lo que hacemos es “agregarle” a cada url, el proxy delante. Por ejemplo un paquete de Ubuntu Lucid (Viejito, pero es igual con todos) queda algo así:

deb http://proxy:3142/archive.ubuntu.com/ubuntu lucid main restricted

Eso por cada una de las lineas que tengamos ahi, y obviamente reemplazando “proxy” por la IP o el nombre de host de su equipo servidor, y el 3142 por el puerto, que si no lo cambiaron, es ese mismo.

Para hacerlo más rapido pueden usar “Buscar y reemplazar”, buscan “http://” y lo reeemplazan por “http://proxy:3142/” ;)

Luego actualizan el repositorio, y actualizan el equipo

sudo apt-get update && sudo apt-get upgrade

Con respecto a los reportes, se pueden ver desde http://proxy:3142/reports pero como seguro todavia no se generó ninguno se puede forzar a que lo cree ingresando este comando en el servidor:

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

Por ultimo no hay que olvidarse de editar el sources.list del servidor mismo, ya que el apt del mismo seguramente también queremos que sea cliente. Ahi en vez del nombre del mismo servidor o su IP de red se puede poner 127.0.0.1 o localhost que seguro funciona :mrgreen:

Etiquetas: , , , , , ,

Deja tu comentario