Einrichtung von transmission-daemon unter Debian
Transmission ist ein moderner und relativ verbreiteter Multiplattform-Bittorrent-Client. Der Linux-Port kennt eine Kommandozeilen-Variante, sowie einen Client-Hintergrundprozess sowie ein Fernbedienungsprogramm für diesen Hintergrundclient.
Installation
apt-get install transmission-daemon transmissioncli /etc/init.d/transmission-daemon stop sed -i 's/ENABLE_DAEMON=1/ENABLE_DAEMON=0/' /etc/default/transmission-daemon
Die beiden letzten Zeilen schalten den systemweiten Daemon ab.
Damit der Prozess unter dem eigenen Benutzer beim Systemstart mitgestartet wird, genügt ein
@reboot transmission-daemon
in der eigenen Crontab.
Damit der Benutzer gleich loslegen kann, muss er seine eigene Instanz manuell starten:
transmission-daemon
Konfiguration
Die Konfiguration kann entweder von Hand in ~/.config/transmission-daemon/settings.json oder per Kommandozeile geschehen. Letzteres ändert die Konfigurationsdatei entsprechend ab.
Interessant wären beispielsweise folgende Parameter:
settings.json | Kommandozeile | Bemerkung |
---|---|---|
speed-limit-up | --uplimit | Restriktion der Uploadgeschwindigkeit |
alt-speed-up | --alt-speed-uplimit | Alternative (geringere) Uploadgeschwindigkeit |
dht-enabled lpd-enabled pex-enabled |
--(no-)dht --(no-)lpd --(no-)pex |
Dynamische Trackermechanismen, für ausschliessliche private Nutzung besser abschalten |
download-dir | --download-dir | Standardplatz für Datendateien |
encryption | --encryption-preferred | Verbirgt die transferierten Daten vor möglichen Bandbreiten-Robots bei Providern |
start-added-torrents | Startet den Download gleich nach dem Hinzufügen eines Torrents | |
watch-dir watch-dir-enabled |
Fügt hier hineinkopierte Torrents der aktuellen Downloadliste sogleich hinzu |
Bandbreitenmanagement
Falls der Rechner durchläuft, kann man den Nachts nicht so benötigten Upstream mehr saturieren. Das läßt sich automatisieren:
transmission-remote --uplimit 60 transmission-remote --alt-speed-uplimit 24 transmission-remote --alt-speed-scheduler transmission-remote --alt-speed-time-begin 0641 transmission-remote --alt-speed-time-end 2359 transmission-remote --alt-speed-days 1-7
- Limit auf 480 KBit/s (60 KBytes/s),
- Alternatives Limit auf 24 KBit/s (192 KBit/s),
- Alternative (langsamere!) Geschwindigkeit gilt täglich zwischen 6:41 und 23:59.
Handhabung
Dem Daemon wird per transmission-remote
gesagt, was er tun soll. Mit -b
kann der Debugmode eingeschaltet werden, dann wird auch ausgegeben, was so zwischen den beiden Programmen geplaudert wird.
Seeding
Torrents initial zu verbreiten bedingt erst einmal das Erzeugen des Torrents:
transmissioncli --new debian-live-6.0.0-i386-rescue.iso --announce http://denis.stalker.h3q.com:6969/announce \ --private 1 debian-live-6.0.0-i386-rescue.iso.torrent
Diese Datei kann nun entweder in das oben konfigurierte Watch-Dir verfrachtet werden oder manuell hinzugefügt:
transmission-remote --add debian-live-6.0.0-i386-rescue.iso.torrent
Falls die Datei nicht bereits im Download-Dir liegt, muss man dem Client zeigen wo sie liegt. Dazu muss man die ID des Torrents herausfinden:
transmission-remote --list ID Done Have ETA Up Down Ratio Status Name 1 0% 565.0 MiB Done 0.0 0.0 0.00 Idle debian-live-6.0.0-i386-rescue.iso
Mit der Info kann man nun dem Client sagen, was er machen soll:
transmission-remote --torrent 1 --stop transmission-remote --torrent 1 --find /home/debian-images transmission-remote --torrent 1 --verify transmission-remote --torrent 1 --start
Nach einer Weile liefert die Übersicht, dass der Torrent nun bereit ist (100%):
transmission-remote --list ID Done Have ETA Up Down Ratio Status Name 1 100% 565.0 MiB Done 0.0 0.0 0.00 Idle debian-live-6.0.0-i386-rescue.iso
Leeching
Wie beim Seeden braucht man eine Torrentdatei. Siehe oben. Weitere Schritte sind nicht notwendig. Geduld haben und ab und zu mal gucken, wie der Fortschritt ist:
transmission-remote --list
Infos
Folgende Kommandos sind recht interessant:
- transmission-remote --list
- Listenausgabe der hinzugefügten Torrents.
- transmission-remote --torrent <id> --info
- Ausführliche Ausgabe verschiedener Parameter betreffend den per <id> selektierten Torrent.
- transmission-remote --session-info
- Erzeugt eine Zusammenfassung der relevanten, aktiven Konfigurationsparameter.