Kompilujemy Transmission na Linuxie

Transmission jest prostym i szybkim klientem BitTorrent charakteryzującym się prostą budową. Aplikacja jest rozpowszechniana na licencji GPL i dostępna na kilka różnych platform. Autorzy chcieli stworzyć lekkie oprogramowanie do pobierania plików dla przeciętnego użytkownika.

Zajmiemy się dziś kompilacją najnowszej wersji Transmission. Ja przeprowadzę cały proces na Debianie 6 Squeeze ponieważ w tej chwili mam dostęp do tej wersji Debiana.

Zaczynamy od stworzenia użytkownika, zaktualizowania pakietów, systemu i pobrania potrzebnych pakietów:

adduser debian-transmission
apt-get upgrade
apt-get update
apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential nano

Dorzuciłem do potrzebnych pakietów nano – jest to edytor tekstowy który ja preferuje.

Transmission potrzebuje również biblioteki libevent której standardowo nie ma w reprezytoriach Debiana.

Skompilujemy zatem najnowszą wersję:

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar xvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
CFLAGS="-Os -march=native" ./configure 
make

Można teraz wykonać instalacje skompilowanego programu komendą

make install

Skompilowałem ten pakiet i spakietowałem: libevent-2.0.21_stable-1_i386.deb

Można pobrać i zainstalować bez kompilacji komendą:

wget http://linuxiarz.pl/linux/libevent-2.0.21_stable-1_i386.deb
dpkg -i libevent-2.0.21_stable-1_i386.deb

OK, mamy wymagane pakiety zainstalowane w systemie, teraz w końcu przechodzimy do Transmission.

wget http://download-origin.transmissionbt.com/files/transmission-2.80.tar.xz
xz -d transmission-2.80.tar.xz 
tar -xvf transmission-2.80.tar
cd transmission-2.80/

I kompilujemy:

CFLAGS="-Os -march=native" ./configure 
make

Instalacja Transmission jak w poprzednim przypadku

make install

Również skompilowałem i spakietowałem: transmission_2.80-1_i386.deb

wget http://linuxiarz.pl/linux/transmission_2.80-1_i386.deb
dpkg -i transmission_2.80-1_i386.deb

No to mamy zainstalowaną najnowszą wersję Transmission (w moim przypadku 2.80)

Uruchamiamy poleceniem:

transmission-daemon

U mnie wystąpił komunikat: libevent-2.0.so.5: cannot open shared object file: No such file or directory

Rozwiązanie:

System 32-Bit:

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

System 64-BIT:

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

Jeśli po tej operacji uruchomi ponownie Transmission, powinno już być OK.

Następnym krokiem jest konfiguracja programu..

(opcja) Przełączamy się na stworzonego wcześniej użytkownika debian-transmission

su debian-transmission

można to wykonywać z poziomu konta root, komenda opcjonalna

Plik konfiguracyjny powinien znajdować się w katalogu:

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

Więc:

mkdir /home/debian-transmission/.config
mkdir /home/debian-transmission/.config/transmission-daemon/
touch /home/debian-transmission/.config/transmission-daemon/settings.json
nano /home/debian-transmission/.config/transmission-daemon/settings.json

Przygotowałem działający plik konfiguracyjny transmission

rm /home/debian-transmission/.config/transmission-daemon/settings.json
wget http://linuxiarz.pl/wp-content/uploads/2013/07/transmission.txt -O /home/debian-transmission/.config/transmission-daemon/settings.json

Oczywiście należy sobie wy-edytować linie z zabezpieczeniami GUI (użytkownik i hasło)

Teraz  mamy praktycznie gotowy program do użytku więc tworzymy plik startowy.
Przygotowałem już gotowy, działający: transmission-daemon

touch /etc/init.d/transmission-daemon
nano /etc/init.d/transmission-daemon
chmod +x /etc/init.d/transmission-daemon

I wklejamy zawartość podanego wcześniej przeze mnie pliku startowego.

Lub:

wget http://linuxiarz.pl/wp-content/uploads/2013/07/transmission-daemon.txt -O /etc/init.d/transmission-daemon
chmod +x /etc/init.d/transmission-daemon

Wystarczy teraz dodać Transmission do autostartu:

update-rc.d transmission-daemon defaults

Teraz reboot komputera.

Po ponownym uruchomieniu  można zalogować się do interfejsu www który znajduje się http://ip_komputera:9091 

Jeżeli nie wystarcza nam dostęp przez www można użyć odpowiedniego gui jako normalnej aplikacji:

Update:
Sposób również działa w Debianie 7.1 , należy wykonać dwa polecenia:

chown debian-transmission:debian-transmission /home/debian-transmission/.config/transmission-daemon
chmod +x /home/debian-transmission/.config/transmission-daemon/settings.json

Trochę screenów z działania:

[nggallery id=9]