Apt-p2p

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche

Vous souhaitez participer au projet Debian (ou dérivés) mais vous ne savez pas comment faire ? La lenteur des miroirs de téléchargement, surchargés, vous donne des boutons ? Vous n’avez pas l’âme d’un développeur, mais un peu de bande passante à partager ? Alors Apt-P2P est fait pour vous ! source

Avec apt-p2p, vous pourrez télécharger les paquets debian via peer 2 peer, et partager ensuite ces paquets avec les autres utilisateurs de debian.

Cela a pour but, à terme, de désengorger les serveurs debian, mais aussi si beaucoup de personnes l'utilisent, accélérer les téléchargements.

Si Aucun pair n'a le paquet souhaité, alors il sera téléchargé à partir des serveurs habituels de debian.

Le tout est basé sur DHT, et la somme de contrôle des paquets est vérifiée ce qui assure l'incorruption des paquets téléchargés.

Attention : Le cache est par défaut dans /var/cache/apt-p2p Assurez-vous donc d'avoir suffisamment de place dans /var

Installation

Pour l'installer, rien de plus simple :

# apt-get install apt-p2p

Puis remplacer dans le fichier /etc/apt/sources.list :

deb http://ftp.fr.debian.org/debian squeeze main contrib non-free

par

deb http://localhost:9977/ftp.fr.debian.org/debian squeeze main contrib non-free

Faîtes de même avec tous les autres dépôts, ça marche très bien.

Enfin, pour prendre les changements en compte, mettez votre liste à jour avec la commande apt-get update

Configuration

Vous avez la possibilité de régler de nombreux détails dans le fichier /etc/apt-p2p/apt-p2p.conf, tels que :

  • Le numéro du port utilisé PORT = 9977
  • Une limite de bande passante montante UPLOAD_LIMIT = 0
  • Le nombre de pairs minimum à trouver pour commencer à télécharger en p2p, sinon ce sont les serveurs habituels qui seront utilisés : MIN_DOWNLOAD_PEERS = 1
  • Si vous voulez partager les paquets sur le réseau local : LOCAL_OK = yes

Et bien d'autres encore...


Ouverture des ports

Il est conseillé d'ouvrir les ports en UDP et TCP de votre routeur et votre parefeu. Si vous n'avez pas changé le port par défaut, il s'agit du 9977

Notez que ce n'est pas obligatoire, ça fonctionnera quand même sans rediriger les ports. Ça sera juste un peu moins rapide.

Des infos sur le serveur

Pour obtenir des statistiques sur votre apt-p2p, allez dans votre navigateur à l'adresse suivante :

localhost:9977

C'est lent, je n'ai pas la patience!

Notez bien que cette lenteur diminuera d'autant que beaucoup de personnes utiliseront apt-p2p. Courage!

Toutefois, vous pouvez malgré tout partager les paquets téléchargés de façon habituelle par apt. Pour cela, dans le fichier /etc/apt-p2p/apt-p2p.conf ajoutez cette ligne :

   OTHER_DIRS = /var/cache/apt/archives

Et bien entendu, remettez votre sources.list comme avant.

Correction de bogue (Squeeze)

Ce vilain bug empêche d'utiliser apt-p2p sur une Squeeze (corrigé à partir de Wheezy). Il est toutefois très rapide de corriger ce bug vous-même : Il suffit en fait de modifier une ligne dans le fichier /usr/share/pyshared/apt_p2p/AptPackages.py

En gros, on remplace

from apt import OpProgress

par

from apt.progress.base import OpProgress

Et voilà ! (pensez quand même à redémarrer apt-p2p)

Remplir le cache pour partager ensuite

Autre chose, pour remplir totalement le cache d' apt-p2p avec tous les paquets installés sur votre machine :

apt-get install --reinstall --download-only $(dpkg --get-selections | awk {'print $1'})

Vous pouvez maintenant partager le tout ;)

Avertissement : fichier preferences

Attention : suite à la modification de votre fichier sources.list pour utiliser apt-p2p vous ne pourrez plus utiliser d'entrées du type suivant dans votre fichier preferences :

Pin: origin http://miroir/

En effet, le champ origin est défini à "localhost" pour toutes les sources.

---

Discussion sur le forum

apt-p2p