Oct 062013
 

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)

rtorrent -console

Tous ces messages sont normaux.
Les messages disparaissent après quelques secondes.

rtorrent -console2

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}" >&2
                exit 2
        ;;
esac

Lancer 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.

 Publié par à 21 h 47 min

 Laisser un commentaire

Vous pouvez utiliser ces balises et attributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requis)

(requis)