====== apt-p2p : Télécharger ses paquets via P2P ====== * Objet : Configurer apt-p2p * Niveau requis : {{tag>avisé}} * Commentaires : //Création d'un miroir pair-à-pair de Debian, pour limiter l'engorgement des serveurs. // * Suivi : {{tag>}} * Création par [[user>Thuban]] * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=6132| ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Introduction ===== > Vous souhaitez participer au projet Debian (ou Ubuntu) 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 ! [[http://ilonet.fr/r274-aptpp-le-peertopeer-pour-telecharger-vos-paquets-debian.html|http://ilonet.fr/r274-aptpp-le-peertopeer-pour-telecharger-vos-paquets-debian.html]] 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, d'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'intégrité 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 les fichiers /etc/apt/sources.list et /etc/apt/sources.list.d/* vos lignes ressemblant à : deb http://ftp.fr.debian.org/debian stable main contrib non-free par des lignes ressemblant à : deb http://localhost:9977/ftp.fr.debian.org/debian stable main contrib non-free Il n'y a pas de difficulté dans ces changements. Enfin, pour prendre les changements en compte, mettez votre liste à jour avec la commande apt-get update L'update peut prendre un certains temps la première fois. ===== Ouverture des ports ===== Comme dans tous les réseaux pair-à-pair, afin de participer à l'échange de fichier et donc au désengorgement des serveurs, il est nécessaire de rendre accessible apt-p2p depuis l'extérieur. Pour ce faire, il vous faut transférer les ports UDP et TCP 9977 (par défaut) de votre routeur vers votre machine, tout en veillant à ce que votre pare-feu ne les bloque pas. === Exemple avec une livebox === http://192.168.1.1/ ==Authentification : == * Identifiant : admin * Mot de passe : ***** (par défaut : admin) ==Onglet : Configuration== Réseaux & Services > Livebox > Paramètres avancés ==NAT/PAT== > Ajouter une nouvelle règle * Port : 9977 * Protocole : Les deux (TCP et UDP) * Sélectionner votre équipement (user) et sauvegarder. Attention cependant, cela rendra la page http://localhost:9977/ accessible par tous. Mais c'est le but… Un utilisateur extérieur navigant sur votre port 9977 verra vos statistiques de transfert (comme vous). Pour lui bloquer cette vue, changez REMOTE_STATS = yes en REMOTE_STATS = no dans ''/etc/apt-p2p/apt-p2p.conf'' et relancez le démon avec service apt-p2p restart ===== Des infos sur le serveur ===== Pour obtenir des statistiques sur votre apt-p2p, allez dans votre navigateur à l'adresse suivante : [[http://localhost:9977]] ===== Correction de bogue ===== Actuellement, [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635969|ce vilain bug]] empêche d'utiliser apt-p2p. Bien qu'il soit résolu depuis un moment, le paquet correctif n'est pas encore arrivé. Il est toutefois très rapide de corriger ce bug vous même en attendant : Il suffit en fait de modifier 1 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) service apt-p2p restart ===== 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 ;) ====Autre solution :==== Éditer avec votre éditeur de texte le fichier suivant : vim /etc/apt-p2p/apt-p2p.conf À la ligne : # OTHER_DIRS Remplacer par OTHER_DIRS = /var/cache/apt/archives Redémarrer le service service apt-p2p restart Astuce indiquée par [[http://debian-facile.org/viewtopic.php?pid=67035#p67035|Thuban]] ===== Voir aussi ===== * [[:doc:reseau:apt-cacher-ng|Apt-cacher, un proxy pour miroirs Debian]] pour une utilisation avec plusieurs machines.