Log in Page Discussion History Go to the site toolbox

041108/aptp2p

From BluWiki

¿Quieres ayudar al proyecto Debian (o Ubuntu) con algunos mirrors de ancho de banda, pero no sabes cómo? ¿Quieres contribuir de alguna manera a la infraestructura de Debian, pero usted no eres un codificador? ¿Cansado de la lentitud en descargas cuando los mirrors están sobrecargados después de una nueva versión? No te preocupes, apt-p2p es para vos.

Después de instalar el paquete apt-P2P y hacer algunos cambios de menor importancia a las fuentes de apt (repositorios), todos los archivos que descargue con apt (o aptitud, synaptic, gnome-apt, etc ...) serán compartidos con otros usuarios, y todos los archivos que descargues utilizará a su vez otros usuarios (peer) para su descarga. Sin embargo, si los demás usuarios no tienen el archivo que deseamos, no hay necesidad de preocuparse, Apt-P2P estará feliz de volver a descargar directamente desde el mirror oficial, así la descarga esta asegurada.

Como Funciona?

Apt-P2P es un demonio que se ejecuta en segundo plano, respondiendo a las solicitudes de apt para descargar y compartir archivos solicitados con otros usuarios. El reparto es realizado mediante HTTP, por lo que opera como un servidor para las solicitudes de apt y otros peer (compañeros), y como un cliente para descargar de otros compañeros y mirrors.Además, si usted va a http://localhost:9977/ en su navegador donde la máquina apt-P2P se está ejecutando, usted recibirá una agradable estadística de visualización de lo que está haciendo.

La principal operación de apt-P2P es el mantenimiento de una tabla hash distribuidas (DHT) que se utiliza para almacenar y encontrar compañeros para descargar cada archivo. Cuando se descarga un archivo, apt-2p en primer lugar, buscar la SHA1 hash del archivo en la DHT. Si se ha encontrado y sus compañeros aparecen en la lista, entonces la descarga se producirá a partir de los pares (si hay sólo 1 o 2 pares, se utiliza el mirror para acelerar la descarga). Si el paquete no se encuentra se procederá a la descarga directa del mirror. Una vez se haya completado la descarga, un nuevo valor se añade a la DHT SHA1 utilizando el hash del archivo como la clave, e incluyendo sus datos de contacto, a fin de que otros compañeros pueden encontrar para descargar el archivo.

Esta es sólo una breve reseña, pero hay muchos detalles ocultos que hacen que las cosas vayan más suave. Por ejemplo, para grandes archivos, se almacenan los SHA1 hashes de cada trozo en la DHT, lo que permite descargar grandes archivos entre varios compañeros para obtener mejores velocidades de descarga (similar al de BitTorrent). Para obtener más información, puede ir a la página principal de apt-P2P: http://www.camrdale.org/apt-p2p/.

Comparación con otros programas P2P

Ademas de DebTorrent, no hay ningún otro peer-to-peer disponible para apt. Hubo apt-torrent, pero nunca fue empaquetado en Debian, y ahora parece estar muerto (no se ha actualizado en 18 meses). Comparando apt-P2P con DebTorrent, Apt-P2P:

  • Es más rápido en la descarga de mirrors.
  • Utiliza mucha menos memoria y menos CPU.
  • Puede descargar casi todos los archivos (archivos de código fuente, Packages.bz2, etc ...), no sólo paquetes deb.
  • Sólo funciona con la información de apt, no son necesarios archivos.
  • No requiere un nuevo transporte para comunicarse con apt.
  • Es más modular y más fácil de entender en que se basan las tecnologías existente (ej:Twisted.

Instalación

Apt-P2P está disponible en las ramas testing(Lenny) e inestable(sid), y estará disponible para Ubuntu Intrepid.Puede ser instalado por medio de apt-get install apt-p2p.

En primer lugar, es muy importante establecer el reenvío de puertos NAT, si su máquina está detrás de un firewall o router. El puerto predeterminado que usted necesita es el 9977, tanto UDP como TCP. Más información sobre la forma de determinar si usted es accesible se puede encontrar aqui.

La configuración de apt para utilizar apt-P2P como un proxy es fácil, especialmente si se han utilizado otros software de proxy (por ejemplo, apt-proxy, apt-cacher, aprox) en el pasado. El cambio de configuración es el mismo, simplemente añadiendo un localhost: 9977 / al frente de las entradas en su fichero / etc/apt/sources.list. Por ejemplo, si anteriormente tenia esto:

# Official
deb http://ftp.us.debian.org/debian etch main contrib non-free
deb-src http://ftp.us.debian.org/debian etch main contrib non-free

# Security Updates
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

# Unofficial
deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted
deb-src http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted

# Backports
deb http://www.backports.org/debian etch-backports main contrib non-free
deb-src http://www.backports.org/debian etch-backports main contrib non-free

Y si solamente deseamos compartir los backports y los oficiales, cambiariamos a esto:

# Official
deb http://<strong>localhost:9977/</strong>ftp.us.debian.org/debian etch main contrib non-free
deb-src http://<strong>localhost:9977/</strong>ftp.us.debian.org/debian etch main contrib non-free

# Security Updates
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

# Unofficial
deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted
deb-src http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted

# Backports
deb http://<strong>localhost:9977/</strong>www.backports.org/debian etch-backports main contrib non-free
deb-src http://<strong>localhost:9977/</strong> www.backports.org/debian etch-backports main contrib non-free

A continuación, ejecute un apt-get update y empieze a instalar paquetes.

Site Toolbox:

Personal tools
GNU Free Documentation License 1.2
This page was last modified on 12 November 2008, at 09:58.
Disclaimers - About BluWiki