Dienstag, 8. November 2005

bittorrent unter Debian Linux

image-225

Traffic records
Originally uploaded by emeidi.

Für was benötigt der gemeine Leecher ein Bittorrent-GUI, wenn es auch weniger performancehungrig im Shell funktioniert? Hier ein kleines Howto, das sich an die semiprofessionellen Linux-Hacker richtet.

Debian-User laden sich zuerst folgende zwei Pakete herunter:

apt-get install screen
apt-get install bittorrent

Exkurs screen

Mit screen lassen sich Terminal-Sessions auch beim Disconnect (ich denke hier an ssh oder entfernt telnet) weiterlaufen lassen. Hierzu ruft man nach einer erfolgreichen Verbindungsaufnahme im Shell einfach den Befehl screen auf, worauf sich die aktuelle Bildschirmanzeige leert. Nun ist man in einem virtuellen screen und kann dort beliebige Programme starten – bspw. ein wget, um eine riesengrosse Datei aus dem Netz zu saugen. Nun drückt man Ctrl-A-D und man springt zurück in das Ursprungs-Shell. Im Hintergrund läuft wget weiter, man kann die SSH-Verbindung sogar trennen, und es lädt weiter herunter.

Wenn man sich am nächsten Morgen wieder einloggt, reicht ein

screen -r

um die „gespeicherte“ Session wieder herzustellen. Wer wie ich manchmal mehrere Screens im Hintergrund laufen hat, gibt folgendes ein:

screen -r <pid>

Wer die Nummern partout nicht auswendig kann, kann sich die Liste der geöffneten Screens mittels

screen -ls

anzeigen lassen.

Nun haben wir also das zwingend nötige Werkzeug zur Hand, um Bittorrent-Downloads non-stopp laufen zu lassen – auch, wenn man sich plötzlich aus der Shell ausloggen sollte.

bittorrent

Auf meinem Server habe ich ein spezielles Verzeichnis eingerichtet, in das ich a) die .torrents speichere, deren Inhalt ich heruntergeladen haben möchte sowie b) wo auch gerade die herunterzuladenden Filme etc. gespeichert werden sollen.

Ist das Verzeichnis eingerichtet, eröffne ich zuerst einmal eine neue Screen-Session und starte bittorrent.sh, ein kleines Script, um btlaunchmanycurses alle nötigen Parameter zu übergeben:

screen
cd /usr/local/bin/
./bittorrent.sh

Selbstverständlich benutze ich dazu einen eigens dafür eingerichteten User (bittorrent heisst er bei mir), der nur auf einen kleinen Teil der Harddisk Schreibberechtigung erhält. Man weiss ja nie, wann in dem Tool die ersten Sicherheitslücken auftauchen.

Das Script schaut so aus:

#!/bin/bash
ulimit -n 8192 # Prevent torrents containing lot of files crashing btlaunchmanycurses
cd /multimedia/Incoming/
/usr/bin/btlaunchmanycurses /multimedia/Incoming/ --maxport 6889 --max_upload_rate 5

Sobald ich ein .torrent gefunden habe, dessen Inhalt mir gefällt, lade ich dieses in den oben angegebenen Ordner (cp oder direkt per wget oder auch per smbclient). btlaunchmanycurses bemerkt die neue Datei innert Zehntelssekunden und beginnt mit dem Download.

Wenn mich der Lade-Zustand interessiert, logge ich mich per ssh auf den Server ein, stelle die mit screen gesicherte Sitzung wieder her und schaue mir die rasant vonstatten gehenden Downloads an.

Liked this post? Follow this blog to get more. 

Labels: Linux

2 Kommentare Kommentare

JR sagt:

Also egal was ich versuche (habe auch die GUI installiert) bei dem Befehl „./bittorrent.sh“ im „/usr/local/bin“ heißt es jedesmal no-such-file weil das verzeichnis leer ist.

weiß da jemand woran das liegt? habe im netz gesucht bin offenbar nicht der einzige mit dem Problem, richtig geholfen wird einem aber nirgendwo..

Moondust sagt:

falls dein Incoming Ordner im Root liegt, gehört /root/ davor, also /root/multimedia/Incoming

Kommentar erfassen