Guida – Installare Transmission su Raspberry

Ho iniziato a scrivere questa guida più di un mese fa, poco dopo aver scritto la guida su come installare raspbian su raspberry, da allora ho fatto parecchie revisioni e adesso la guida su come installare Transmission su Raspberry è finalmente pronta! Tutta la configurazione l’ho eseguita tramite SSH con putty su Windows.

Iniziamo facendo un aggiornamento:

sudo apt-get upgrade

e proseguiamo impostando un ip statico digitando:

ifconfig

Dalla schermata che ci si presenta appunteremo questi valori:

inet addr – 192.168.1.128 (Indirizzo IP corrente del Raspberry)
Bcast – 192.168.1.255 (Broadcast IP Range)
Mask – 255.255.255.0 (Indirizzo Subnet Mask)

ora dobbiamo applicarli al file per la configurazione della rete che troviamo qui:

sudo nano /etc/network/interfaces

e che alla fine dovrà apparire più o meno così:

auto lo

iface lo inet loopback

allow-hotplug wlan0
 iface wlan0 inet manual
 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

auto wlan0
 iface wlan0 inet static
 address 192.168.1.128
 gateway 192.168.1.1
 netmask 255.255.255.0

auto eth0
 iface eth0 inet static
 address 192.168.1.128
 gateway 192.168.1.1
 netmask 255.255.255.0

potete assegnare un indirizzo ip che va da 192.168.1.1 fino a 192.168.1.255.

Opzionale è la scelta di cambiare anche i DNS con quelli di google, vista la facilità consiglio di farlo.
sudo nano /etc/resolv.conf
Nella prima riga ci sarà l’indirizzo ip del router, eliminiamo quello che c’è sotto e scriviamo:

nameserver 8.8.8.8
nameserver 8.8.4.4

Passiamo alla fase successiva, configurare il disco esterno.

Iniziamo configurando la chiavetta in cui verranno salvati i nostri dati, possiamo formattarla facilmente in Ext4 utilizzando MiniTool Partition Wizard Free, Ext4 è un filesystem affidabile, che ci consente di impostare i permessi Unix su file e cartelle, unico neo che non potremo leggere la chiavetta su Windows e OSX se non con utility di terze parti che non sempre funzionano a dovere, ma basterà condividere tutto sulla rete locale per aggiare il problema.

Inserita la chiavete, diamo il comando per visualizzare i dischi collegati:
sudo fdisk -l
avremo davanti qualcosa del genere

device_raspberry

in questo caso il primo disco è la scheda SD su cui è installato il sistema operativo con il nome /dev/mmcblk0 (diviso come si vede in due partizioni), il secondo disco (in blu), /dev/sda, è il disco USB, che possiamo riconoscere anche dalla capacità. Un pò più sotto (nello screen non c’è) troveremo il nome assegnato alla partizione che potrebbe essere tipo /dev/sda1 o /dev/sda5 ecc, ma che nel mio caso è /dev/sda appuntiamo.

Ora dobbiamo creare un mount point, ovvero una cartella da usare come “punto di aggancio” tra la chiavetta e il sistema, che parte dalla cartella root ( / ). I dischi esterni vengono quasi sempre montati in sottocartelle, dentro la directory /mnt: creiamo quindi una sottodirectory /mnt/nas con il comando mkdir, e poi cambiamone i permessi di accesso con chmod per renderla leggibile e scrivibile da tutto gli utenti del sistema (incluso l’utente predefinito pi):
sudo mkdir /mnt/nas
sudo chmod 777 /mnt/nas

Una volta creata la directory “montiamoci” sopra la chiavetta con il comando:
sudo mount /dev/sda /mnt/nas
Ora proviamo a entrare dentro la chiavetta /mnt/nas e usiamo ls per vedere le cartelle:
cd /mnt/nas
ls -l

Prima di spegnere o scollegare il disco esterno, è sempre bene smontare il disco per non andare incontro a perdita di file ed errori. Il comando da usare è:
sudo umount /dev/sda
Il comando non è necessario quando si arresta il sistema con shutdown -h o lo si riavvia con shutdown -r.

Dobbiamo fare in modo che il sistema monti automaticamente il disco esterno su /mnt: vediamo come
sudo nano /etc/fstab

mount_point
Tra le prime 3  righe 2 sono relative alle due partizioni di sistema (/dev/mmcblk0p1/2) presenti sulla sdcard; sotto di esse aggiungiamo la quarta riga per la partizione del disco esterno:

/dev/sda /mnt/nas auto defaults,user 0 1

Chiudiamo e salviamo il file (ctrl-x) al riavvio il disco verrà automaticamente montato.
Nel caso ci dimenticassimo di accendere il disco prima del Raspberry, è sempre possibile montarlo in un secondo momento con il seguente comando:

sudo mount /dev/sda1 /mnt/usbhdd

Creiamo le cartelle in cui salvare i file:
cd /mnt/nas
sudo mkdir torrent
sudo chmod 777 torrent

cd /mnt/nas/torrent
sudo mkdir downloads
sudo mkdir incomplete
sudo chmod 777 downloads
sudo chmod 777 incomplete

Il comando chmod 777 fornisce i permessi in scrittura sulla cartella a tutti gli utenti del sistema, compreso quello sotto cui girerà transmission.

Finalmente giungiamo all’installazione vera a proprioa di Transmission!:
sudo apt-get install transmission-daemon
Una volta installato fermiamo il demone per configurarlo:

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

apriamo il file di configurazine.

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

e modifichiamo solo alcuni parametri:

“download-dir”: “/mnt/nas/torrent/downloads”,
…
“incomplete-dir”: “/mnt/nas/torrent/incomplete”,
“incomplete-dir-enabled”: true,
…
“rpc-authentication-required”: true,
“rpc-bind-address”: “0.0.0.0”,
“rpc-enabled”: true,
“rpc-password”: “PASSWORD“,
“rpc-port”: 9091,
“rpc-url”: “/transmission/”,
“rpc-username”: “USERNAME“,
“rpc-whitelist-enabled”: false,
…
"umask": 2

I campi USERNAME e PASSWORD sono quelli che serviranno per accedere tramite web a transmission. La riga “rpc-whitelist-enabled”: false, permette di non limitare l’accesso ai soli dispositivi o computer che si trovano sulla stessa rete locale del Raspberry ma anche da remoto. Mentre “umask”: 2 serve a poter accedere ai file da filezilla o qualsiasi altro client e poterli cancellare (si potrebbero incontrare problemi anche cambiando questo parametro in tal caso leggere più sotto)

Usciamo salvando con ctrl-x, confermando la sovrascrittura con Y e invio, riavviamo il demone:
sudo /etc/init.d/transmission-daemon start
Dopo il riavvio proviamo ad accedere da browser a raspberry tramite l’indirizzo http://IP_DEL_RASPBERRY:9091 se tutto è apposto ci chiederà di inserire nome e password e saremo pronti a gestire i nostri download.

Transmission si riavvia da solo a ogni avvio del Raspberry. I comandi per fermarlo e riavviarlo manualmente sono:
sudo /etc/init.d/transmission-daemon stop
sudo /etc/init.d/transmission-daemon start

L’ultima parte, dove ho dovuto fare molte ricerce, è nella condivisione delle cartelle in rete.

Aggiungiamo il nostro nome utente al gruppo debian-transmission, questo è necessario per il corretto funzionamento del daemon:
sudo adduser nome_utente debian-transmission
Facciamo rileggere il file settings.json con le nuove impostazioni, digitiamo il comando:
sudo /etc/init.d/transmission-daemon reload
e finiamo riavviando con:
sudo /etc/init.d/transmission-daemon restart

Ora torniamo ai problemi nell’eliminare file a cartelle, è possibile eliminarli da terminale in questo modo:
rm '/mnt/torrent/downloads/ubuntu'

E se invece vi se vi ritrovare con un transmission non funzionante o altro potete disinstallarlo e riprovare tramite questi comandi:
sudo apt-get purge transmission
controllare se ci sono residui:
dpkg -l | grep transmission
in caso ci siano dare:
sudo apt-get purge transmission-cli transmission-common transmission-daemon
e poi questo per rimuovere tutte le configurazioni residue:
sudo dpkg --purge `COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3`
e alla fine per vedere se è stato eliminato tutto:
dpkg -l | grep transmission
se non risponbde nulla siete puliti.

FINE.