[UPDATE] Compilazione, installazione e configurazione transmission-daemon su Raspberry Pi

Creato il 13 luglio 2014 da Morganfw

UPDATE Transmission 2.84

Visto che i sorgenti e i binari Transmission sono stati aggiornati prima alla 2.83 e successivamente alla 2.84, vediamo come effettuare la compilazione dell’ultima versione, ovvero la 2.84 sul nostro beneamato Raspberry Pi con OS Raspbian.

Alla fin fine la procedura è la stessa di quella sottoelencata, ma la riporto ugualmente SOLO per la compilazione di Transmission, la libreria libevent rimane sempre la 2.0.21, quindi la potete scaricare dal link sottostante oppure compilarla sempre seguendo la guida sottostante.

ATTENZIONE: Se non avete mai installato Transmission sul vostro Raspberry Pi dopo la compilazione o l’installazione, è consigliabile seguire tutto il Tutorial del 28/12/2013 riportato in basso, in particolar modo i capitoli Configurazioni di base e Configurazioni finali, se invece avete già installato la versione 2.82 seguendo la mia precedente guida, vi basta seguire questi semplici passi.

Anche questa volta per i più pigri (come me), l’ultima versione compilata e direttamente installabile da Raspberry Pi è disponibile ai seguenti link
libevent 2.0.21 (libevent NON necessario se avete già installato Transmission 2.82)
Transmission 2.84
li possiamo anche scaricare da riga di comando, sempre grazie al buon vecchio comando “wget”

wget -O libevent_2.0.21-1_armhf.deb https://db.tt/2VQJn26N

(libevent NON necessario se avete già installato Transmission 2.82)

wget -O transmission_2.84-1_armhf.deb https://db.tt/iNE4ojgE

una volta scaricati li rendiamo eseguibili con il comando

chmod 755 libevent_2.0.21-1_armhf.deb transmission_2.84-1_armhf.deb

ed infine li installiamo lanciando i seguenti comandi

sudo dpkg -i libevent_2.0.21-1_armhf.deb

(libevent NON necessario se avete già installato Transmission 2.82)

sudo dpkg -i transmission_2.84-1_armhf.deb

Una volta effettuati tutti i passi sopra riportati, se non abbiamo mai installato Transmission sul nostro Raspberry Pi, possiamo passare direttamente al capitolo Configurazioni di base per procedere alle configurazioni necessarie.

Se invece siete temerari e volete compilarla da voi, iniziamo eseguendo il passaggio a utente root

sudo su -

accertiamoci di avere tutte le dipendenze richieste

apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential checkinstall intltool

e scarichiamo i sorgenti per l’ultima versione di Transmission

cd /var/tmp
wget http://download-origin.transmissionbt.com/files/transmission-2.84.tar.xz

quindi scompattiamo tutto

tar Jxvf transmission-2.84.tar.xz

e compiliamo questa ultima versione di Transmission

cd transmission-2.84
CFLAGS="-Os -march=armv6 -mtune=arm1176jzf-s" ./configure & make

se proprio dobbiamo e vogliamo compilare con il minimo indispensabile (non consigliato) allora lanciamo il seguente comando

CFLAGS="-Os -march=armv6 -mtune=arm1176jzf-s" ./configure --disable-gtk --disable-mac --disable-wx --disable-beos --disable-cli --disable-libnotify --enable-lightweight & make

quest’ultima modalità di compilazione disabilita “gtk client”, “mac client”, “wxWidget client”, “beos client”, “cli client”, “libnotify” ed abilita la modalità “lightweight” (ovvero disabilita la crittazione, riduce la cache disco e altro, per migliorare le prestazioni su sistemi “low-memory & low-speed”), ma alcune di queste opzioni sono obsolete, altre non sono supportate ed altre ancora possono essere anche disabilitate o abilitate a livello di file di configurazione, quindi consiglio di effettuare la compilazione classica, ovvero la prima e successivamente agire a livello di file di configurazione impostando le opzioni che più aggradano.
Per abilitare la modalità “lightweight” basta modificare i seguenti parametri all’interno del file “settings.json

...
"cache-size-mb": 2,
...
"encryption": 0,
...
"prefetch-enabled": 0,
...

successivamente riavviare transmission.

Come al solito, non appena lanciata la compilazione attendiamo qualche minuto per far si che la stessa termini, una volta terminata senza errori effettuiamo la pacchettizzazione del software

checkinstall --pkgname=transmission --pkgversion="2.84-$(date +%Y%m%d\-%H%M)" --backup=no --deldoc=yes --default --fstrans=no

anche questa volta abbiamo il pacchetto compilato e installato dal comando “checkinstall”, lo possiamo trovare al path

/var/tmp/transmission-2.84/transmission_2.84-1_armhf.deb

Ora non ci resta che riavviare il demone transmission con il comando

/etc/init.d/transmission-daemon restart

infine possiamo tornare a utente “normale”

exit

Una volta riconnessi tramite client, vedremo che la versione del nostro Transmission non sarà più la 2.82 ma sarà la 2.84!!!
E’ possibile verificare la versione anche da riga di comando

transmission-daemon --version

il comando dovrebbe restituire una stringa simile a “transmission-daemon 2.84 (14307)

BUON DIVERTIMENTO!!!


[Guida 28/12/2013]

Premessa

Transmission è uno dei client Torrent Open Source fra i più leggeri, completi, multipiattaforma e raggiungibile anche da client remoti tramite il protocollo RPC, “sfortunatamente” per le distribuzioni basate su Debian non è che sia troppo aggiornato, quindi difficile avere l’ultima versione stable disponibile.
Nel nostro caso, ovvero su Raspberry Pi, vedremo come procedere ad effettuare su Raspbian (l’ultima versione disponibile al momento in cui scrivo è la 2013-12-20-wheezy-raspbian) tutti i passi necessari alla compilazione, installazione e configurazione di transmission-daemon che è la versione daemon di Transmission, ovvero non ha interfaccia grafica ma lavora in background ed è raggiungibile da web, client remoto e/o altro.

Download pacchetti e installazione

Se non volete impazzire dietro a compilazione ed eventuali errori/problemi continuate a leggere questo paragrafo, altrimenti se siete dei temerari e volete fare tutto manualmente, passate al prossimo paragrafo.
Per rendervi più semplice la vita ho creato per voi anche i pacchetti “.deb” già pronti sia per libevent v.2.0.21 che per Transmission v.2.82 specifici per Raspbian su Raspberry Pi, che potete trovare ai seguenti link
libevent 2.0.21
Transmission 2.82
è possibile anche scaricarli direttamente da riga di comando su Raspbian, quindi (se non è già installato), installiamo il pacchetto wget

sudo apt-get update & sudo apt-get install wget

e successivamente lanciamo i seguenti comandi per effettuare il download dei pacchetti nella directory corrente

wget -O libevent_2.0.21-1_armhf.deb https://db.tt/2VQJn26N
wget -O transmission_2.82-1_armhf.deb https://db.tt/NwMkXgjS

una volta scaricati rendiamoli eseguibili con il comando

chmod 755 libevent_2.0.21-1_armhf.deb transmission_2.82-1_armhf.deb

ed installiamoli lanciando i seguenti comandi

sudo dpkg -i libevent_2.0.21-1_armhf.deb
sudo dpkg -i transmission_2.82-1_armhf.deb

dopo aver eseguito l’installazione è necessario effettuare le dovute configurazioni che sono indicate più avanti al paragrafo “Configurazioni di base”.

Compilazione manuale e installazione

Se invece non vi piace avere tutto già pronto e siete quelli che preferiscono sporcarsi le mani, vediamo come procedere passo passo alla creazione e installazione dei sopra menzionati pacchetti.
Innanzitutto è necessario scaricare qualche dipendenza richiesta per la compilazione, quindi accediamo alla nostra Raspbian sul Raspberry e passiamo a utente root

sudo su -

ora installiamo le dipendenze richieste

apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential checkinstall intltool

una volta installate le dipendenze scarichiamo i sorgenti (nel momento in cui scrivo le ultime versioni stabili sono 2.0.21 per libevent e 2.82 per Transmission)

cd /var/tmp
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
wget http://download.transmissionbt.com/files/transmission-2.82.tar.xz

scompattiamo tutto

tar xvzf libevent-2.0.21-stable.tar.gz
tar Jxvf transmission-2.82.tar.xz

ed iniziamo con la compilazione di libevent 2.0.21

cd libevent-2.0.21-stable
CFLAGS="-Os -march=armv6 -mtune=arm1176jzf-s" ./configure & make

la compilazione ci impiegherà diversi minuti, quindi nel frattempo andiamo a prendere un caffè…
Non appena terminata provvediamo ad effettuare la pacchettizzazione

checkinstall --fstrans=0

Finito di compilare e installare libevent, gli stessi passaggi vanno effettuati con Transmission

cd ../transmission-2.82
CFLAGS="-Os -march=armv6 -mtune=arm1176jzf-s" ./configure & make

anche questa volta la compilazione impiegherà diversi minuti, quindi andiamo a fare un giro…
Anche in questo caso, come effettuato prima per libevent, effettuiamo la pacchettizzazione del software

checkinstall --fstrans=0

a questo punto abbiamo tutti i pacchetti salvati e automaticamente installati dal comando “checkinstall”, gli stessi per futuri utilizzi possiamo trovarli sotto

/var/tmp/libevent-2.0.21-stable/libevent_2.0.21-1_armhf.deb
/var/tmp/transmission-2.82/transmission_2.82-1_armhf.deb

Ora che abbiamo creato e installato i nostri pacchetti possiamo passare al prossimo paragrafo.

Configurazioni di base

Una volta installati i pacchetti libevent e Transmission è possibile procedere con la configurazione per lo stop e start di transmission-daemon, quindi effettuiamo il passaggio a utente root

sudo su -

e procediamo con la creazione di una nuova utenza con password disabilitata (per motivi di sicurezza)

adduser --disabled-password transmission

a questo punto effettuiamo il passaggio al nuovo utente appena creato

su - transmission

effettuiamo l’avvio manuale del demone transmission in modo che vengano creati tutti i file di configurazione

transmission-daemon -f

attendiamo una decina di secondi e poi effettuiamo lo stop manuale premendo CTRL-C.
Adesso torniamo a utente root

exit

e scarichiamo lo script di stop e start (che ovviamente andrà sotto /etc/init.d/)

wget -O /etc/init.d/transmission-daemon https://db.tt/UGiNgwJl

e diamogli i diritti di esecuzione

chmod 755 /etc/init.d/transmission-daemon
chown root:root /etc/init.d/transmission-daemon

ora possiamo effettuare lo stop e start del nostro bel demone transmission direttamente da utente root o da qualsiasi altro utente (anteponendo sudo ovviamente)

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

Per non incorrere in eventuali blocchi di sistema (ed eventuali Out Of Memory) è consigliabile modificare sul Raspberry il parametro vm.min_free_kbytes a 32768 all’interno del file

/etc/sysctl.conf

, quindi apriamo il file con il nostro editor preferito (io ho usato vi)

vi /etc/sysctl.conf

e modifichiamo la riga a fondo pagina in

vm.min_free_kbytes = 32768

per salvare e chiudere digitiamo :wq
è necessario modificare anche il file

/boot/cmdline.txt

inserendo la stringa smsc95xx.turbo_mode=N, alla fine la stringa modificata dovrebbe essere simile alla seguente

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline smsc95xx.turbo_mode=N rootwait

Una volta effettuate le due sopra menzionate modifiche, riavviare il Raspberry

reboot

Non appena il nostro amato Raspberry si è riavviato, possiamo effettuare lo start manuale del demone transmission

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

se invece si vuole fare in modo che transmission-daemon si avvii automaticamente al boot del Raspberry, digitare

sudo update-rc.d transmission-daemon defaults

e come per magia transmission-daemon partirà automaticamente ad ogni boot/reboot.
Per rimuovere l’avvio automatico di transmission-daemon al boot basta digitare

sudo update-rc.d -f transmission-daemon remove

Configurazioni finali

Abbiamo terminato le nostre configurazioni di base per transmission, per poter accedere all’interfaccia web è sufficiente aprire un browser da qualsiasi PC all’interno della propria LAN e digitare

http://IPDelRaspberry:9091

per poter configurare tutte le opzioni disponibili, il file di configurazione si trova sotto

/home/transmission/.config/transmission-daemon/settings.json

per la descrizione di tutte le voci potete far riferimento alla guida EditConfigFiles.

Inoltre una volta configurata AD-HOC la parte di RPC è possibile accedere a transmission anche da Client Remoto, un validissimo client è Transmission GUI, che è multipiattaforma e potete scaricare QUI


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :