Table des matières

apt-p2p : Télécharger ses paquets via P2P

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

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 :
Onglet : Configuration

Réseaux & Services > Livebox > Paramètres avancés

NAT/PAT
Ajouter une nouvelle règle
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, 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 Thuban

Voir aussi

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !