본문 바로가기

기존 글들/'17년도 이전 글들

라즈베리파이2, nas에서 xbmc(kodi)까지

반응형



라즈베리파이2를 샀습니다.


IoT 세미나 갔더니 라즈베리파이 쓴다고 하더라구요. 겁나게 삽질했는데 그래도 보람이 느껴지는...


이런걸로 스트레스 푸는 제 모습이 참 ㅠ_ㅠ


...어쨌든...(뭔 소리냐...)


NAS 구축이라고는 하지만, 삼버서버, ftp서버, 토렌트 서버 까지 구성입니다.

추가로 xbmc(kodi)까지


  • 필수 준비물은 

- 마이크로SD카드(리더기), HDMI 케이블, 전원어댑터, 외장스토리지, 키보드, 모니터, 다른 PC

- USB 전원어댑터는 마이크로 usb(스마트폰용)로 왠만하면 2A 이상, 외장하드는 2TB로 붙였습니다. 

- 마이크로 SD카드는 8기가면 충분하더라구요.

- 윈도우즈가 포팅할땐 낫듯 합니다. 저도 맥을 씁니다만...맥에서는 어떻게 포팅하는지 모르겠어요.


1. 마이크로 SD카드에 라즈비안 포팅

  • 공식사이트에서 라즈비안(RASPBIAN)을 받습니다.
- http://www.raspberrypi.org/downloads/



- 타 OS도 많은데, 저는 라즈비안을 깔았습니다(딴건 관심이 없습니다).
- RASPBMC는 XBMC OS인데 라즈비안보다 훨씬 가볍습니다. 미디어센터만 쓸꺼면 이걸 깔면 좋습니다.
  (어차피 UX도 똑같고)

  • Win32 Disk Imager 다운 받아 라즈비안을 포팅합니다.
- http://sourceforge.net/projects/win32diskimager/




- 대충 보시면 아시겠죠. Image File에 라즈비안 이미지, Device가 대상 마이크로 SD 카드, Write 클릭하면 포팅됩니다.

  • 이제 라즈베리파이를 HDMI케이블과 모니터를 연결하고, 키보드, 전원선, 랜선까지 연결하고 켭니다.




2. 라즈비안 초기설정

  • 전원을 켜면 아래와 같이 초기설정이 나옵니다.

- 이 화면을 다시 켜려면 명령어

- $ raspi-config




1) 1. Expand Filesystem을 선택, 마이크로 SD카드의 나머지 빈 공간을 확장합니다(엔터, 엔터하면 됩니다.).

→ 다른 PC에서 포팅된 마이크로 SD카드를 열어보면 아예 스토리지 공간이 비어있는걸 볼수 있습니다. 이걸 확장해 줍니다.

2) 2. Change User Password를 선택 PI 계정 비밀번호를 바꿔줍니다.

3) 4. Internationalisation Options 선택 (그런데, 안해도 크게 상관은 없는거 같아요)

 I1 Change Locale 선택, ko_KR.UTF-8 UTF-8 선택, 엔터, 엔터

 I2 Change Timezone 선택, Asia 선택, Seoul 선택

 I3 Change Keyboard Layout 선택, Generic 105-key (Intl) PC 선택, Other, Korean 선택, Korean - Korean (101/104 key compatible) 선택, 엔터, 엔터

4) Advanced Options 선택, A4 SSH 선택해서 SSH 활성화

- 나머지 설정들은 잘 몰라요.


  • finish로 나가고 자동으로 재부팅, IP주소 확인 (ssh 접속을 위해서)
- $ ifconfig




  • 여기서 부터는 ssh로 작업
  • windows에선 putty로, 맥에선 터미널에서 접속합니다.
- putty 설정은 아래와 함께 IP주소 넣고, 경고문 무시하고 yes




- 로긴 화면에서 pi, 비밀번호는 아까 바꿔준 걸로

- 맥에선 터미널에서 

→ $ ssh ID@[HOST] -p [포트번호]







  • root 계정 비밀번호 변경
- $ sudo passwd root
- 비밀번호 입력




  • 저는 pi 계정을 버리고 제 계정으로 새로 파서, 바꿔줬습니다(pi 계정 안 바꿀꺼면 넘어가도 무관).
1) 계정 새로 만들기
 $ sudo adduser 계정명
 비밀번호 입력
 값들은 그냥 엔터만 쳐도 무관
 마지막에 y




- root 계정 대신 sudo 치기 귀찮으니까 root 계정으로 변경

→ $ sudo su

 pi 계정은 기본적으로 root 권한을 갖습니다(위의 명령어는 계속 써먹길).
 $ exit  root 에서 다시 pi로 돌아감



2) 방금 추가한 계정에 아래와 같이 root 권한 부여

→ $ nano /etc/sudoers

→ 여기선 pi 권한은 지워줍니다.




 nano 는 Ctrl+O가 저장, Ctrl+X가 나가기


- 재부팅 후, 방금 만든 계정으로 들어가기

→ $ reboot 
→ 또는 shutdown -r now
→ 참고로 끄기는 shutdown -h now

3) pi 계정과 새 계정 바꾸기

 pi 계정의 home폴더를 날리면, 초기 설정 다 날라가서 흑백이 됩니다.


 폴더 소유를 새 계정으로 변경
 $ sudo chown -R 새계정:새계정 /home/pi


 새 계정 home 폴더 삭제 (주의! 경고 없이 모든 폴더 파일 날라갑니다)
 $ sudo rm -r /home/새계정


 pi 폴더를 방금 만든 계정폴더로 바꿉니다. 
 $ sudo mv /home/pi /home/새계정


  • ssh 접속 포트 변경

sshd_config 파일을 편집

 nano /etc/ssh/sshd_config

→ 포트 변경




  • 최신 업데이트 체크 및 실행
- $ sudo apt-get update && apt-get upgrade



3. 외장하드 연결

  • 초기에는 전력이 제한되어 있어서, 외장하드 연결하면 전력이 모자랍니다.
  • 아래의 설정 수정

$ sudo nano /boot/config.txt


  • 아래 옵션 두 개를 가장 상단에 추가(전력을 2a로 올립니다)

max_usb_current=2
safe_mode_gpio=4




  • 이제 라즈베리파이에 직접 외장하드를 연결해도 무리가 없습니다(물론 충전기는 2A 이상 쓰세요), 그리고 재부팅
- 그런데 2개의 외장하드 붙이니 안되더라구요. 계속 방법 찾는 중, 그냥 유전원 허브 붙였어요.

  • 저는 외장하드를 ntfs로 설정했습니다. ntfs 인식을 위해 ntfs-3g 설치
- $ sudo apt-get install ntfs-3g

※ 참고로 파일시스템을 exfat을 쓰려면 아래와 같이 설치

- $ sudo apt-get install exfat-fuse


  • 마운트할 폴더를 만듭니다(원하는 곳에).
- $ sudo mkdir /home/exHDD


※ 여기서 부터는 http://songsroom.tistory.com/315 참고 했습니다.


  • samba 및 transmission (토렌트 서버) 구성용 유저를 추가하고, 해당 볼륨의 권한 및 소유자를 설정
- transmission과 삼바는 그냥 계정 하나 돌리는게 편합니다. 
 (transmission은 2개의 계정 만드는게 어렵고, 삼바는 어차피 내부망...)


  • /exHDD 디렉토리를 홈으로 하는 새계정을 생성
- $ sudo useradd -d /home/exHDD 새계정 


  • 새계정의 패스워드 설정
- $ sudo passwd 새계정


  • 누구나 읽고 쓰고 지울 수 있게 권한 설정
- $ sudo chmod -R 777 /home/exHDD


  • /exHDD 디렉토리의 소유자를 새계정으로 변경
- $ chown -R 새계정:새계정 /home/exHDD


  • 권한 및 소유자 변경 확인
- $ ls -ls

- 아래와 같이 바뀐 것을 확인할 수 있습니다.




  • 하드 연결 확인(저는 2개의 외장하드를 연결했습니다)
- $ sudo blkid



  • mount 명령어 안쓰고, 그냥 자동으로 마운트 설정 하겠습니다. 
- $ sudo nano /etc/fstab


  • 아래에 다음과 같이 추가
    (외장하드를 2개 연결해서 그림과 조금 다릅니다)
/dev/sda1       /home/exHDD       ntfs    defaults        0       0




  • 재부팅
  • ntfs로 설정하면 다 좋은데, 권한설정이 힘듭니다 ;ㅁ;



4. samba 설정

  • samba 설치
- $ sudo apt-get install samba && apt-get install samba-common-bin

  • samba용 계정을 생성하고 비밀번호를 설정
- $ sudo smbpasswd -a 삼바계정

  • samba 서버 정지(안끄면 안됩니다)
- $ sudo /etc/init.d/samba stop

  • samba 서버 설정
- $ sudo nano /etc/samba/smb.conf


[global]은 아래 해당되는 것만 추가 (한글 사용 위한 설정입니다)

[global]
workgroup=WORKGROUP
dos charset = CP949
display charset = UTF8
unix charset = UTF8


아래 그냥 이거 복사해서 갖다 붙이세요.

[Raspberry]                               ##윈도우에서 표시되는 이름
comment = [유저설정 맘대로]
valid users = [위에서 설정한 계정]
path = /home/exHDD
guest ok = no
writable = yes
browseable = yes
create mask = 0777
directory mask = 0777


- 저장하고, 나옵니다.

  • samba 재시작
- $ /etc/init.d/samba start


  • windows PC에서 아래와 같이 확인


  • 맥에서는 파인더 -> 상단메뉴의 이동탭 -> 서버 -> samba서버 ip로 접속 

- smb://192.168.0.xx 


위에서 설정한 계정과 비밀번호로 넣으면 됩니다.




5. ftp 설정

  • vsftpd 설치

- $ sudo apt-get install vsftpd


  • vsftpd 설정

- $ sudo nano /etc/vsftpd.conf


  • 그냥 아래와 중복되는 거 다 주석 처리하고 맨 밑에 갖다 붙이세요. (검색: Ctrl + w)

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

chroot_local_user=YES


## ftp 접속시 vsftpd.chroot_list에 있는 계정 외에는 상위 폴더로 이동 금지

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list


## ftp 접속포트 변경. 기본 포트 21

listen_port=1234


- 저장


  • vsftpd.chroot_list 생성

- $ sudo nano /etc/vsftpd.chroot_list

- 계정이름 아래와 같이 그냥 나열하면 됩니다.



- 저장


  • ftp 재시작

- sudo service vsftpd restart


  • ftp 확인

- 안드로이드폰에서는 es 파일 탐색기, windows에선 파일질라 클라이언트, 기타 등등등으로 접속 확인



6. transmission (토렌트 서버 구성)

  • transmission-daemon 설치

- $ sudo apt-get install transmission-daemon


  • transmission-daemon 정지 (정지 안하면 아예 수정이 안됩니다)

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


  • 토렌트 폴더 생성

-$ sudo mkdir /home/exHDD/torrents


  • 토렌트 시드파일 폴더 생성

-$ sudo mkdir /home/exHDD/seeds


  • transmission 설정 수정

- 참고로 설정 내에서는 주석처리가 안됩니다.

- { (대괄호)와 " (따옴표) 주의

- $ sudo nano /etc/transmission-daemon/settings.json




"download-dir": "/home/exHDD/torrents",     ## 다운 완료 된 파일 폴더

"incomplete-dir": "/home/exHDD/torrents",    ## 다운 중인 폴더 설정인데 잘 안되는 듯? 그냥 끕니다-_-

"rpc-password": "계정비번",                 ## 입력하면 다음 접속시 자동으로 해쉬값으로 바뀝니다.

"rpc-port": 1234,                        ## (원하는 포트로)

"rpc-username": "계정명",              ## transmission 접속시 필요계정

"rpc-whitelist-enabled": false,        ## true 설정 시 rpc-whitelist 의 아이피만 접속 가능, 아무데서나 붙어야죠

"watch-dir": "/home/exHDD/seeds",  ## 이 폴더에 시드파일 넣을 시 자동으로 토렌트 다운

"watch-dir-enabled": true


- ,(콤마) 주의. 각 줄마다 ,가 들어가고 마지막엔 ,를 안찍습니다.


  • transmission-daemon 시작

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


웹에서 확인





  • 안드로이드 폰, 윈도우즈, 맥 등에서 Remote Transmission 깔아서 설정해 주면, uTorrent 처럼 쓸 수 있습니다.

- https://code.google.com/p/transmisson-remote-gui/




7. xbmc(kodi) 설치

  • 미디어센터입니다. xbmc에서 이름이 kodi로 바뀐듯?


  • kodi를 설치하기 위한 웹 값을 넣습니다. 아래 설정을 수정

- $ sudo nano /etc/apt/sources.list


  • 아래 웹 주소를 각 값과 함께 추가

deb http://archive.mene.za.net/raspbian wheezy contrib



또는,

키 값 추가 (위와 아래 하나만 하면 된답니다)

- $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED

이건 안되는 것 같아요.

  • 위의 키 값 업데이트

- $ sudo apt-get update


  • 설치 

- $ sudo apt-get install kodi


  • 추가 리포

- $ sudo aptitude update 

- $ sudo aptitude install kodi


  • 일단 한번 실행해 보죠. (원격이 아닌 로컬에서 직접 실행)

- $ sudo kodi




  • exit로 나가면 다시 원래 계정으로 안돌아 옵니다. 그냥 reboot 하던지 ssh로 작업





  • 아래 설정에 추가

- $ sudo nano /etc/udev/rules.d/99-input.rules

SUBSYSTEM=="input", GROUP="input", MODE="0660"

KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"    





  • 비디오 메모리 추가로 설정(기본값으로 하면 비디오 재생시 많이 느립니다)

-$ sudo nano /boot/config.txt


gpu_mem=256        ## 넉넉하게 주죠. 램도 1기가인데




  • 아래 설정에서 ENABLED=1 로 놓으면 라즈베리파이를 켜면 자동으로 kodi 가 실행됩니다.

- $ sudo nano /etc/default/kodi





  • 재부팅 하면, kodi가 다운되서 아무것도 안먹을 겁니다.

  • 아래 그룹에 kodi 계정을 추가해 줍니다.

- $ sudo adduser kodi adm

- $ sudo adduser kodi input


  • 재부팅하면 kodi가 딱하고 뜨는 걸 확인.


  • 한글설정

- system → settings  Appearance   skin  fonts 설정에서 Arial based로 변경




- 그 밑에 International에서 language  korean 으로 변경



- 한글 됐네요.




  • 스마트폰으로 kodi 컨트롤 하기

- 시스템 → 설정  서비스  웹서버

- 그 밑에 원격 제어 허용


  • 안드로이드는 Yatse가 좋은 것 같네요. 아래 설정(수정가능) 먹이면 컨트롤이 됩니다.

 


  • 스마트폰 kodi 리모콘 모습




※ 3월 21일 추가: 트랜스미션 시드파일 자동으로 삭제하기

  • 트랜스미션 중지

- $ /etc/init.d/transmission-daemon stop


  • 설정 세팅 들어가서

- $ nano /etc/transmission-daemon/settings.json


  • 아래 항목 수정

"trash-original-torrent-files": true,


  • 저장하고, 트랜스미션 다시 시작.

/etc/init.d/transmission-daemon start

  • 출처: http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=113&divpage=1&no=2071



※ 참고

  • 기본설정

- http://sonhc.tistory.com/433

- http://leaqua.mulple.com/blog/raspberry-pi-%EA%B0%80-%EB%8F%84%EC%B0%A9%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4/

- 참고로 위의 링크에서 usb 속도 명령어 적용하면, 커널 에러나서 부팅이 안됩니다.

- http://zetawiki.com/wiki/SSH_%ED%8F%AC%ED%8A%B8_%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0

- ssh 포트 


  •  samba, vftpd, transmission 설정

- http://songsroom.tistory.com/315


  • 전력설정

- http://www.rasplay.org/?p=8884


  • xbmc(kodi) 설정

- http://www.rasplay.org/?p=8884

http://michael.gorven.za.net/

- http://echo.tistory.com/43

-http://blog.naver.com/dev4unet/220278630592







반응형

'기존 글들 > '17년도 이전 글들' 카테고리의 다른 글

yoga 2 win 8인치 터치문제 해결  (0) 2015.05.25
라즈베리파이2 백업하기  (0) 2015.03.22
미밴드 구입기  (0) 2015.02.01
sam 샀다.  (0) 2014.10.01
소니 MW1 (Smart Wireless Headset pro)  (5) 2014.08.26