Deluge est un client BitTorrent basé sur Python et GTK+. il s'intègre donc bien dans Gnome, XFCE et LXDE.
Vous avez besoin d'avoir un dépôt proposant Deluge:
Une fois qu'au moins un dépôt est disponible, actualisez la liste de votre gestionnaire de paquets (apt-get, aptitude).
Installez le paquet deluge.
Si vous souhaitez utiliser Deluge en ligne de commandes, installez le paquet deluge-console.
Installez les paquets deluged deluge-webui
L'état de l'art actuel a pour pratique de lancer les services, démons ou services avec des utilisateurs dédiés.
sudo adduser --disabled-password --system --home /var/lib/deluge --gecos "SamRo Deluge server" --group deluge
Créez le fichier /etc/default/deluge-daemon Remplissez-le par le contenu suivant :
# Configuration for /etc/init.d/deluge-daemon # The init.d script will only run if this variable non-empty. DELUGED_USER="deluge" # Should we run at startup? RUN_AT_STARTUP="YES"
Créez un autre fichier du même nom dans /etc/init.d avec ce contenu:
#!/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 # Modified: Sami Olmari PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Deluge Daemon" NAME1="deluged" NAME2="deluge-web" DAEMON1=/usr/bin/deluged DAEMON1_ARGS="-d -c /var/lib/deluge -l /var/log/deluged.log -L warning" DAEMON2=/usr/bin/deluge-web DAEMON2_ARGS="-p 9092 -c /var/lib/deluge -l /var/log/deluge-web.log -L warning" 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 :
Rendez le script exécutable
sudo chmod a+x /etc/init.d/deluge-daemon
Configurez le lancement au démarrage du système
sudo update-rc.d deluge-daemon defaults
Lancez le service
sudo service deluge-daemon start
Par défaut l'interface est joignable sur le port 8112. Mais dans le fichier de configuration ci-dessus, on a spécifié le port 9092.
Vous pouvez le modifier dans l'interface. Notez que vous ne pouvez pas configurer un port inférieur à 1024 sans manipulations que je ne décrirai pas ici.
Si vous utilisez deluge en dehors de votre réseau local (en déplacement, ou via votre mobile avec une appli comme Transdroid), il est possible que vous souhaitiez chiffrer vos échanges avec votre serveur.
Pour ce faire, deluge supporte le chiffrement via SSL que vous pouvez activer dans Préférences>Interface>Use SSL de l'interface Web de Deluge. Vous pouvez éventuellement créer vos propres certificats SSL que vous placerez dans le dossier /var/lib/deluge/ssl avant de modifier vos préférences.
Ce script réalise l'installation et le démarrage tel que vu dans ce tutoriel:
sudo add-apt-repository ppa:deluge-team/ppa sudo apt-get update sudo apt-get install deluged deluge-web sudo adduser --disabled-password --system --home /var/lib/deluge --gecos "SamRo Deluge server" --group deluge sudo wget http://doc.ubuntu-fr.org/_export/code/deluge?codeblock=1 --output-document=/etc/default/deluge-daemon sudo wget http://doc.ubuntu-fr.org/_export/code/deluge?codeblock=2 --output-document=/etc/init.d/deluge-daemon sudo chmod a+x /etc/init.d/deluge-daemon sudo update-rc.d deluge-daemon defaults sudo /var/lib/deluge sudo service deluge-daemon start
Deluge refuse de démarrer :
Si Deluge refuse de démarrer, il peut y avoir plusieurs raisons à cela. Lancer Deluge dans un terminal pour voir un peu plus en détail ce qui se passe.
Si vous obtenez quelque chose qui ressemble à l'analyse des trackers actifs suivi d'une erreur semblable, lisez la méthode de résolution après.
Exemple :
Torrent Size 71904023.0 Available Space 5355061248 Raising error: deluge_core; using libtorrent 0.11.0.0. Compiled with NDEBUG value: 1 terminate called after throwing an instance of 'boost::filesystem::filesystem_error' what(): boost::filesystem::default_name_check: default name check already set Abandon (core dumped)
il suffit d'exécuter cette commande dans un terminal :
$ rm ~/.config/deluge/*.state && rm ~/.config/deluge/torrentfiles/*.fastresume
Mise à Jour :
Lorsqu'une nouvelle version de Deluge sort, elle est disponible dans un premier temps sur le site officiel et quelques heures après dans les Dépôts (ci-dessus), entre temps si vous lancez Deluge et que les dépôts n'ont pas encore été mis à jour Deluge va afficher une message au lancement qui vous envoie sur le site officiel pour récupérer la mise à jour manuellement, ce qui enlève donc l'intérêt des dépôts. Pour y remédier allez dans “Préférences” puis “Divers” et enfin décochez “Etre averti des nouvelles versions”. Ainsi les mises à jour s'effectueront avec le gestionnaire de mise à jour comme les autres logiciels.