6 ott 2010

Debian e torrent: BitTorrent proxy per scaricare i pacchetti debian

L'idea è semplice e funziona benissimo!
Debian infatti ha introdotto alcuni pacchetti che permettono di utilizzare il P2P come metodo per scaricare (e condividere) gli archivi .deb
Questo ha diversi vantaggi:
- scaricare dai peers, incrementando la banda disponibile per il download
- ridurre nello stesso tempo la banda necessaria per chi ha un repository debian
- completamente integrato negli attuali strumenti APT
- nessun problema nel caso di mirror non disponibile


Installazione
DebTorrent è composto da due differenti pacchetti binari

* debtorrent: the DebTorrent client e tracker
* apt-transport-debtorrent: un protocollo avanzato di comunicazione per comunicare con APT

Entrambi i pacchetti sono disponibili negli archivi debian
Per poter installare basta dare il seguente comando

# apt-get install debtorrent apt-transport-debtorrent


apt-transport-debtorrent è in grado di mandare le richieste ricevute tramite APT direttamente al client DebTorrent

Configurazione
Ora che abbiamo installato Debtorrent dobbiamo modificare la configurazione di apt
# emacs /etc/apt/sources.list

Le righe del file che utilizzano il protocollo http dovranno essere sostiuite con

debtorrent://localhost:9988

Questo è possibile farlo solo per i repository dei binari. Attualmente DebTorrent non può essere usato per i sorgenti


#--> vecchia riga #deb http://ftp.cz.debian.org/debian/ testing main contrib
#Qui sotto la nuova riga
deb debtorrent://localhost:9988/ftp.cz.debian.org/debian/ testing main contrib


Configurazione facoltativa di DebTorrent
E' possibile modificare il file di configurazione /etc/debtorrent/debtorrent-client per indicare un range di porte da utilizzare per i torrent.
Queste porte dovranno essere rese accessibili dall'esterno modificando la configurazione del proprio router: è infatti necessario che le richieste ricevute alle porte siano inviate al pc dove sta girando debtorrent.
Questa configurazione è necessaria se si vuole anche condividere la propria banda ed i file deb.

Prima esecuzione
Prima di poter iniziare a scaricare tramite DebTorrent si deve eseguire un update degli archivi.

# aptitude update


Ora il setup è completo. E' possibile vedere lo stato in esecuzione tramite il proprio browser preferito
Aprite il browser, ad esempio iceweasel e alla pagina
http://localhost:9988

si vedrà lo stato del torrent.

Se dopo aver dato il comando aptitude update ricevete questo errore
Err debtorrent://localhost lenny-proposed-updates Release.gpg
Could not create a socket for ::1 (f=10 t=1 p=6) - socket (97: Address family not supported by protocol)
Err debtorrent://localhost/debian.fastweb.it/debian/ lenny-proposed-updates/contrib
dovete controllare se nel file /etc/hosts avete la seguente riga
127.0.0.1 localhost
Ecco lo stato del torrent sul mio pc mentre sto scaricando dei pacchetti
====================

DebTorrent download info

  • client version: T-0.1.9 (DebTorrent)
  • client time: 2010-10-05 21:30 UTC

name/info hash

status

progress

peers/

seeds

distributed copies

download/
upload


downloaded (HTTP)/
uploaded

size

time remaining

last error message

ftp.cz.debian.org_debian_dists_testing_contrib_binary-amd64

12fe241a0c56f9744d8cfe6ca7c723a7d54509a6

0:00:00

100.0%

1

0

0.029

0.0K/s

0.0K/s

0B (0B)
0B

0B

0m00s



ftp.cz.debian.org_debian_dists_testing_contrib_binary-all

8e55e04211254b58427d7a3605e5bc8072546383

0:00:00

100.0%

2

0

0.043

0.0K/s

0.0K/s

0B (0B)
0B

0B

0m00s



ftp.cz.debian.org_debian_dists_testing_main_binary-amd64

7877a3220e7e5a945d724f0e8b24de06f5819933

0:00:00

100.0%

0


1

0.003

42.5K/s

0.0K/s

16.7MiB (16.7MiB)
0B

16.7MiB

0m00s




ftp.cz.debian.org_debian_dists_testing_main_binary-all

0067df9592dd1934dd2a4b04a275c377853e90d5

0:00:00

100.0%

0

1

0.001

8.2K/s


0.0K/s

6.05MiB (6.05MiB)
0B

6.05MiB

0m00s


  • info hash: SHA1 hash of the "info" section of the metainfo (.dtorrent) file
  • status: the current operation under way
  • progress: the current progress in the operation under way
  • distributed copies: the number of copies of the complete torrent seen in non-seeding peers

====================

E ora proviamo ad installare un pacchetto

gianbook:/usr/share/doc# aptitude install synaptic
I seguenti pacchetti NUOVI (NEW) saranno installati:
dosfstools{a} gksu{a} gnome-keyring{a} gnome-mime-data{a} gvfs{a} libatasmart4{a} libavahi-glib1{a} libbonobo2-0{a} libbonobo2-common{a} libbonoboui2-0{a} libbonoboui2-common{a} libcairo-perl{a}
libgcr0{a} libgdu0{a} libgksu2-0{a} libglib-perl{a} libgnome-keyring0{a} libgnome2-0{a} libgnome2-canvas-perl{a} libgnome2-common{a} libgnome2-perl{a} libgnome2-vfs-perl{a} libgnomecanvas2-0{a}
libgnomecanvas2-common{a} libgnomeui-0{a} libgnomeui-common{a} libgnomevfs2-0{a} libgnomevfs2-common{a} libgnomevfs2-extra{a} libgp11-0{a} libgtk2-perl{a} libgtop2-7{a} libgtop2-common{a}
libntfs10{a} libpam-gnome-keyring{a} libpango-perl{a} libsgutils2-2{a} mtools{a} ntfsprogs{a} policykit-1-gnome{a} python-glade2{a} software-properties-gtk{a} synaptic udisks{a}
0 pacchetti aggiornati, 44 installati, 0 da rimuovere e 1 non aggiornati.
È necessario prelevare 18,5MB di archivi. Dopo l'estrazione, verranno occupati 63,3MB.
Continuare? [Y/n/?] y
Get:1 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main libgtop2-common all 2.28.1-1 [115kB]
Get:2 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main libgp11-0 amd64 2.30.3-1 [139kB]
Get:3 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main libgksu2-0 amd64 2.0.13~pre1-1 [77,4kB]
Get:4 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main gnome-mime-data all 2.18.0-1 [725kB]
Get:5 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main gnome-keyring amd64 2.30.3-1 [1576kB]
Get:6 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main udisks amd64 1.0.1+git20100614-1+b1 [227kB]
Get:7 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main libgcr0 amd64 2.30.3-1 [182kB]
Get:8 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main libavahi-glib1 amd64 0.6.27-2 [35,0kB]
Get:9 debtorrent://localhost/ftp.cz.debian.org/debian/ testing/main libbonobo2-common all 2.24.3-1 [327kB]
...


Si nota subito un incremento della velocità di download degli archivi.
Ecco fatto.

grazie Debian!

2 commenti:

Luca Pavan ha detto...

A me non va tanto veloce, più di 88 non mi è andato sono sotto vodafone adsl e ho anche aperto la porta 9988.
Vediamo domani cosa succede al aggiornare la mia sid.

ciao

Pipex ha detto...

la velocità di download per me è intorno ai 300 kb/s