인터넷 검색하다가 찾은 사이트인데, 알아두면 언젠가 쓸만할 것 같아서 기록을 남겨둡니다.

http://www.makeuseof.com/tag/15-useful-commands-every-raspberry-pi-user-should-know/


* 버전 정보 보기

pi@RaspberryPi3:~ $ cat /proc/version
Linux version 4.9.31-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #1005 SMP Thu Jun 8 13:02:15 BST 2017

pi@RaspberryPi3:~ $ uname -a
Linux RaspberryPi3 4.9.31-v7+ #1005 SMP Thu Jun 8 13:02:15 BST 2017 armv7l GNU/Linux


* CPU 정보 보기

pi@RaspberryPi3:~ $ cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 1
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 2
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 3
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : BCM2835
Revision        : a02082
Serial          : 000000009ff5eecb


* 메모리 정보 보기 (현재 Kodi 동작 중)

pi@RaspberryPi3:~ $ cat /proc/meminfo
MemTotal:         750636 kB
MemFree:          291612 kB
MemAvailable:     600900 kB
Buffers:          152888 kB
Cached:           200668 kB
SwapCached:            0 kB
Active:           165568 kB
Inactive:         256416 kB
Active(anon):      69072 kB
Inactive(anon):     4948 kB
Active(file):      96496 kB
Inactive(file):   251468 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:                44 kB
Writeback:             0 kB
AnonPages:         68384 kB
Mapped:            74800 kB
Shmem:              5588 kB
Slab:              24476 kB
SReclaimable:      12760 kB
SUnreclaim:        11716 kB
KernelStack:        1512 kB
PageTables:         1960 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      477712 kB
Committed_AS:     512672 kB
VmallocTotal:    1310720 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
CmaTotal:           8192 kB
CmaFree:            6796 kB


* CPU 온도 체크

pi@RaspberryPi3:~ $ vcgencmd measure_temp
temp=53.7'C


* ARM/GPU 메모리 크기

pi@RaspberryPi3:~ $ vcgencmd get_mem arm
arm=752M
pi@RaspberryPi3:~ $ vcgencmd get_mem gpu
gpu=256M


Posted by kkokkal
:

가끔 인터넷에서 대용량 파일을 배포할 때 토렌트를 사용하는 경우가 있습니다. 불법적으로 돌아다니는 영화도 주로 토렌트로 공유가 되구요, 우분투나 라즈비안 Jessie 이미지도 토렌트를 이용하여 다운로드 받을 수 있습니다. 사실 토렌트 기술 자체는 꽤 괜찮은 기술이죠. 대용량 파일을 꽤 빠르게 다운받게 해주니까요.


여하튼 라즈베리파이에도 토렌트 클라이언트를 설치할 수 있습니다. 저는 라즈베리파이 하나를 서버처럼 사용할 것이기 때문에 라즈베리파이에 토렌트 클라이언트를 설치해놓으면 밤낮으로 쉬지않고 자료를 다운받게 되니 편리합니다. 라즈베리파이에서 주로 사용되는 토렌트 클라이언트 프로그램은 transmission입니다. transmission 프로그램을 설치하려면 터미널 창에서 sudo apt-get install transmission-daemon 명령어를 입력합니다.


위 그림에서 첫 번째 줄에 쓰여 있는 명령어 dpkg -l | grep transmission 명령은 현재 시스템에 transmission이라는 문자열이 들어가 있는 패키지가 설치되어 있는지를 확인하는 명령입니다. transmission-daemon을 설치했었는지가 문득 헷갈려서..


일단 transmission-daemon 프로그램을 설치하였으면 이번에는 transmission 설정 파일을 일부 편집해야 합니다. transmission-daemon 프로그램의 설정 파일은 /etc/transmission-daemon/settings.json 이고, 관리자 권한으로 수정해야 하므로 sudo vi /etc/transmission-daemon/settings.json 명령어를 입력하여 파일을 수정할 수 있습니다. 다만 이미 실행되고 있는 transmission-daemon을 일단 멈쳐야 합니다. 그러므로 다음과 같은 순서로 명령어를 입력합니다.

pi@RaspberryPi3:~ $ sudo /etc/init.d/transmission-daemon stop
[ ok ] Stopping transmission-daemon (via systemctl): transmission-daemon.service.
pi@RaspberryPi3:~ $ sudo vi /etc/transmission-daemon/settings.json


settings.json 파일에서 개인적으로 수정을 하였거나 관심을 가져야할 셋팅 정보를 아래에 정리했습니다.

"download-dir": "/mnt/TOSHIBA/Downloads", (<- "/var/lib/transmission-daemon/downloads")
"incomplete-dir": "
/mnt/TOSHIBA/Downloads/incomplete", (<- "/var/lib/transmission-daemon/Downloads")
"incomplete-dir-enabled": true, (<- false)
"rpc-password": "패스워드", (트랜스미션을 재시작하면 암호화되어 저장됨)
"rpc-port": 9091, (기본값임)
"rpc-username": "pi", (<- "transmission")
"rpc-whitelist-enabled": false, (<- true)


settings.json 파일 편집이 끝나면 transmission-daemon을 재시작합니다.

pi@RaspberryPi3:~ $ sudo /etc/init.d/transmission-daemon restart
[ ok ] Restarting transmission-daemon (via systemctl): transmission-daemon.service.


transmission-daemon을 재시작하였으면 이제 실제로 대용량 파일을 다운받아보겠습니다. 일단 transmission-daemon이 제공하는 웹 인터페이스에 접속을 해겠습니다. 앞서 setting.json 파일에서 rpc-port 라는 것을 9091번을 지정했는데, 웹 브라우저를 이용하여 이 포트로 접속을 하면 transmission 화면이 나타납니다. 예를 들어 위에서 설정한 라즈베리파이에 접속하려면 http://192.168.25.16:9091/ 로 접속을 합니다. 물론 내부 네트웍이니까 외부에서는 접속이 안되구요, 접속을 하면 앞에서 설정한 사용자 이름과 암호를 물어봅니다. 사용자 이름과 암호를 잘 입력하면 아래 그림과 같은 웹사이트로 접속이 되구요..


위 그림에서 주소창 바로 아래 툴바 아이콘 중에서 맨 왼쪽의 폴더 열기 같은 모양의 아이콘이 *.torrent 파일을 추가하는 인터페이스 모양입니다. *.torrent 파일 뿐만 아니라 마그넷 주소도 추가할 수 있습니다. https://www.raspberrypi.org/downloads/raspbian/ 사이트에서 라즈비안 Jessie 토렌트 파일을 다운받고, 다운받은 2017-04-10-raspbian-jessie.zip.torrent 파일을 업로드하면 아래 그림처럼 2017-04-10-raspbian-jessie.zip 파일을 다운로드 시작합니다.



Posted by kkokkal
:

개인적으로 라즈베리파이 하나는 Kodi를 활성화시키고 외장 하드를 달아서 멀티미디어 서버로 사용할 예정이라 외장 하드를 연결하는 방법을 정리해보겠습니다.

 

작년에 처음 라즈베리파이를 이용하여 Kodi 환경을 구성할 때 샀던 외장 하드는 도시바 칸비오 커넥트2(CANVIO Connect2) 2TB Black 제품입니다. 지금 다시 검색을 해보니 USB 3.0을 지원하는 모델이네요. 라즈베리파이에만 붙여쓰기에 뭔가 아까운 제품이군요. 기록을 위해 제품 사양을 백업해둡니다.

 

 

작년에 처음 라즈베리파이에 외장 하드를 달려고할 때 걱정했던 것은 혹시나 외장 하드가 전력이 약해서 제대로 동작하지 않으면 어쩌나 하는 것이었는데요, 다행히 동영상 파일이 제대로 읽히지 않는 문제 같은 것은 없었습니다. (지금 확인해보니 Kodi용으로 사용하던 라즈베리파이에는 5V/2.2mA 충전기를 사용하고 있었네요. 이번에 새로 셋업을 하면서 테스트했던 충전기는 5V/1.8mA 짜리였는데도 동작은 잘 했었습니다.)

 

PIXEL 윈도우가 떠있는 환경에서 라즈베리파이에 외장 하드를 연결하면 자동으로 인식하고 마운트까지 해줍니다.

 

[확인] 버튼을 눌러서 실제로 확인을 해보면 /media/pi/TOSHIBA 디렉토리로 마운트가 되어 있습니다. 제 외장 하드는 도시바 제품이고 레이블이 TOSHIBA로 되어 있어서 /media/pi/TOSHIBA 라는 폴더로 마운트가 됩니다.

 

실제로 마운트된 하드 디스크의 정보를 확인하려면 터미널 창에서 sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL 명령 또는 sudo blkid 명령을 입력해봅니다.

외장 하드가 /dev/sda1 장치로 연결되어 있고, /media/pi/TOS로 시작하는 이름으로 마운트가 되었다는 것을 확인할 수 있습니다. (실제로는 /media/pi/TOSHIBA 입니다. 터미널 창을 크게 만들면 전체 이름이 제대로 출력됩니다.) 또한 UUID가 E8~~~62이고, 파일 시스템이 ntfs인 것도 확인할 수 있습니다. 이 정보를 이용하여 라즈베리파이가 부팅할 때마다 자동으로 외장 하드를 마운트하도록 시스템 설정을 바꿀 겁니다.

 

일단 외장 하드의 파일 시스템이 ntfs인데요, ntfs 파일 시스템으로 된 외장 하드의 내용을 읽는 것은 기본 설정으로도 가능하지만 파일을 쓰기 위해서는 ntfs-3g 패키지를 추가로 설치해야 합니다. 그러므로 터미널 창에 sudo apt-get install ntfs-3g 명령을 입력합니다.

 

시스템이 부팅될 때 외장 하드를 자동 마운트를 하게 하려면 /etc/fstab 파일을 편집해야 합니다. (fstab은 file system table 약자입니다.) 보통은 "특정 UUID의 외장 하드를 OOO 디렉토리로 마운트를 하고 기본 속성은 XXX 형태로 설정해라"라는 의미의 명령줄을 입력해야하는데요, 이를 위해 먼저 마운트를 위한 디렉토리를 만들어야 합니다. 저는 /mnt/ 디렉토리 밑에 TOSHIBA 디렉토리를 만들고, 여기에 외장 하드를 마운트하도록 설정했습니다.

위에서 fstab 파일에 적어놓은 마운트 속성은 라즈베리파이 공식 사이트에 나와있는 설명을 일단 그대로 적었습니다. 나중에 필요하면 수정을 하면 되겠죠. fstab 파일 편집이 끝나면 시스템을 재부팅해서 /mnt/TOSHIBA 디렉토리에 외장 하드 파일이 나타나는지 확인하면 됩니다.

 

참고로 라즈베리파이 공식 사이트에서 설명하는 외장 하드 추가 방법은 아래 링크를 참고하면 됩니다.

https://www.raspberrypi.org/documentation/configuration/external-storage.md

 

(2017년 6월 20일 추가)

이전에 라즈베리파이 공식 사이트 설명을 참고해서 /etc/fstab 파일을 설정하였는데요, 이때 사용한 옵션이 그닥 좋은 옵션이 아닌 것 같습니다. 특히나 umask=000 으로 설정하면 디렉토리 뿐만 아니라 모든 파일의 권한이 777로 설정되면서 실행까지 가능한 형태로 생성이 됩니다.

 

아, 그 전에 ntfs 파일 형식을 사용하면 일반적인 리눅스에서 사용하는 파일 퍼미션 관련 설정(chown, chmod 등)을 할 수가 없네요. 그래서 ext4로 포맷을 해야하나 잠시 고민을 했었습니다만, 어차피 내부적으로만 사용하는 것이니 그냥 현재 ntfs 형식을 사용하기로 했습니다. (귀차니즘...)

 

그렇다 하더라도 모든 파일 권한이 777로 설정되는 것은 아닌 것 같습니다. 게다가 기존의 방식이라면 파일 소유주가 root입니다. 뭔가 너무 이상한 느낌이 들어서, fstab 매뉴얼을 뒤져봤습니다. 우분투 문서 쪽에 설명이 잘 되어 있더군요.

https://help.ubuntu.com/community/Fstab

이 내용을 기반으로 /etc/fstab 파일을 아래와 같이 변경했습니다. 이렇게 변경하면 외장 하드에 모든 파일과 디렉토리는 pi 소유로 생성되고, 파일은 664, 디렉토리는 777 형태로 생성이 됩니다. 일단은 이 형태로 써봐야겠습니다.

proc            /proc           proc    defaults          0       0
PARTUUID=9a0c5809-01  /boot           vfat    defaults          0       2
PARTUUID=9a0c5809-02  /               ext4    defaults,noatime  0       1
UUID=E8B88C56B88C2562 /mnt/TOSHIBA   ntfs   defaults,uid=pi,gid=pi,dmask=000,fmask=113,users,rw 0 0
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

 

Posted by kkokkal
: