Approx+debtorrent howto

De GALPon WiKi

Approx + Debtorrent HOWTO

Introducción

Dado que tenía algo de tiempo libre, he decidido configurar mi red para ahorrar ancho de banda cuando uso aptitude para actualizar los sistemas. En mi caso concreto, donde la mayoría de mis máquinas corren Debian SID, esto es muy útil (todos los días hay cosas que descargar) y muy fácil.

En este howto conseguiremos:

  • Ayudar a que el proyecto Debian ahorre ancho de banda, usando debtorrent.
  • Ahorrar nosotros ancho de banda, al no descargar los paquetes más de una vez, utilizando approx.

Este howto está probado con Debian SID ( 14/09/2007 ), donde debtorrent es de reciente aparición. Sin embargo no debería ser difícil adaptarlo a otras distribuciones ( Debian Etch o Ubuntu ).

Actualizo un pequeño detalle con Debian Squeeze (29/11/2010).

Instalación de approx

Comezaremos por instalar approx. Approx es un proxy para los paquetes deb. He seleccionado approx entre otras alternativas disponibles porque es un programa moderno, estable y de muy fácil configuración.

  • aptitude install approx
  • Editamos /etc/approx/approx.conf . El formato es sencillo, sin embargo pego un ejemplo:
# The following are the defaults, so there is no need
# to uncomment them unless you want a different value.
# See approx.conf(5) for details.

#$interface     any
#$port          9999
#$interval      720
#$max_wait      10
#$max_rate      unlimited
#$user          approx
#$group         approx
#$syslog        daemon
#$verbose       false
#$debug         false

# Here are some examples of remote repository mappings.
# See http://www.debian.org/mirror/list for mirror sites.
#debian         http://ftp.debian.org/debian
#security       http://security.debian.org

#Me gusta usar el mirror alemán, va muy bien y actualiza rápido
debian-de               http://ftp.de.debian.org/debian
#El repositorio de Marillat
debian-multimedia       http://www.debian-multimedia.org

#Estos repositorios se usarán en la segunda parte, no ocurre nada por añadirlos ya
torrent-de              http://localhost:9988/ftp.de.debian.org/debian
torrent-marillat        http://localhost:9988/www.debian-multimedia.org
  • Una vez configurado, reiniciamos approx(que ya ha sido activado por defecto).
  • A partir de Debian Squeeze, approx no es un servicio cargado por defecto, sino que se carga mediante inetd, por lo que no haría falta reiniciarlo.
  • Ahora, debemos hacer que nuestro sources.list apunte a approx y no directamente a internet. He aquí el ejemplo:
deb http://10.3.3.2:9999/debian-de sid main contrib non-free
deb http://10.3.3.2:9999/debian-multimedia sid main
  • Ejecutamos aptitude update. Si obtenemos un error "403 Forbidden" es que algo hemos hecho mal. Volvemos a revisar desde el primer paso hasta que nos funcione.
  • A partir de este momento, todos los ordenadores de casa deben usar el proxy, configurándoles su sources.list, de manera que los paquetes se descarguen una sola vez.

Instalación de debtorrent

Ahora como nos gusta probar cosas nuevas, y queremos que los chicos de Debian se ahorren algo en el ancho de banda, vamos a usar debtorrent. Con debtorrent colocamos otro proxy en el medio que en vez de descargar los paquetes por http, los descargará de otros usuarios mediante el protocolo bittorrent. En caso de que nadie tenga los paquetes, se descargarán del tracker central de Debian. Para ello:

  • aptitude install debtorrent
  • La instalación por defecto es completamente funcional, y sin tocar nada, debtorrent nos ofrecerá los paquetes en el puerto 9988. Lo normal sería editar nuestro sources.list para que apt vaya a buscar los ficheros a debtorrent, sin embargo, nosotros queremos seguir usando approx.
  • La configuración de approx no necesita ser retocada (ya están las líneas necesarias).
  • Nuestro sources.list va a apuntar a torrent-de en vez de a debian-de, quedando:
deb http://10.3.3.2:9999/torrent-de sid main contrib non-free
deb http://10.3.3.2:9999/torrent-marillat sid main

Ejecutamos aptitude update, y voilá, approx solicita a debtorrent que descargue los archivos. Podemos comprobar que debtorrent funciona abriendo con nuestro navegador localhost:9988 .



(C) José Antonio Insua (ungoliant) < ungoliant en gmail >

Contenido disponible bajo los términos de la licencia GNU GPL.

Para cualquier duda, aclaración, corrección, observación, comentario, insulto o donación de cantidades millonarias, mandarme un correo.