Tutorial rtorrent Debian wheezy
Pourquoi ce tutoriel :
La plupart des tutoriels commencent par compiler les sources. Des opérations un peu longues et fastidieuses.
Sur une debian wheezy, l’ installation est très simple puisque l’on dispose de tous les packages nécessaires dans les repository.
Dans ce tutoriel, j’ anticipe également l’ installation de rutorrent.Rutorrent est un outil complémentaire qui permet de gérer très facilement rtorrent à partir d’ une interface web dont ‘ aspect ressemble à µtorrent. Je paramètre donc rtorrent pour être en adéquation avec rutorrent.
installation de rtorrent :
Sous root, télécharger le package rtorrent, actuellement il s’ agit de la version 0.9.2-1 :
apt-get install rtorrent
Contenu du package. on voit que le binaire rtorrent se trouve dans /usr/bin et que l’ on dispose d’une page de man
dpkg -L rtorrent
- /usr/bin/rtorrent
- /usr/share/doc/rtorrent/examples/fixSession080.py.gz
- /usr/share/doc/rtorrent/changelog.Debian.gz
- /usr/share/doc/rtorrent/copyright
- /usr/share/doc/rtorrent/NEWS.Debian.gz
- /usr/share/man/man1/rtorrent.1.gz
Liste des librairies
ldd /usr/bin/rtorrent
- (extrait…)
- libxmlrpc_server.so.3 => /usr/lib/libxmlrpc_server.so.3 (0xb75a7000)
- libxmlrpc.so.3 => /usr/lib/libxmlrpc.so.3 (0xb7594000)
- libxmlrpc_util.so.3 => /usr/lib/libxmlrpc_util.so.3 (0xb758f000)
- libxmlrpc_xmlparse.so.3 => /usr/lib/libxmlrpc_xmlparse.so.3 (0xb7581000)
- libxmlrpc_xmltok.so.3 => /usr/lib/libxmlrpc_xmltok.so.3 (0xb7567000)
La commande permet de mettre en évidence que le binaire a été compilé avec la librairie xmlrpc
L’ intégration de cette librairie est obligatoire pour permettre l’ échange de commande entre rutorrent et rtorrent.
Création d’ un utilisateur que je nomme ‘rtorrent’.Le binaire /usr/bin/rtorrent sera lancé avec ce compte.
useradd -m rtorrent
Création de deux répertoires ‘torrent’ et ‘session’.
mkdir /home/rtorrent/torrent
mkdir /home/rtorrent/session
Créer un groupe www-data (on anticipe l’ installation d’ apache).
groupadd www-data
Paramétrage des droits sur les dossiers torrent et session.
chown rtorrent.www-data /home/rtorrent/torrent
chmod 770 /home/rtorrent/torrent
chown rtorrent.www-data /home/rtorrent/session
chmod 770 /home/rtorrent/session
Télécharger l’archive master.zip qui contient le fichier de configuration de rtorrent : .rtorrent.rc
wget http://github.com/rakshasa/rtorrent/archive/master.zip
Dézipper master.zip. le fichier rtorrent.rc se trouve dans le sous-répertoire doc.
Renommer rtorrent.rc en .rtorrent.rc (attention au point).
mv rtorrent.rc /home/rtorrent/.rtorrent.rc
Penser à faire une copie de sauvegarde , toujours utile
cp /home/rtorrent/.rtorrent.rc /home/rtorrent/.rtorrent.rc.ori
modifier les droits du répertoire /home/rtorrent
chown rtorrent.www-data /home/rtorrent
Editer le fichier .rtorrent.rc
vi /home/rtorrent/.rtorrent.rc
rechercher les variables bind , directory , session et port_range pour paramétrer leur contenu.
#bind = 127.0.0.1
#bind = rakshasa.no
bind = <adresse ip en écoute>
#directory = ./
directory = /home/rtorrent/torrent
#session = ./session
session = /home/rtorrent/session
#port_range = 6890-6999
port_range = 6890-6890
Ajouter après la dernière ligne de .rtorrent.rc, ceci.
scgi_port = localhost:5000
Vérification du bon fonctionnement de rtorrent.
premier cas : vous êtes sur un serveur en local
vous êtes root
Passer sous l’ utilisateur rtorrent (important : ne pas utiliser cette commande si vous gérez à distance votre serveur avec putty)
su -l rtorrent
deuxième cas : vous gérer votre serveur à distance avec putty
ouvrir une session putty avec comme login : rtorrent.
si vous utilisez un autre utilisateur (même root),vous obtiendrez un erreur lors de l’utilisation de la commande screen.
la commande pour lancer rtorrent est tout simplement.
rtorrent
pour quitter rtorrent , taper :
ctrl q (simultanément)
cette commande arrête rtorrent.
dtach
Un autre moyen de lancer rtorrent est d’utiliser l’utilitaire dtach.
Cela permet de retourner dans le shell sans arréter rtorrent
Création d’une session dtach dans laquelle est lancée rtorrent (si dtach n’ est pas installé, apt-get install dtach)
vous pouvez rester sur votre session root car j’utilise la commande « su »
su -l rtorrent -c "dtach -n /tmp/rtorrent rtorrent"
- -n : création d’une session
Pour accéder à la session dtach contenant rtorrent
su -l rtorrent -c "dtach -A /tmp/rtorrent rtorrent"
- -A : rattachement à la session dtach rtorrent (A majuscule)
Tous ces messages sont normaux.
Les messages disparaissent après quelques secondes.
ctrl+ ‘ (simple quote) pour quitter la session rtorrent.
rtorrent continue à s’ exécuter.
de retour dans le shell, vérifier que le port 5000 est bien en écoute
netstat –an –A inet | grep 5000
Pour quitter rtorrent
se rattacher à la session rtorrent
su -l rtorrent -c "dtach -A /tmp/rtorrent rtorrent"
ctrl+ q : pour quitter rtorrent et la session dtach se termine également.
screen :
Pour ceux qui préfèrent utiliser screen à la place de dtach , voici la procédure.
L’utilitaire screen permet de retourner dans le shell sans arrêter rtorrent.
Lancer rtorrent dans une session screen ( si screen n’ est pas installé , apt-get install screen)
screen -fn -dmS rtd nice -19 rtorrent
Rappel :
si vous utilisez putty, vous devez vous connecter avec l’ utilisateur rtorrent pour qu’ ensuite l’éxecution de screen soit sans erreur.
Si vous êtes connecté en root et que vous exécutez screen, vous obtiendrez le message d’ erreur suivant :
Cannot open your terminal ‘/dev/pts/1’ – please check.
pour accéder à la session rtorrent
screen -r
Tous ces messages sont normaux.
Les messages disparaissent après quelques seconde.
‘ctrl+a’ (simultané) suivi de ‘d’ pour quitter la session rtorrent.Rtorrent continue à s’ exécuter. (‘d’ comme detach)
de retour dans le shell, vérifier que le port 5000 est bien en écoute
netstat –an –A inet | grep 5000
Pour arréter la session rtorrent
screen -r
‘ctrl+a’ (simultané) suivi de ‘k’ pour quitter la session screen rtorrent. Rtorrent s’ arrête. (‘k’ comme kill)
Création d’ un script init
/etc/init.d/rtorrent
#!/bin/bash ### BEGIN INIT INFO # Provides: Custom Rtorrent # Required-Start: $remote_fs $syslog $network # Required-Stop: $remote_fs $syslog $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: rtorrent initscript # Description: Custom rtorrent ### END INIT INFO # commande pour ajouter les liens rcX.d # update-rc.d rtorrent defaults # # commande pour supprimer les liens rcX.d # update-rc.d -f rtorrent remove . /lib/lsb/init-functions NAME=rtorrent SCRIPTNAME=/etc/init.d/$NAME PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # path du fichier temporaire TMP=/tmp/rtorrent.dtach # user qui lance le torrent USER=rtorrent # chemin vers fichier conf CONF=/home/$USER/.rtorrent.rc start() { echo -n "Starting $NAME: " su -l $USER -c "dtach -n $TMP rtorrent" echo "started" } stop() { echo -n "Stopping $NAME: " killall -r -u rtorrent "rtorrent" echo "stopped" } restart() { if [ "(ps aux | grep -e 'rtorrent' -c)" != 0 ]; then { stop sleep 5 } fi start } case $1 in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: {start|stop|restart}" &amp;gt;&amp;amp;2 exit 2 ;; esacLancer la commande pour que le script se lance automatiquement au prochain démarrage.
update-rc.d rtorrent defaults
Lancer rtorrent
/etc/init.d/rtorrent start ps aux
Vous devez obtenir la session dtach et l’ exécutable rtorrent dans la liste des processus.
si vous utilisez le script , le mot de passe défini pour rtorrent devient inutile. Dans /etc/shadow, remplacé le hash par !!.
Voila rtorrent est installé et fonctionnel et prêt également à accueillir rutorrent. Je vous invite à lire le man ou bien à trouver des tutoriaux pour pouvoir utiliser rtorrent.