Ceci est une ancienne révision du document !
Deluge est un client Bittorrent efficace (basé sur libtorrent) et riche en fonctionnalités.
Installer au choix :
Pour l'installation minimale avec une interface déportée, installer au moins deluge-console pour tester.
Remarque : python sera automatiquement installé.
Deluge est composé de deux parties :
Etape1 : lancer le démon
# deluged # ps aux|grep deluge root 19758 0.8 1.1 60888 11720 ? Sl 20:46 0:00 /usr/bin/python /usr/bin/deluged root 19766 0.0 0.0 3696 800 pts/0 R+ 20:46 0:00 grep deluge #
Etape 2 : lancer une interface avec deluge -u (gtk|web|console)
# deluge -u web [ERROR ] 20:48:01 config:293 Error backing up old config..
Dans cet exemple, nous utilisons l'interface web, accessible sur le port 8112.
Dans la version actuelle du paquet Debian, deluge ne se lance pas au démarrage, et l'interface web n'est pas en démon.
De plus deluge tourne avec l'utilisateur qui le lance et enregistrer ses paramètres dans le répertoire home de l'utilisateur (dans .config/deluge).
Nous allons ici :
# adduser deluge Ajout de l'utilisateur « deluge »... Ajout du nouveau groupe « deluge » (1002)... Ajout du nouvel utilisateur « deluge » (1002) avec le groupe « deluge »... Création du répertoire personnel « /home/deluge »... Copie des fichiers depuis « /etc/skel »... Entrez le nouveau mot de passe UNIX : Retapez le nouveau mot de passe UNIX : passwd : le mot de passe a été mis à jour avec succès Changing the user information for deluge Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Ces informations sont-elles correctes ? [O/n] o #
La section suivante provient de http://dev.deluge-torrent.org/wiki/UserGuide/InitScript (venant de http://apocryph.org/2008/11/30/setting_deluge_headless_ubuntu_seedbox_windows_client/).
Ajouter le fichier /etc/default/deluge-daemon contenant (ne pas oublier de changer le nom d'utilisateur) :
# Configuration for /etc/init.d/deluge-daemon # The init.d script will only run if this variable non-empty. DELUGED_USER="deluge" # !!!CHANGE THIS!!!! # Should we run at startup? RUN_AT_STARTUP="YES"
Ajouter le fichier /etc/init.d/deluge-daemon :
#!/bin/sh ### BEGIN INIT INFO # Provides: deluge-daemon # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Daemonized version of deluge and webui. # Description: Starts the deluge daemon with the user specified in # /etc/default/deluge-daemon. ### END INIT INFO # Author: Adolfo R. Brandes PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Deluge Daemon" NAME1="deluged" NAME2="deluge" DAEMON1=/usr/bin/deluged DAEMON1_ARGS="-d" DAEMON2=/usr/bin/deluge DAEMON2_ARGS="-u web" PIDFILE1=/var/run/$NAME1.pid PIDFILE2=/var/run/$NAME2.pid PKGNAME=deluge-daemon SCRIPTNAME=/etc/init.d/$PKGNAME # Exit if the package is not installed [ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME # Load the VERBOSE setting and other rcS variables [ -f /etc/default/rcS ] && . /etc/default/rcS # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ] then log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it." exit 0 fi if [ -z "$DELUGED_USER" ] then log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME." exit 0 fi # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --exec $DAEMON1 \ --chuid $DELUGED_USER --user $DELUGED_USER --test > /dev/null RETVAL1="$?" start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 \ --chuid $DELUGED_USER --user $DELUGED_USER --test > /dev/null RETVAL2="$?" [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 1 start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile --exec $DAEMON1 \ --chuid $DELUGED_USER --user $DELUGED_USER -- $DAEMON1_ARGS RETVAL1="$?" sleep 2 start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 \ --chuid $DELUGED_USER --user $DELUGED_USER -- $DAEMON2_ARGS RETVAL2="$?" [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2 RETVAL2="$?" start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1 RETVAL1="$?" [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2 rm -f $PIDFILE1 $PIDFILE2 [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME1" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac :
Rendre le script exécutable et l'insérer au démarrage :
/etc/init.d# chmod 755 deluge-daemon /etc/init.d# update-rc.d deluge-daemon defaults Adding system startup for /etc/init.d/deluge-daemon ... /etc/rc0.d/K20deluge-daemon -> ../init.d/deluge-daemon /etc/rc1.d/K20deluge-daemon -> ../init.d/deluge-daemon /etc/rc6.d/K20deluge-daemon -> ../init.d/deluge-daemon /etc/rc2.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/rc3.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/rc4.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/rc5.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/init.d#
Lancer le démon :
# /etc/init.d/deluge-daemon start # ps aux|grep del deluge 20151 1.1 1.2 69084 12516 ? Sl 21:46 0:00 /usr/bin/python /usr/bin/deluged -d deluge 20162 2.6 0.9 96500 9624 ? Sl 21:46 0:00 /usr/bin/python /usr/bin/deluge -u web root 20178 0.0 0.0 3640 504 pts/1 R+ 21:46 0:00 grep del #
Pour utiliser une interface distante (par exemple GTK sous Linux ou Windows), il faut réaliser les étapes suivantes :
sS'allow_remote' p20 I01
Une fois lancé, modifier les éléments suivants :
A venir.
svn checkout http://svn.deluge-torrent.org/trunk deluge
python setup.py clean -a
python setup.py build