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