본문 바로가기
HW 프로그래밍/라즈베리파이

라즈베리파이를 토렌트 박스로 활용하기: Transmission-daemon

by N2info 2023. 7. 2.

 

 

 

토렌트를 한마디로 정의하면 분산화된 (P2P)파일공유 프토토콜이라고 할 수 있는데요. 이 새로운 파일공유 프로토콜은 2001년에 Bram Cohen 이라고 하는 프로그래머(당시 대학생이었다고 하네요~)에 의해 개발되었는데요. 파일 공유에 있어서 아주 혁신적인 발전을 이루어낸 방식이라고 합니다.

토렌트를 사용한 파일공유 방식은 아래 사진과 같이 한명의 업로더(토렌트에서는 씨더라고 부릅니다.)가 공유하고자 하는 파일의 씨앗(Seed)파일 또는 마그넷 주소를 공유하면 이 씨앗파일이나 마그넷 주소를 통해 파일을 다운받는 모든 다운로더끼리는 파일의 조각을 서로주고 받기 때문에 다운로드 속도가 획기적으로 올라갈 수 있는 방식이라고 합니다.(기존의 파일공유에서는 1:1로 파일을 주고 받았었습니다.)

 

토렌트의 파일공유방식(사진출처: 위키피디아)

sudo apt-get install transmission-daemon

이런 씨드파일을 추가해서 파일을 다운로드 받을 수 있게 해주는 프로그램을 토렌트클라이언트 프로그램이라고 부르는데요. 윈도우에서 가장 유명한 토렌트 클라이언트 프로그램은 BitTorrent와 uTorrent라는 프로그램이다.

라즈베리파이를 사용해서 토렌트클라이언트를 설치할 것이기 때문에 리눅스용클라이언트 프로그램을 사용해야 하는데요. 리눅스에서 많이 사용되고 유명한 토렌트클라이언트로는 Transmission과 Deluge가 있는데요. 이 중에서 Transmission를 사용해서 토렌트 박스를 구성하는 방법이다.

 

1. transmission 설치

먼저 

sudo apt-get update 
sudo apt-get upgrade

그 다음은 transmission 설치

torrent@torrentpi:~ $ sudo apt-get install transmission-daemon

 

설치후 자동으로 실행되는지 확인 

torrent@torrentpi:~ $ ps -ef | grep transmission
debian-+  2892     1 20 17:13 ?        00:02:37 /usr/bin/transmission-daemon -f --log-error
torrent   3122  1430  0 17:25 pts/1    00:00:00 grep --color=auto transmission
torrent@torrentpi:~ $

 

설정파일을 수정하기 위해 transmission-daemon 중지

torrent@torrentpi:~ $ sudo service transmission-daemon stop

 

설정파일 수정

torrent@torrentpi:~ $ sudo nano /etc/transmission-daemon/settings.json

 설정파일중 아래 부분만 수정

    #아래 내용만 수정함
    
    "download-dir": "/media/torrent/ttssd/movie",  #다운받는 디렉토리
    "incomplete-dir": "/media/torrent/ttssd/movie", #다운로드가 완료되지 않은 파일이 저장되는 디렉토리
    "rpc-authentication-required": true,
    "rpc-host-whitelist-enabled": true,
    "rpc-password": "{c16188496e4569874359068fc08d791934d381fcef4a7R9qbyA8f", #암호를 적으면 나중에 해시값으로 변경됨
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "아이디",
    "rpc-whitelist-enabled": false,
    "trash-original-torrent-files": true,  #다운로드 시작 시 토렌트 파일 자동 삭제

 

transmission-daemon 재시작

torrent@torrentpi:~ $ sudo service transmission-daemon stop
torrent@torrentpi:~ $ sudo service transmission-daemon start

 

2. torrent 파일을 저장할 위치 생성 및 설정

torrent@torrentpi:~ $ mkdir /home/pi/torrent/down
torrent@torrentpi:~ $ sudo chown pi:pi  # 사용하는 계정
torrent@torrentpi:~ $ sudo chmod 777 -R /home/pi/torrent/down
# /home/pi/torrent/down 디렉토리 및 하위 디렉토리에 모든권한을주는 명령

 

 3. windows와 공유를 위해 samba 설치

출처 : https://bebutae.tistory.com/65

 

1. 삼바란?

삼바는 윈도우에서 리눅스 혹은 유닉스로 파일 및 프린터를 공유할 수 있게 해주는 소프트웨어입니다.

윈도우의 네트워크 파일 시스템에 표준 프로토콜로 사용되고 있으며

쉽게 말해서 우리가 가진 윈도우 데스크탑이나 노트북과

라즈베리파이 사이에 파일 전송을 할 수 있게 해주는 소프트웨어입니다.

 

 

2. 삼바 설치하기

삼바를 설치하기에 앞서 다음 명령어를 입력하여 라즈베리파이를 업데이트해줍니다.

sudo apt update
sudo apt upgrade

업데이트가 완료되면

다음과 같은 명령어를 입력해서 삼바를 설치해주세요.

sudo apt-get install samba samba-common-bin

 

 

3. 삼바 사용법

우선 다음 명령어를 입력해 삼바에 사용할 계정과 비밀번호를 설정합니다.

sudo smbpasswd -a pi

삼바 연결에 사용할 ID를 pi라고 설정하였고.

패스워드를 입력하라는 문구가 출력되면 원하는 비밀번호를 입력하시면 됩니다.

 

이후 다음 명령어를 입력해 nano 편집기로 설정파일을 열어줍니다.

sudo nano /etc/samba/smb.conf

 

설정 파일의 가장 하단에 아래와 같은 텍스트를 추가합니다.

[pi]
    comment = pi shared folder
    path = /home/pi
    valid users = pi
    browseable = yes
    guest ok = no
    read only = no
    create mask = 0777

위 사진을 참고해서 작성해주세요.

comment는 유저 서버 설정에 대한 코멘트이고

path는 어떤 폴더를 공유할 것인지 적어주는 부분입니다.

valid users는 사용가능한 계정을 적어주는 부분이고

browseable은 공유 폴더의 목록을 보여주는 옵션,

guest ok는 게스트 계정의 접근을 선택하는 옵션,

read only는 읽기만 가능하게 하는 옵션,

create mask는 SAMBA로 파일 생성시 해당 파일에 대한 권한 설정입니다.

 

다 작성하셨다면

[ctrl+x] - [y] - [enter]를 순서대로 입력하셔서 nano 편집기를 빠져나옵니다.

 

이제 설정을 적용하기위해 SAMBA를 재시작하겠습니다.

sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart

재시작이 완료되면 윈도우의 탐색기 주소창에

 

\\라즈베리파이_IP\삼바_계정을 입력해주세요.

다음과 같이 로그인 화면이 나오고

로그인을 완료하시면 지정된 폴더로 접근이 가능합니다.