Installare Transmission sul Raspberry Pi

RaspTransmission

 

Salve a tutti! Molte volte mi è capitato di scaricare file torrent pesanti, e poi interrompere il download in quanto dovevo andare via e portarmi il computer dietro. Se il file è molto grande, queste interruzioni sono fastidiose, perché per scaricarlo ci mettiamo davvero molto tempo! Quindi bisognerebbe trovare il modo di poter portarsi dietro il computer, e allo stesso tempo continuare il nostro download del torrent! Ovviamente ciò non è possibile, in quanto il computer deve essere acceso per poter scaricare, quindi dobbiamo trovare un'altra soluzione, e in questo caso, come al solito, ci viene in aiuto il nostro amato lampone! Sembra quasi un supereroe il Raspberry xD.

Quindi vediamo ora come utilizzare questo fantastico mini computer in combo con Transmission. In poche parole il Raspberry scaricherà senza sosta tutti i torrent che vogliamo, e gestendo i download tramite il browser da un altro computer.

I file li salveremo all'interno di una directory di un hard disk collegato, in modo da avere molto più spazio.

Ma andiamo con ordine, ora installeremo una versione particolare di Transmission, ossia il daemon, che non necessità di un'interfaccia grafica.

Quindi entriamo dentro il Raspberry con il comando ssh e iniziamo l'installazione dando il comando:

 

sudo apt-get update

 

per aggiornare la lista dei package

e poi diamo:

 

sudo apt-get install transmission-daemon

 

Una volta installato, prima di passare alla configurazione del programma, creiamo le directory in cui verranno salvati i file scaricati, i file non terminati, e i file .torrent, quindi diamo i seguenti tre comandi:

 

sudo mkdir /media/hd/terminati
sudo mkdir /media/hd/non_terminati
sudo mkdir /media/hd/file_torrent

 

Dove all'interno della directory /media/hd c'è il nostro hard disk esterno.

Bene ora passiamo alla configurazione del programma.

 

 

CONFIGURAZIONE
Il file di configurazione lo troviamo all'interno della directory /etc/transmission-daemon/, quindi apriamolo con l'editor di testo nano dando il seguente comando:

 

sudo nano /etc/transmission-daemon/settings.json

 

Ora che lo abbiamo aperto, dobbiamo modificare diverse righe per farlo funzionare al meglio. Iniziamo con il dirgli quali sono le directory da utilizzare per il download, ossia quelle che abbiamo creato in precedenza. Cerchiamo quindi la voce “download-dir” e di fianco inseriamo la directory che abbiamo creato per il download:

 

“download-dir”: “/media/hd/terminati”,

 

Facciamo lo stesso anche per i file non terminati:

 

“incomplete-dir”: “/media/hd/non_terminati”

 

E infine per la terza directory, aggiungiamo le seguenti due righe alla fine del file, prima della chiusura della parentesi graffa:

 

“watch-dir”: “/media/hd/file_torrent”,
“watch-dir-enabled”: true

 

facendo molta attenzione alle virgole, (alla fine di ogni riga, come avrete notato, è presente una virgola, tranne che per l'ultima riga, quindi rispettate questa politica).

Bene, ora che abbiamo impostato le nostre directory, terminiamo la nostra configurazione con altri accorgimenti.

Prima abbiamo detto che è possibile controllare Transmission da un altro computer, da remoto attraverso un browser, per fare ciò modifichiamo le seguenti righe, cerchiamo rpc-enabled e mettiamo true:

 

“rpc-enabled”: true,

 

in questo modo abilitiamo l'accesso da remoto.

Ora creiamo un nome utente e una password per accederci, quindi modifichiamo queste seguenti righe rpc-password e rpc-username:

 

“rpc-password”: “vostra password”,
“rpc-username”: “vostro username”,

 

Tranquilli la password non rimarrà in chiaro, ma dopo, non appena avremo riavviato Transmission, quest'ultima verrà criptata.

Infine disabilitiamo il filtro per gli indirizzi ip, dato che a noi non interessa molto, e in più ci semplifica notevolmente la vita:

 

“rpc-whitelist-enabled”: false,

 

Bene ora che abbiamo terminato, clicchiamo CTRL+X , e salviamo il file.

Ora rendiamo le modifiche del file definitive, e in questo modo criptiamo anche la password al suo interno, dando il seguente comando:

 

sudo /etc/init.d/transmission-daemon reload

 

Ora facciamo l'ultimo step della nostra configurazione, fermiamo il programma:

 

sudo /etc/init.d/transmission-daemon stop

 

e diamo tutti i permessi necessari al nostro utente “pi” per poter far funzionare al meglio Transmission-daemon.

Quindi diamo i seguenti comandi (supponendo che “pi” sia il nome utente che utilizzate sul vostro Raspberry):

 

sudo adduser pi debian-transmission
sudo chown pi -R /var/lib/transmission-daemon/info
sudo chown pi /etc/transmission-daemon/settings.json

 

Infine apriamo il seguente file:

 

sudo nano /etc/init.d/transmission-daemon

 

Cerchiamo “USER” e modifichiamolo nel seguente modo:

 

USER=pi

 

Usciamo salvando, e avviamo il programma con il seguente comando:

 

sudo /etc/init.d/transmission-daemon start

 

Ora che abbiamo terminato l'installazione e la configurazione, proviamo a entrare da remoto con il browser su un altro computer.

Per poterlo fare dobbiamo installare transmission-cli, quindi diamo il seguente comando:

 

sudo apt-get install transmission-cli

 

e se siamo su Arch Linux:

 

sudo pacman -S transmission-cli

 

Una volta installato non ci resta che entrare. Apriamo un browser e scriviamo questa riga nella barra degli indirizzi:

 

indirizzo_ip_raspberry:9091

 

Dove al posto di indirizzo_ip_raspberry, metterete l'ip locale del vostro Raspberry, ad esempio per me:

 

192.168.1.145:9091

 

CONCLUSIONE
Bene, ora che vi abbiamo mostrato un potente utilizzo di questo piccolo computer, potrete scaricare ciò che vorrete senza “limiti di tempo”! Al prossimo post!

 

FONTI:
- Immagini Joel Garia;

Dottore in Informatica. Da sempre appassionato di Linux, reti informatiche, sicurezza e, in modo amatoriale, all'elettronica. Il mio intento è quello di trasmettere le mie conoscenze ad altri appassionati.

17 risposte

  1. Quando devo avviare transmission col comando:

    sudo /etc/init.d/transmission-daemon start

    mi restituisce questo:

    [....] Starting transmission-daemon (via systemctl): transmission-daemon.serviceJob for transmission-daemon.service failed. See 'systemctl status transmission-daemon.service' and 'journalctl -xn' for details.

    Che significa?

    • Daniele Scanu

      Probabilmente il file di configurazione di transmission è stato editato male, o la sintassi non è stata rispettata, o ti è scappato qualche carattere di troppo. Prova a dare questo comando:
      sudo systemctl status transmission-daemon.service
      Generalmente di indica dove si trova l'errore. Facci sapere;)

      • Mi ridà questo con il comando che mi hai detto di inserire:

        ● transmission-daemon.service - Transmission BitTorrent Daemon
        Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled)
        Active: failed (Result: exit-code) since ven 2016-05-20 14:12:41 UTC; 13s ago
        Process: 2033 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCC ESS)
        Process: 2497 ExecStart=/usr/bin/transmission-daemon -f --log-error (code=exit ed, status=255)
        Main PID: 2497 (code=exited, status=255)

        mag 20 14:12:41 raspberrypi transmission-daemon[2497]: [2016-05-20 14:12:41.4...
        mag 20 14:12:41 raspberrypi transmission-daemon[2497]: [2016-05-20 14:12:41.4...
        mag 20 14:12:41 raspberrypi systemd[1]: transmission-daemon.service: main pr...a
        mag 20 14:12:41 raspberrypi systemd[1]: Failed to start Transmission BitTorr....
        mag 20 14:12:41 raspberrypi systemd[1]: Unit transmission-daemon.service ent....
        Hint: Some lines were ellipsized, use -l to show in full.

        • Daniele Scanu

          Nelle ultime righe, dove a fine riga ci sono i puntini, al posto dei puntini cosa c'è scritto? Se ti fa vedere solo i puntini, ingrandisci la finestra del terminale a tutto schermo. Di solito al posto di quei puntini ti dice dove sta l'errore

          • Antonio

            Ecco così si vede tutto:

            ● transmission-daemon.service - Transmission BitTorrent Daemon
            Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled)
            Active: failed (Result: exit-code) since ven 2016-05-20 14:12:41 UTC; 11min ago
            Process: 2033 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
            Process: 2497 ExecStart=/usr/bin/transmission-daemon -f --log-error (code=exited, status=255)
            Main PID: 2497 (code=exited, status=255)

            mag 20 14:12:41 raspberrypi transmission-daemon[2497]: [2016-05-20 14:12:41.401 UTC] Couldn't read "/var/lib/transmission-daemon/.con fig/transmission-daemon/settings.json": Permission denied
            mag 20 14:12:41 raspberrypi transmission-daemon[2497]: [2016-05-20 14:12:41.403 UTC] transmission-daemon Error loading config file -- exiting. (daemon.c:519)
            mag 20 14:12:41 raspberrypi systemd[1]: transmission-daemon.service: main process exited, code=exited, status=255/n/a
            mag 20 14:12:41 raspberrypi systemd[1]: Failed to start Transmission BitTorrent Daemon.
            mag 20 14:12:41 raspberrypi systemd[1]: Unit transmission-daemon.service entered failed state.

          • Daniele Scanu

            Probabilmente non hai i permessi per leggere il file di configurazione, dai questo comando:
            sudo chown [nome-utente] -R /var/lib/transmission-deamon

            Poi riprova a far partire di nuovo transmission

  2. Con quel comando mi da:

    chown: impossibile accedere a "/var/lib/transmission-deamon": File o directory non esistente

    ...è come se il file stesse in un'altra destinazione o non so?!

    • Daniele Scanu

      Errore mio:) scrivi daemon non deamon

      • niente mi da sempre lo stesso errore...boh non so come fare, ho provato anche a rifare tutto da capo, ma niente

        • Daniele Scanu

          Proviamo a vedere i permessi che ha quela directory, dai questo comando:

          ls -la /var/lib/transmission-daemon/

          • Antonio

            Mi ridà questo:

            totale 16
            drwxr-xr-x 4 pi root 4096 mag 20 13:25 .
            drwxr-xr-x 58 root root 4096 mag 20 14:19 ..
            drwxr-xr-x 3 pi root 4096 mag 20 13:25 .config
            drwsrwxr-x 2 pi debian-transmission 4096 dic 25 2014 downloads
            lrwxrwxrwx 1 pi root 27 dic 25 2014 info -> .config/transmission-daemon

          • Daniele Scanu

            Come ultimo tentativo prova a mettere il file nel gruppo "pi":

            sudo chown pi:pi -R /var/lib/transmission-daemon

      • Riprovato con quel comando maaa...

        Job for transmission-daemon.service failed. See 'systemctl status transmission-daemon.service' and 'journalctl -xn' for details.

        • Daniele Scanu

          Idea!;) Prova a scrivere:
          sudo journalctl -xn
          Cosa dice questo comando?

          • Antonio

            Mi da questo:

            -- Logs begin at ven 2016-03-18 08:58:12 UTC, end at sab 2016-06-04 17:27:30 UTC
            giu 04 17:27:06 raspberrypi sudo[20605]: pam_unix(sudo:session): session closed
            giu 04 17:27:11 raspberrypi sudo[20645]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=ro
            giu 04 17:27:11 raspberrypi sudo[20645]: pam_unix(sudo:session): session opened
            giu 04 17:27:11 raspberrypi systemd[1]: Unit transmission-daemon.service cannot
            giu 04 17:27:11 raspberrypi sudo[20645]: pam_unix(sudo:session): session closed
            giu 04 17:27:14 raspberrypi sudo[20685]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=ro
            giu 04 17:27:14 raspberrypi sudo[20685]: pam_unix(sudo:session): session opened
            giu 04 17:27:15 raspberrypi sudo[20685]: pam_unix(sudo:session): session closed
            giu 04 17:27:30 raspberrypi sudo[20699]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=ro
            giu 04 17:27:30 raspberrypi sudo[20699]: pam_unix(sudo:session): session opened
            lines 1-11/11 (END)...skipping...
            -- Logs begin at ven 2016-03-18 08:58:12 UTC, end at sab 2016-06-04 17:27:30 UTC. --
            giu 04 17:27:06 raspberrypi sudo[20605]: pam_unix(sudo:session): session closed for user root
            giu 04 17:27:11 raspberrypi sudo[20645]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/etc/init.d/tr
            giu 04 17:27:11 raspberrypi sudo[20645]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
            giu 04 17:27:11 raspberrypi systemd[1]: Unit transmission-daemon.service cannot be reloaded because it is i
            giu 04 17:27:11 raspberrypi sudo[20645]: pam_unix(sudo:session): session closed for user root
            giu 04 17:27:14 raspberrypi sudo[20685]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/chown pi
            giu 04 17:27:14 raspberrypi sudo[20685]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
            giu 04 17:27:15 raspberrypi sudo[20685]: pam_unix(sudo:session): session closed for user root
            giu 04 17:27:30 raspberrypi sudo[20699]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalct
            giu 04 17:27:30 raspberrypi sudo[20699]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            lines 1-11/11 (END)...skipping...
            -- Logs begin at ven 2016-03-18 08:58:12 UTC, end at sab 2016-06-04 17:27:30 UTC. --
            giu 04 17:27:06 raspberrypi sudo[20605]: pam_unix(sudo:session): session closed for user root
            giu 04 17:27:11 raspberrypi sudo[20645]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/etc/init.d/transmission-daemon reload
            giu 04 17:27:11 raspberrypi sudo[20645]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
            giu 04 17:27:11 raspberrypi systemd[1]: Unit transmission-daemon.service cannot be reloaded because it is inactive.
            giu 04 17:27:11 raspberrypi sudo[20645]: pam_unix(sudo:session): session closed for user root
            giu 04 17:27:14 raspberrypi sudo[20685]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/chown pi -R /var/lib/transmission-daemon
            giu 04 17:27:14 raspberrypi sudo[20685]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
            giu 04 17:27:15 raspberrypi sudo[20685]: pam_unix(sudo:session): session closed for user root
            giu 04 17:27:30 raspberrypi sudo[20699]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -xn
            giu 04 17:27:30 raspberrypi sudo[20699]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            ~
            lines 1-11/11 (END)

          • Daniele Scanu

            Il comando dallo subito dopo che hai dato questo:

            sudo /etc/init.d/transmission-daemon start

            Perché quel comando diciamo che ti fa vedere tutti gli errori recenti che sono successi, in tal modo riesci a vedere quale errore da quando provi ad avviare transmission. Ultima cosa, il terminale aprilo a tutto schermo, così riusciamo a vedere esattamente cosa c'è scritto

    • Ciao, io ho avuto un problema analogo ed ho risolto con:
      sudo chmod 644 /etc/transmission-daemon/settings.json
      Non saprei dirti se è la soluzione migliore, ma funziona.

Lascia un commento