bittorrent unter Linux

Ich benutze regelmässig Bittorrent um grössere Dateien herunter zu laden. Nur meist nervt es mich, wenn der Bittorrent-Client dann die ganze Bandbreite benutzt, wenn ich surfen will, oder auch wenn ich den Computer laufen lassen muss, nur damit eine Datei herunter geladen werden kann. Für etwas habe ich ja meine alte Linux-Box, die diese Aufgabe ganz gut übernehmen kann. Schliesslich gibt es einen guten Bittorrent-Client für die Shell, welcher im Zusammenspiel mit screen sehr simpel zu bedienen ist.
Als erstes muss man dazu screen und bittorrent auf der Linux-Box installieren:
apt-get install screen
apt-get install bittorrent

Aus Sicherheitsgründen habe ich extra einen Benutzer namens bittorrent erstellt, unter welchem dann der Prozess läuft:
useradd -g users -d /home/bittorrent -s /bin/bash bittorrent

screen

screen ist ein praktisches Tool mit welchem man Programme starten kann, ohne dass sie bei eine Disconnect (ssh, telnet usw.) sofort beendet werden. Das heisst man startet mit screen eine Terminal-Session, startet darin das Programm (in diesem Fall bittorrent) und kann dann die Verbindung wieder trennen, ohne das das Programm beendet wird.
Erstellen tut man eine solche Session mit dem Befehl screen. Nun kann man in dieser Session ein Programm starten und die Session danach mit Ctrl-A-D wieder beenden. Mit screen -r wird eine bestehende Session wieder aufgerufen.
Das bedeutet, dass man am Anfang mit screen eine neue Session erstellt, darin den Bittorrent-Client startet und danach mit Ctrl-A-D die Session wieder beendet. Wenn man nun nach dem Status sehen will, öffnet man die bestehende Session mit screen -r wieder.
Allerdings ist screen nicht sonderlich einfach zu verstehen, aber darauf wird man im man-File auch hingewiesen:
A weird imagination is most useful to gain full advantage of all the features.

bittorrent

Nun zum eigentlichen Bittorrent-Client:
Ich verwende btlaunchmanycurses damit ist es möglich mehrere Downloads gleichzeitig am laufen zu haben und diese werden auch noch "schön" dargestellt. btmanycurses erwartet als Parameter einen bestimmen Ordner und überwacht diesen. Sobald man in diesem Ordner ein torrent abspeichert, wird das erkannt und heruntergeladen. Die heruntergeladenen Daten werden auch in diesem Ordner abgelegt. Das heisst man kann die torrent-Datei in diesen Ordner speichern und muss dann nur noch warten bis der Download komplett ist. Ich habe mir ein kleines Script geschrieben welches den Client mit den nötigen Parametern startet. Aber das ist reine Bequemlichkeit.
#!/bin/bash
/usr/bin/btlaunchmanycurses /home/bittorrent/

Schlussendlich muss man sich nur mit dem Benutzer bittorrent einloggen, dort einmalig mit screen eine Terminal-Session erstellen und darin das Script starten. Wenn der Bittorrent-Client nun läuft kann man die Dateien in den angegebenen Ordner kopieren und sie werden automatisch heruntergeladen. Den Status sieht man mit screen -r. In verbindung mit einem Samba, FTP usw. Server ist das eine sehr bequeme und einfache Art um torrents herunter zu laden.

Und so sieht das dann aus:
http://images.t-error.ch/blog/1073/bittorrent.jpg


Wichtig ist auch noch, dass man die TCP Ports 6881-9 auf den entsprechenden Computer weiterleitet.

Zusammenfassung

Wenn nun die benötigte Software installiert, der Benutzer und das Script erstellt wurden kann man folgendermassen vorgehen
erstmaliges Starten des Clients
screen
./bittorrent.sh
Ctrl-A-D
Status überprüfen
screen -r
Ctrl-A-D

ZKB Onlinebank Java unter Linux

Als Kunde der ZKB und Informatiker bin ich ein Nutzer der Java Onlinebank. Damit kann ich meine Bankgeschäfte schön Online abwickeln, ohne einen Browser benutzen zu müssen. Vor allem aus Sicherheitsgründen ist das ein meinen Augen ein grosser Vorteil.

Vor einiger Zeit bin ich ja von Windows auf Linux umgestiegen, habe die Onlinebank aber weiter unter Windows genutzt. Allerdings halt im virtuellen Windows unter VirtualBox. Da Java ja eigentlich bedeutet, dass die Software auf allen Betriebssystemen laufen kann, wollte ich die Onlinebank mal unter Linux installieren. Es gibt sogar eine Linux Version zum Download. Mit 25.7 MB zwar mehr als viermal grösser als die Mac Version, aber was solls.

Also habe ich mir die Datei heruntergeladen. setup_bin_htm.File.bin ist zwar ein spezieller Dateiname, aber das muss ja nichts bedeutet. Wie es in der Installationsanleitung steht habe ich die Rechte der Datei geändert und wollte die Installation danach auch starten.
david@pluto:~/downloads$ chmod 755 setup_bin_htm.File.bin
david@pluto:~/downloads$ ./setup_bin_htm.File.bin

Doch was müssen meine Augen da sehen? Eine Fehlermeldung reiht sich an die andere:
./setup_bin_htm.File.bin: line 1: !DOCTYPE: No such file or directory
./setup_bin_htm.File.bin: line 2: syntax error near unexpected token `('
'/setup_bin_htm.File.bin: line 2: `<!-- saved from url=(0041)http://www.zkb.ch/onba/download/setup.bin -->

Dass keine Datei mit dem Nahmen !DOCTYPE existiert ist mir auch klar, der Installationsdatei scheinbar aber nicht. Ein Blick in die .bin Datei zeigt das Problem auch recht schnell auf:
david@pluto:~/downloads$ less setup_bin_htm.File.bin
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0041)http://www.zkb.ch/onba/download/setup.bin -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2900.2976" name=GENERATOR></HEAD>
<BODY><PRE>#!/bin/sh

Die Damen und Herren bei der ZKB haben die .bin Datei wohl in irgendein HTML Template gepackt und dass man die Datei dann nicht ausführen kann ist dann auch nicht weiter verwunderlich. Wenn ich die Datei zum Bsp. mit dem VI bearbeite, also den HTML Code lösche wird die Datei völlig unbrauchbar, die ZKB muss also ran.

Der ZKB habe ich über das Kontaktformular eine genaue Fehlerbeschreibung geschickt, bisher allerdings noch keine Antwort erhalten. Nicht mal eine Eingangsbestätigung oder etwas in der Art. Schade eigentlich. Nicht, dass ich auf die Linuxversion angewiesen wäre, aber wenn sie sich schon die Mühe machen und eine Linux Version Programmieren, dann dürfte sie doch auch funktionieren.