Action disabled: source

트랜스미션 (Transmission)

우분투 (Ubuntu) 서버에서부터 NAS까지 가장 많이 쓰이는 토렌트 (Torrent) 클라이언트 프로그램이다.

설치

sudo apt-get update (우분투)

를 이용하여 설치/업데이트 가능한 패키지 목록을 업데이트 합시다. 업데이트가 끝났다면 위와 같이

sudo apt-get install transmission-daemon  (우분투)

을 입력한다. 만약 패키지를 찾지 못한다면 위의 패키지 목록 업데이트가 제대로 되지 않은 상태니 확인해주라.

설정

설치가 완료되면 이제 토렌트 데이터가 받아질 공간을 작성한다. / 아래 data 라는 디렉토리를 생성하여 앞으로 이곳에 데이터가 받아지도록 설정할 것이다.

md /data
chmod 777 /data
sudo service transmission-daemon stop

위와 같이 입력하여 현재 백그라운드에 있는 transmission-daemon 데몬을 중지한다. (json 설정파일을 사용하기 때문에 실행상태에서는 설정을 변경해도 저장되지 않는다.)

sudo nano /etc/transmission-daemon/settings.json (우분투)

환경설정 파일을 수정할 차례이다. 위와 같이 입력하면 편집기 상태로 들어가게 되는데, "download-dir" 항목을 먼저 수정합시다. 이 경로가 토렌트 데이터가 받아질 경로인데, 자료를 저장할 그 경로에 맞게 지정하면된다.

그리고 "encryption" 도 1로 지정하였다만 이것은 차후 원격에서 조정 가능하다.

이제 밑으로 주욱 내려 옵시다.

"rpc-authentication-required", "rpc-enabled" , "rpc-password" , "rpc-port" , "rpc-username" , "rpc-whitelist-enabled" 아래 부분의 이 6 항목을 수정해야 하는데 이 부분이 원격 접속에 관한 설정이다.

  • rpc-authentication-required 는 true로 (만약 원격 접속시 인증을 원하지 않는다면 false으로 유지)
  • rpc-enabled 는 1로,
  • rpc-username 는 원격 접속시 사용할 ID, 그리고
  • rpc-password 에서 그에 대한 암호를 지정한다. (사용할 암호를 적으면, 나중에 실행될 때 자동으로 해쉬로 바꾼다. )
  • rpc-port는 원격 접속때 사용할 포트
  • rpc-whitelist-enabled 는 0으로 지정한다. 이것을 1로 지정할 경우 위 whitelist 에 지정된 IP 외에는 접속이 불가능 해진다.\
  • umask 저장될 때의 권한을 지정한다. 병신스럽게 10진수로 적어야 한다. 022(8) 가 18(10) 이 되겠다.

완료 되었으면 저장하고 빠져나온다.

sudo service transmission-daemon start

이제 transmission-daemon 을 다시 시작한다. 이것으로 환경설정은 끝났다.

반드시 트랜스미션을 정지하고 수정해야 한다. 아니면 수정된 것이 날아간다.

확인

transmission-remote -si
/etc/transmission-daemon/settings.json
/home/andy/.config/transmission-daemon/settings.json

테스트

IE 나 파이어폭스에서 http:\\[IP]:[포트] 를 입력하여 접속한다. IP는 물론 서버의 IP이며, 포트는 Transmission-daemon 의 설정파일에 rpc-port 에 지정했던 포트이다. 아마 아이디와 비밀번호를 물을 텐데, 역시 위의 설정파일에 지정했던 것 그대로 입력해주면된다. 관리창이 뜬다면 성공적으로 셋팅 되었다. ^^

만약 원격 클라이언트 프로그램으로 관리하고 싶다면 위의 준비물항목에서 다운받는다.

Transmission-remote-gui 를 사용하는데 아래와 같이 설정에서 Server 정보와 Authentication 정보를 입력한 후 접속하면 된다.

이것으로 원격 토렌트 머신이 구축되었다. ^^ 깔끔하게 서버를 한번 리부팅 시킨 후 다시 한번 접속해보라.

토렌트 (Torrent)는 포트 51413을 사용하므로 방화벽과 공유기에서 열어줘야한다.

에러

journalctl -xe

명령을 사용해서 로그를 살펴본다.

transmission-daemon -f --log-debug -g /etc/transmission-daemon/

중복

Couldn't bind port 51413 on 0.0.0.0: Address already in use (Is another copy of Transmission already running?) (net.c:371)

이미 다른 것이 포트를 차지하고 있다. 설치과정에서 트랜스미션이 이미 실행된 것임

프로세스를 죽이고 다시 시작해 본다.

그 외

그리고 서버로 받은 토렌트를 데스크탑에 받아서 보려면 삼바 (Samba) 로 윈도우와 공유하던지, 아니면 FTP 를 이용해야 된다.

Vsftpd 참조.

방화벽을 열어놓으려면 다음과 같이 한다.

ufw allow 9091

스크립트

종료/시작 시 자동으로 스크립트가 실행되도록 할 수 있다.

On Torrent Completion

Transmission can be set to invoke a script when downloads complete. The environment variables supported are:

TR_APP_VERSION
TR_TIME_LOCALTIME
TR_TORRENT_DIR
TR_TORRENT_HASH
TR_TORRENT_ID
TR_TORRENT_NAME
Here is an example script that sends an email when a torrent finishes.
#!/bin/sh
 
TARGET=/home/www/wiki/data/pages/magnet/$TR_TORRENT_HASH.txt
echo "======$TR_TORRENT_NAME====="  >  $TARGET
echo "/* $TR_APP_VERSION \n $TR_TIME_LOCALTIME \n $TR_TORRENT_DIR \n $TR_TORRENT_HASH \n $TR_TORRENT_ID */ \n \n {{$

Transmisson-remote-gui

uTorrent와 비슷한 화면을 제공하는 GUI프로그램. 웹으로 트랜스미션에 접속하는 것보다 친숙한 화면을 보여준다. 윈도우 용도 있어서 좋다.

최신 5.01

uid 변경

리눅스에서는 설정파일에서 정한대로 권한설정이 안된다는 이야기가 종종 인터넷에 올라온다. (버그라고..!)

이런 경우 권한 갖고 고생하지 말고, 트랜스미션 데이먼의 uid를 바꿔버리면 편하다. 예를들어 받은 파일을 ftp로 관리한다면 ftp 데이먼이랑 같게 만들면 된다.

이전

The solution to this is quite simple, though it took me quite a few hours of searching to figure it out.

1. Stop transmission:

sudo service transmission-daemon stop
sudo killall -HUP transmission-daemon

2. Open the transmission-daemon configuration file:

sudo mcedit /etc/init/transmission-daemon.conf
sudo mcedit /etc/init.d/transmission-daemon

Change the userid from debian-transmission to the desired user (USER):

setuid data 
setgid data

3. Change ownership of the settings.json file and the contents of /var/lib/transmission-daemon:

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

4. Start transmission:

sudo service transmission-daemon start

우분투 2016이후

Systemd를 사용하므로 바꿀 파일이 다르다.

/lib/systemd/system/transmission-daemon.service

"User=debian-transmission" 를 원하는 아이디로 수정하면 된다.

역링크