En casa tengo dos computadoras, mi PC y mi netbook lenovo S10e, ambas en Debian. Es probable que lo que haya instalado en una esté instalado en la otra (por ejemplo, OpenOffice.org o Gimp), de forma que cada vez que actualizo mis computadoras tengo que descargar los paquetes dos veces. Me preguntaba si habría una forma de descargar los paquetes en una computadora y usarla como mirror interno….y la respuesta es si, a través de un repositorio caché como apt-cacher.
Instalación de apt-cacher
En Debian (o algún derivado como Ubuntu) puedes instalar apt-cacher escribiendo:
aptitude install apt-cacher
Configuración del servidor
Definición de mirrors
Para configurar apt-cacher, debes editar el archivo /etc/apt-cacher/apt-cacher.conf. Existen varios parámetros que modifican el comportamiento de apt-cacher, pero el más importante para aprender es el parámetro path_map . Usando este parámetro, definirás tus mirrors internos. Por ejemplo, digamos que quieres configurar dos mirrors, uno para los repositorios de Debian (main, contrib and non-free), y otro para los repositorios de Debian-Multimedia. Puedes definirlos de la siguiente manera:
path_map = debian http://ftp.us.debian.org/debian/ ; multimedia http://www.debian-multimedia.org
Importación de paquetes antiguos
Si ya has descargado una buena cantidad de paquetes y quieres aprovecharlos, puedes importarlos a apt-cacher. Por ejemplo, para importar tus archivos .deb ubicados en /var/cache/apt/archives/, puedes usar la siguiente orden:
/usr/share/apt-cacher/apt-cacher-import.pl -r /var/cache/apt/archives/
La opción -r hace que se creen enlaces duros o que se copien los archivos (la opción -s algunas veces no funcionan debido a problemas de permisología).
Reinicio del servicio
Cuando hayas terminado de configurar el servidor, puedes reiniciar apt-cacher usando su script de servicio:
/etc/init.d/apt-cacher restart
Configuración de los clientes
Ahora debes configurar el archivo de repositorios en tu máquinas clientes, de forma que puedan conectarse al los nuevos mirrors. Para los mirrors que creaste previamente, añade las siguientes líneas al archivo /etc/apt/sources.list:
deb http://192.168.1.100:3142/debian testing main contrib non-free deb http://192.168.1.100:3142/multimedia testing main
En este ejemplo, 192.168.1.100 es la dirección IP del servidor.Si deseas usar un nombre de dominio, puedes crear un DNS o simplemente editar el archivo /etc/hosts de cada computadora (depende de ti).
Actualizando los clientes
Ahora estás listo para usar tus nuevos mirrors. Como siempre, actualiza la lista de paquetes y luego procede a actualizar el sistema de tus clientes:
aptitude update aptitude safe-upgrade
Repite los pasos del cliente para cada máquina que quieras conectar el servidor de cache.
Reportes
apt-cacher viene con una herramienta de reportes (ver imagen inferior) la cual es ejecutada cada día a través de crontab. Si deseas revisar cuánto has ahorrado en ancho de banda, puedes visitar http://localhost:3142/report o http://192.168.1.100:3142/report, o cualquiera que sea la dirección IP del servidor. Desde que instalé apt-cacher, este ha compartido 366 MB de 1104.7 MB descargados…nada mal


Planeta Linux
#1 by Rino on 14/03/2010 - 1:53
MIra el error quente..
Sun Mar 14 14:17:21 2010|192.168.210.1|— /usr/sbin/apt-cacher: Usage error
Sun Mar 14 14:17:23 2010|192.168.210.1|— /usr/sbin/apt-cacher: Usage error
Sun Mar 14 14:22:02 2010|6625|192.168.210.131|MISS|92516|ftp.us.debian.org_debian_dists_lenny_contrib_binary-i386_Packages.gz
Sun Mar 14 14:22:15 2010|6625|192.168.210.131|MISS|122132|ftp.us.debian.org_debian_dists_lenny_non-free_binary-i386_Packages.gz
Slaudos
#2 by Rino on 14/03/2010 - 1:56
path_map = debian http://ftp.us.debian.org/debian/ ; multimedia http://www.debian-multimedia.org
debianhost:/etc/apt# cat sources.list
deb http://192.168.210.132:3142/debian lenny main contrib non-free
debianhost:/etc/apt#
fue probado en dos maquinas virtuales.
#3 by Rino on 14/03/2010 - 2:40
Ahi lo arregle
tuve que usar repositorios que no sean de ftp.
deb http://www.us.debian.org/debian/ lenny main contrib non-free
path_map = debian http://www.us.debian.org/debian/;
Sun Mar 14 15:08:55 2010|3024|192.168.210.131|HIT|355936|libasound2_1.0.16-2_i386.deb
Sun Mar 14 15:08:55 2010|3024|192.168.210.131|HIT|177256|libltdl3_1.5.26-4+lenny1_i386.deb
Sun Mar 14 15:08:55 2010|3024|192.168.210.131|HIT|345726|libmpg123-0_1.4.3-4_i386.deb
Sun Mar 14 15:08:55 2010|3024|192.168.210.131|HIT|129832|mpg123_1.4.3-4_i386.deb
puede ser eso el error??
#4 by Luis Gallardo on 15/03/2010 - 11:12
@Rino eso puede ser que no está consiguiendo el paquete en los repositorios que definiste.
#5 by Luis Gallardo on 15/03/2010 - 11:16
@Rino se ve bien lo que pones…
#6 by Luis Gallardo on 15/03/2010 - 11:26
@Rino quizás sea que no estaba disponible el sitio, o que no pudo responder por el servicio…