2014-01-16

라즈베리파이 방열판 장착기

결론은 쓸모없는 구매였다...

 

아무튼 장착샷을 올린다.

 

장착전

2014 01 15 01 59 38

 

장착후

2014 01 15 02 03 37

 

장착후 측면

2014 01 15 02 03 47

 

장착후 케이스샷

2014 01 15 02 04 39

 

이렇게 테이프로 붙인다.

2014 01 15 02 09 12

 

장착후 온도

Screen Shot 2014 01 15 at 21 06 43

 

원래 58도 정도 했는데 3~4도 가량 떨어졌다. 뭐 크게 효과가 있는 것 같지는 않다. 뭐 지금은 겨울이니 여름 되면 역할을 할 지도…?

 

2014-01-13

라즈베리파이를 webcam 스트리밍 서버로 만들기

1. 먼저 웹캠을 준비하자. 호환목록 리스트는 다음과 같다.

http://elinux.org/RPi_USB_Webcams

 

내가 고른 웹캠은 Microsoft VX-2000 이것이다. 10달러에 저렴하게(?) 구입.

http://www.microsoft.com/hardware/en-us/d/lifecam-vx-2000

 

2. motion을 먼저 설치하고 나중에 웹캠을 연결한다. 이유는 모르겠지만 가끔 에러가 나서 그렇다.

sudo apt-get install motion

 

3. 웹캠을 연결하고 확인해 본다. 웹캠이 연결이 안되면 다음 단계로 못 간다. 잘 확인하자.

lsusb

pi@mika ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 005: ID 045e:0761 Microsoft Corp.
Bus 001 Device 006: ID 067b:2507 Prolific Technology, Inc. PL2507 Hi-speed USB to IDE bridge controller
pi@mika ~ $

 

4. 모션 설정파일을 수정한다.

sudo nano /etc/motion/motion.conf

 

다음과 같이 고친다.

daemon OFF 이것을 ON 으로 바꾼다.
webcam_localhost ON 이것을 OFF 로 바꾼다.

 

5. 모션 스타트업 파일을 수정한다. 기본적으로 off로 되어있다.

sudo nano /etc/default/motion

 

다음과 같이 고친다.

start_motion_daemon=no 를 yes로 고친다.

 

6. 모션 서버를 시작 한다.

sudo service motion start

 

7. 확인해 보자. 라즈베리파이아이피:포트번호8081 이렇게 입력 하면 된다. (크롬,사파리에서 버그가 있다. 아직 안됨, FireFox추천)

192.168.0.15:8081

 

포트포워딩이나 그런 것을 해야 할 수도 있지만 여기에선 생략한다.

 

다음과 같이 동작한다.

Screen Shot 2014 01 13 at 15 23 35

 

추가 팁:

a. 포트번호를 바꾸기. 기본적으로 8081 포트로 되어있다. 하지만 80으로 바꿔보자.

sudo nano /etc/motion/motion.conf

 

다음과 같이 고친다.

webcam_port 8081 이것을 80으로 번호를 바꿔준다.

 

재시작 한다.

sudo service motion restart

 

b. 프레임 텍스트를 크게 하자.

sudo nano /etc/motion/motion.conf

 

다음과 같이 고친다.

text_double off 이것을 on으로 바꾼다.

 

재시작 한다.

sudo service motion restart

 

 

참고:

http://pingbin.com/2012/12/raspberry-pi-web-cam-server-motion/

http://www.codeproject.com/Articles/665518/Raspberry-Pi-as-low-cost-HD-surveillance-camera

 

크롬버그 해결방법:

http://chris.gg/2012/07/using-a-ps3-eyetoy-with-the-raspberry-pi/

 

 

2014-01-12

맥에서 ssh 비밀번호 자동 저장하고, 자동접속 하기

매번 비밀번호 치는게 번거롭다.

 

1. 퍼블릭 키를 만든다. 터미널에서 한다.

ssh-keygen

 

질문을 3번 하는데 전부 엔터치면 된다. 이런 식이다.

이름@호스트 $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[엔터]
Enter passphrase (empty for no passphrase): [엔터]
Enter same passphrase again: [엔터]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host

 

2. 퍼블릭 키를 복사한다. 맥에는 기본적으로 ssh-copy-id가 없다. brew로 설치한다.

brew install ssh-copy-id

 

복사한다.

ssh-copy-id -i ~/.ssh/id_rsa.pub 사용자이름@리모트머신

 

3. 접속해 본다. 비밀번호 없이 된다!

ssh 사용자이름@리모트머신

 

 

참고:

http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/

2014-01-11

iPhone 4 iOS 6.1.3 완탈

반탈을 진행하고, 거기에 업뎃하는 방식이다. 약간 맘에 안들지만 뭐 잘 되니 그려려니 한다.

 

1. 먼저 반탈을 진행한다.

http://www.redmondpie.com/jailbreak-ios-6.1.3-on-pre-a5-iphone-and-ipod-touch-using-redsn0w-how-to-tutorial/

 

중요한 점은 6.1.3인데, 6.0.0 롬을 쓴다는 점이다. 그리고 cdma인지 gsm인지 잘 봐야한다.

 

황당한 점은 usb케이블인데, 하도 계속 실패해서, 케이블을 바꿔 보았더니 되는 거라! 이게 뭐냐 ㅠㅠ 계속 missing 어쩌고 떳음

 

2. 반탈하고 재부팅 하면 Cydia가 없다! 니미 뭐냐 ㅠㅠ 다시 탈옥툴로 재부팅을 해야 한다. 재부팅 하면 시디아 있다. 기둥 뒤에 있었니?ㅠㅠ

http://www.iphonehacks.com/2013/03/jailbreak-ios-6-1-3-using-redsn0w.html

 

3. 완탈패치를 한다.

http://www.redmondpie.com/how-to-jailbreak-ios-6.1.3-6.1.5-untethered-with-p0sixspwn/

 

GPT Partition 지우기

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

 

이런 에러가 있다. 에러는 아니고 그냥 괜찮은 경고다. 하지만 이걸 없애고 싶다.

 

1. 없앨 하드를 확인한다.

sudo fdisk -l

 

2. parted 로 지운다. (X는 번호다)

sudo parted /dev/sdX

 

다음을 실행한다.

mklabel msdos

 

물어본다. 지울꺼냐고?

Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk
will be lost. Do you want to continue?
Yes/No? yes

 

또 물어본다.

Warning: /dev/sda contains GPT signatures, indicating that it has a GPT table. However, it
does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted
-- possibly by a program that doesn't understand GPT partition tables. Or perhaps you
deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition
table?
Yes/No? yes

 

나간다.

quit

 

 

참고:

http://ubuntuforums.org/showthread.php?t=1973295

2014-01-10

라즈베리파이 자동 로그인, 자동 스크립트 실행하기

1. 자동로그인 설정

파일을 연다.

sudo nano /etc/inittab

 

이것을 찾아 주석처리한다. 주석처리는 #을 앞에 붙이면 된다.

1:2345:respawn:/sbin/getty 115200 tty1

이것을

#1:2345:respawn:/sbin/getty 115200 tty1

로 바꾼다.

 

그리고 이것을 추가한다.

1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

 

2. 자동스크립트 실행시키기

파일을 연다.

sudo nano /etc/rc.local

 

여기다가 추가할 프로그램을 넣는다. 예를 들어 자동으로 GUI 환경이 실행되게 한다. 이것을 추가한다.

su -l pi -c startx

 

재부팅 하면 된다.

 

 

참고:

http://elinux.org/RPi_Debian_Auto_Login

라즈베리파이에 설치된 워드프레스 속도를 향상시키기! (apache2 사용자)

약 4배정도의 속도 향상이 있었다. 무조건 해야 하는 작업이다. apache2 사용자를 위한 것이며 nginx나 다른 기타 사용자는 안 된다고 한다. 캐슁을 해서 라즈베리파이의 웹서비스 능력을 향상시킨다고 한다.

 

1. php-apc과 친구들을 설치한다. 필요한 것들도 먼저 깐다.

apc 설치 중에 뭘 물어본다. 기본 값으로 그냥 엔터만 치면 된다고 한다. no no no no 마지막이 yes 였던걸로 기억한다. (원저자가 그냥 디폴트값으로 엔터만 치면 된다고 보증을 했다…ㅡㅡ)

sudo apt-get install libpcre3-dev php-pear php5-dev

sudo pecl install apc

 

2. php.ini를 수정한다.

sudo nano /etc/php5/apache2/php.ini

다음을 맨 뒤에 추가한다.

extension = apc.so

apc.enabled = 1

apc.include_once_override = 0

apc.shm_size = 256

 

3. 아파치2 재시작

sudo service apache2 restart

 

4. Fast CGI 슈퍼캐시를 쓰자. 뭔지 모르겠지만 캐슁으로 속도를 올리는 작업이다. 약간 복잡하며 컴파일이 있다.

a) 필요한 것들을 깐다.

sudo apt-get install  apache2-threaded-dev debhelper cdbs  dpatch libtool 

 

b) 소스 리포를 수정한다.

sudo nano /etc/apt/sources.list

 

요것을 추가한다. (non-free인걸 보니, 이것은 공짜가 아닌가 보다. 하지만 공짜로 설치가 된다.)

deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

 

리포를 업데이트한다.

sudo apt-get update

 

c) Fast CGI 설치한다. 시간이 조금 걸린다. 컴파일도 한다.

sudo apt-get -b source libapache-mod-fastcgi

dpkg -i libapache2-mod-fastcgi*.deb

 

d) 아파치에도 수정을 좀 가해야 한다. 이건 뭔지 모르겠다. 그냥 치면 알아서 된다. 혹시 에러나나 잘 보자. 안 되면 sudo로 해 본다.

a2enmod actions

 

e) Fast CGI 권한설정

sudo mkdir /var/www/fastcgi

sudo chown www-data:www-data /var/www/fastcgi

 

f) Fast CGI 마무리

sudo nano /etc/apache2/mods-available/fastcgi.conf 

 

다음을 추가한다. 원문과 약간 다른 점이 있다. 안 되면 주석 #을 뺏다 넣었다 해 보자. (하다 보니 되더라) 이 부분에서 막혔는데 이렇게 약간 고치니 해결됐다.

###################################

### wordpress on raspberry pi make faster

### http://c-mobberley.com/wordpress/index.php/2013/04/30/raspberry-pi-web-server-s$

AddHandler fastcgi-script .fcgi

#FastCgiWrapper /usr/lib/apache2/suexec

# FastCgiIpcDir /var/lib/apache2/fastcgi

Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi

AddHandler php-script .php

FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock

Action php-script /php5.fastcgi virtual

# This part is not necessary to get it to work, but it stops anything else from b$

# accessed from it by mistake or maliciously.

# Order allow,deny

# Order deny,allow

####################################

 

5. 아파치2를 재시작 한다. 재시작이 올바로 되면 끝이다. 속도가 한 4배 빨라졌을 것이다.

sudo service apache2 restart

 

 

출처:

http://c-mobberley.com/wordpress/index.php/2013/04/30/raspberry-pi-web-server-speed-optimisation-for-slow-wordpress-owncloud-issues/

라즈베리파이에서 워드프레스 upload size 늘리기 (apache2 사용자)

찾아봐도 없길래 고생했다.

 

apache2 사용자는 아파치를 고쳐야 한다. 이 문제는 워드프레스와 연관이 없다! 아파치 사용자가 아니면 이 방법은 소용이 없다.

 

php.ini 파일을 찾는다.

sudo updatedb

locate php.ini

 

이 두 군데에 파일이 있다고 나왔다. 

/etc/php5/apache2/php.ini

/etc/php5/cli/php.ini

 

나는 apache2를 쓰니까 이걸 고친다.

sudo nano /etc/php5/apache2/php.ini

 

다음을 고친다. 파일이 내용이 많고 길다. alt+w로 find 찾아서 고친다. 기본 값은 2M다.

upload_max_filesize = 999M

post_max_size = 999M

 

아파치를 재시작한다.

sudo service apache2 restart 

 

워드프레스 가보면 바뀌어 있다.

Screen Shot 2014 01 10 at 6 32 09

 

참고:

http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size

라즈베리파이에 WordPress 설치하기 (MySQL)

라즈베리파이에 워드프레스를 설치하자!

 

Wp


라즈베리파이를 웹 서버로 만들자! 거기에 워드프레스도 설치해보자! MySQL이 조금 복잡했는데, 나머지는 쉽다! 내 방에 내 소유의 25$짜리 웹서버를! 싸구려라 약간 느리긴 한데 그래도 쓸만하다!


1. 준비과정, 설명생략

sudo apt-get install apache2 php5 libapache2-mod-php5

sudo service apache2 restart

sudo apt-get install mysql-server mysql-client php5-mysql

sudo chown -R pi /var/www

sudo apt-get install vsftpd

sudo nano /etc/vsftpd.conf

   주석처리

      anonymous_enable=YES

   추가

      anonymous_enable=NO

      local_enable=YES

      write_enable=YES

      force_dot_files=YES.

sudo service vsftpd restart

 

2. 워드프레스 다운받기

폴더로 간다.

cd /var/www

 

소유권한을 확인하고 아니면 다시 pi로 해 준다.

sudo chown -R pi /var/www

 

워드프레스를 다운 받고 압축을 푼다.

wget http://wordpress.org/latest.tar.gz

sudo tar -xzvf latest.tar.gz

 

3. 호스트 작업하기

대부분의 공유기가 NAT loopback이 지원이 안 돼서 내부 주소랑 외부 주소가 다르다. 황당하게도 내가 만든 웹 사이트 주소로 우리 집에서 안 들어가진다! 어쩔수 없이 hosts를 바꾼다. 보통 라즈베리파이를 리모트머신으로 쓰기 때문에, 작업하는 컴퓨터에서 수정을 해야 한다. 나는 맥을 쓰므로 맥 기준으로 설명한다.

 

라즈베리파이의 내부 아이피 확인한다. ifconfig로 inet addr: 를 확인한다. 보통 192.168.x.x 로 되어있다.

 

호스트 파일을 연다.

sudo nano /private/etc/hosts (맥)

sudo nano /etc/hosts (리눅스)

 

파일 뒤에 추가한다. 호스팅 주소는 웹호스팅이나 무료 ddns서비스를 이용한다.

라즈베리파이의-내부-아이피   호스팅주소

 

실제 나의 셋팅은 이렇다.

192.168.0.123   jonghyunkim.dlinkddns.com

 

4. MySQL 셋업하기 (이 부분이 제일 까다롭다.)

만약 설치가 안 됐으면 설치한다. 아마 설치 중간에 계정 이름과 비밀번호를 물어볼 것이다. 이 비밀번호를 잘 기억하자! 나중에 다시 쓴다.

sudo apt-get install mysql-server mysql-client php5-mysql

 

셋업으로 들어간다. 아이디는 root라고 가정한다. 비밀번호 물어보면 입력한다.

mysql -u root -p

 

데이터베이스를 만든다.

CREATE DATABASE wordpress;

 

권한을 준다. 이 부분이 제일 중요하다. 호스트네임은 localhost가 아니라 실제 웹 주소다. (예: myhost.com)

GRANT ALL PRIVILEGES ON wordpress.* TO “워드프레스-유저네임”@"호스트네임"

 

워드프레스-유저네임은 잘 기억해 둔다. 설치할 때 나중에 다시 입력해야 한다.

 

세팅을 마무리 한다.

FLUSH PRIVILEGES;

 

워드프레스 공식 홈피에 나온 설명을 복사해서 붙여본다.

$ mysql -u adminusername -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5340 to server version: 3.23.54

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql> CREATE DATABASE databasename;

Query OK, 1 row affected (0.00 sec)

 

mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname"

    -> IDENTIFIED BY "password";

Query OK, 0 rows affected (0.00 sec)

  

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)

 

mysql> EXIT

Bye

 

5. 워드프레스 설치하기

먼저 소유권한을 바꿔줘야 한다. 안 하면 에러난다.

sudo chown -R www-data.www-data /var/www/wordpress/

 

호스트 설정을 확인한다. 이거 안 하면 집에서 설치 못한다. 피씨방 가서 설치하거나 핸드폰 3g로 접속해야 한다. 핑이 안오면 호스트 설정 다시하자.

ping 내호스트주소

 

웹페이지를 열고 접속한다.

http://내호스트주소/wordpress

 

파일이 없다고 한다. 그럼 다음을 누르자. 그럼 이런 화면이 뜨면 이렇게 입력한다.

800px install step3

 

다음에 유저네임은 아까 MySQL에서 설정한 그 유저네임을 적는다. 

800px install step5

 

6. 이게 끝은 아니다. 약간의 작업이 남았다. 설치 후 해야 할 일

웹에서 업로드 가능하게 소유자를 바꿔준다. 아까 해놨는데, 설치 프로그램이 다시 돌려놨다 ㅠㅠ

sudo chown -R www-data.www-data wp-content/

 

 

끝났다. 접속해 보자.

http://내호스트/wordpress

 

3g 핸드폰이나 피씨방에서 접속해 보자. 모바일도 지원된다.

Screen Shot 2014 01 10 at 4 58 59

 

모바일 페이지다.

2014 01 10 04 58 30

 

끝.

 

참고:

http://www.wikihow.com/Make-a-Raspberry-Pi-Web-Server

http://codex.wordpress.org/Installing_WordPress

리눅스에서 라즈베리파이 SD CARD 백업하고 복원하기

1. 리눅스에 카드를 넣는다.

 

2. 어떤 카드인지 확인

sudo dmesg | tail

 

나는 sdb1으로 확인이 되었다. 하부 파티션이므로 sbd1 이더라도 sbd로 사용한다. 숫자1은 뺀다.

 

3. 이미지를 복사한다.

 

a> 첫번 째 방법, 압축없이, 편의상 홈폴더(~/)에 한다.

sudo su

dd bs=4M if=/dev/디스크(번호없이) | pv | dd of=~/파일.img

 

a> 복원하기

sudo su

dd if=~/파일.img |pv| dd bs=4M of=/dev/디스크(번호없이)

 

b> 두 번째 방법, 압축해서 복사, `date +%d%m%y`은 날짜를 자동으로 입력해 주는 스크립트다.

sudo su

dd bs=4M if=/dev/디스크(번호없이) | gzip > ~/파일이름`date +%d%m%y`.gz

 

b> 복원하기

sudo su

gzip -dc ~/이미지.gz |pv| dd bs=4M of=/dev/디스크(번호없이)

 

 

참고:

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=91&t=46911

라즈베리파이 필수 설치목록

필수 설치목록

 

~/.profile

###### jong modified

### lsn, ls -al with numberic permissions by jong

### http://agileadam.com/ls-al-octal-permissions

 

#without color

#alias lsn="ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

 

#with color

alias lsn="ls -alG --color=always | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

 

 

### bootlogd - with color

alias bootlogd-sed="sed 's/\^\[/\o33/g;s/\[1G\[/\[27G\[/' /var/log/boot"

 

 

### sudo shutdown -h now

alias oyasumi="echo 'sudo shutdown -h now' && sudo shutdown -h now"

 

 

### show installed list of packages

alias installed-package-list="grep install /var/log/dpkg.log"

 

 

### vnstat

alias vnstat-eth0="vnstat -i eth0 -ru -l"

alias vnstat-wlan0="vnstat -i wlan0 -ru -l"


/boot/config.txt 모니터 패치

### 4.3 inch monitor

sdtv_mode=0      #for NTSC

sdtv_aspect=3    #for 16:9

 

framebuffer_width=480

framebuffer_height=272

 

disable_overscan=1 #non-intuitive but the overscan_scale does the work

overscan_scale=1 #currently undocumented but works

overscan_left=16

overscan_right=16

overscan_top=8

overscan_bottom=8

 

설치할 것

bootlogd 부팅로그확인

htop 시스템 사용량 top보다 사용편리

locate 파일 찾는 필수유틸, 파이에 없다

vnstat 네트워크 사용량 체크

avahi-daemon 컴퓨터이름.local 로 네트워크에서 접속 가능

 

제거할것

wolfram* 제거 (500메가나 함)

라즈베리파이 키보드나 마우스 안 꼽으면 에러 메세지

Error opening '/dev/input/event*': No such file or directory

 

이놈이다.

 

마우스나 키보드가 없으면 에러가 난다. 걱정하지 말자.

 

참고:

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=17788&p=

라즈베리파이 static ip

1. 파일을 백업한다.

sudo cp /etc/network/interfaces /etc/network/interfaces.original

 

2. 파일을 수정한다.

sudo nano /etc/network/interfaces

 

공유기의 주소가 192.168.0.1 이라고 가정한다. 세 번째 주소는 항상 0이 들어간다. 만약 1이면 모든 숫자를 1로 한다.

 

iface eth0 inet static
   address 192.168.0.123
   netmask 255.255.255.0
   gateway 192.168.0.1
   network 192.168.0.0
   broadcast 192.168.0.255

 

123의 주소로 수동설정 했다. 실수하면 네트워크 접속이 안 되니까 신중하게 다시 확인해 보자.

 

192.168.0.123이 이제 나의 주소이다.

 

3. DNS 네임서버를 수정한다.

sudo nano /etc/resolv.conf

 

다음과 같이 고친다. "내주소.컴” 은 각자의 홈페이지 주소다. 

search 내주소.컴
server 8.8.8.8

 

끝.

 

참고: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=49350

4,3인치 미니모니터 라즈베리파이에 설치하기

4,3인치 미니모니터 라즈베리파이에 설치하기

 

물건:
http://www.amazon.de/TaoTronics%C2%AE-TT-CM05-modische-Digital-Monitor/dp/B0058S323Q/ref=cm_cr_pr_product_top


1382847 668512399839906 1181294624 n

 


1. 설정파일을 백업한다.

sudo cp /boot/config.txt /boot/config.txt.original


2. 설정파일을 연다.

sudo nano /boot/config.txt


3. 다음을 추가한다.

### 4.3 inch monitor
sdtv_mode=0 #for NTSC
sdtv_aspect=3 #for 16:9

framebuffer_width=480

framebuffer_height=272

disable_overscan=1 #non-intuitive but the overscan_scale does the work

overscan_scale=1 #currently undocumented but works
overscan_left=16
overscan_right=16
overscan_top=8
overscan_bottom=8

 

4. 폰트 키우기 설정창을 연다.

sudo dpkg-reconfigure console-setup    (시간이 좀 걸림)


5. 다음과 같이 차례로 선택한다.

UTF-8

Guess Optimal

TerminusBold

8x16


6. 재부팅 한다.

sudo reboot


2014-01-09

라즈베리파이에서 citadel 컴파일 하기

먼저 필요한 것을 깐다. 이거 없으면 중간에 에러남

sudo apt-get install gettext

 

만약에 설치 중간에 에러가 나면 로그파일을 잘 봐야한다.

cat 로그파일 | tail

 

이지 인스톨

curl http://easyinstall.citadel.org/install | sh

 

2시간 정도 걸린다.

2014-01-08

맥/리눅스 라즈베리파이 SD Card 복사(clone)하기

터미널에서 SD Card 위치 확인하기

(맥) diskutil list

(리눅스) sudo dmesg | tail

 

1. 일반복사

sudo  dd  if=/dev/disk번호  of=~/Desktop/Pi.img

 

2. 안전복사, bs=1는 block size다

sudo  dd  if=/dev/disk번호  of=~/Desktop/Pi.img  bs=1m

 

3. 압축복사, 16기가가 2기가로 줄여버린다. (리눅스에서는 bs=1m을 bs=1M로 고친다)

sudo  dd  if=/dev/disk번호  bs=1m  |  gzip  >  ~/Desktop/Pi.gz

 

4. 복사 하는 중에 진행 상황 보기, pv설치 필요

 

pv설치

(맥) brew install pv    /  (리눅스) sudo apt-get install pv  

 

pv활용 (리눅스에서는 bs=1m을 bs=1M로 고친다)

sudo  dd  if=/dev/disk번호  bs=1m  |  pv  |  dd  of=~/Desktop/Pi.img

 

5. 진행상황 보면서 압축복사 (리눅스에서는 bs=1m을 bs=1M로 고친다)

sudo  dd  if=/dev/disk번호  bs=1m  |  pv  |  gzip  >  ~/Desktop/Pi.gz

 

복사된 이미지는 바탕화면에 있다.

 

참고:

http://stackoverflow.com/questions/14203873/cloning-a-bootable-sd-card-from-linux-using-dd-command

http://smittytone.wordpress.com/2013/09/06/back-up-a-raspberry-pi-sd-card-using-a-mac/

2014-01-06

라즈베리파이로 메일서버 만들기 (Citadel)

설치는 금방 끝났는데, 스마트 호스트가 오래 걸렸다. Smart hosts가 안 돼있으면 받는 건 되는데 나가는 outgoing이 안 됨

 

다시 정리해서 적어야 함.

 

NO-IP 설정

Screen Shot 2014 01 06 at 15 29 44

Citadel 설정

Screen Shot 2014 01 06 at 15 40 39

 

 

추가: 버그 citadel UID User가 citadel이 아닌 숫자 98로 나타나는 버그 >> 그래서 퍼미션 에러 남

sudo dpkg-reconfigure citadel-server

sudo chown citadel:citadel /etc/citadel/netconfigs

sudo service citadel restart

sudo /usr/lib/citadel-server/setup

엔터치다가 UID 나오면 citadel로 바꿈.

해결

재부팅

 

--------------------------------------

 

참고: 일반적인 설치

기본설치

http://www.ducky-pond.com/posts/2012/Jul/installing-citadel-on-rpi/

 

NO-IP 데비앙 세팅

http://www.ducky-pond.com/posts/2012/Jul/dynamic-dns-with-no-ip-on-debian/

 

프록시서버 8504로 설정

http://www.ducky-pond.com/posts/2012/Sep/proxy-citadel-using-apache-on-rpi/

 

참고: 나가는 메일이 안되는 현상

스마트호스트 (규격)

http://www.citadel.org/doku.php/documentation:mail_terms

 

나가는 포트 검사

http://www.citadel.org/doku.php/faq:troubleshooting:outbound_mail

 

스마트호스트 이름 (내전화번호@o2online.de:비밀번호@smtp.alice.de:25)

http://hilfe.o2online.de/t5/Internet/Alle-Einstellungen-f%C3%BCr-IMAP-SMTP-POP3/ta-p/200046

 

o2 포트포워딩

http://hilfe.o2online.de/t5/Erste-Hilfe/Einstellungen-Mobiltelefon-manuell-einrichten/ta-p/143574#evp

 

라즈베리파이로 웹서버 만들기

웹서버를 만들어 보자.

 

1. 안전을 위해 비밀번호를 바꿔준다. 기본 계정은 pi다. 비밀번호를 잊어먹지 않는다!

passwd pi

 

2. 웹서버의 날짜가 중요하다. 날짜와 시간을 정확히 맞추자. 지역을 선택하면 알아서 맞춰준다.

sudo dpkg-reconfigure tzdata

 

3. 웹서버를 설치하고 재시작한다.

sudo apt-get install apache2 php5 libapache2-mod-php5

sudo service apache2 restart

 

*** 에러발생?

restart 시 에러가 발생할 수 있다. 

pi@iu ~ $ sudo service apache2 restart
[....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

 

에러 해결법 설정파일을 연다.

sudo nano /etc/apache2/apache2.conf 

 

다음을 파일의 맨 끝에 추가한다.

ServerName localhost

*** 에러해결!

 

4. 테스트를 해 본다.

내부 ip를 웹브라우저에 적으면 It works 라고 나올 것이다.

 

5. MySQL을 설치한다.

sudo apt-get install mysql-server mysql-client php5-mysql

 

6. 만들어진 웹 서버의 파일저장소의 소유권을 가진다.

sudo chown -R pi /var/www

 

6. 파일서버(ftp)를 설치한다.

sudo apt-get install vsftpd

 

7. 파일서버를 수정한다.

sudo nano /etc/vsftpd.conf

 

편의상 주석처리한 후 다시 쓰겠다.

anonymous_enable=YES 를 #anonymous_enable=YES 로 주석처리한다.

 

파일의 끝에다가 이것을 붙여 넣는다.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp

 

마지막엔 이것도 추가한다. (웹서버를 위한 것 /var/www/)

force_dot_files=YES

 

파일서버를 재시작한다.

sudo service vsftpd restart

 

8. 홈폴더(~/)에다 바로가기를 만들어 준다.

ln -s /var/www/ ~/www

 

9. DDNS와 포트포워딩을 한다. 포트는 80번이다. 귀찮으면 DMZ로 한다.

 

임시로 만들어진 웹 페이지이다. 이제 열심히 웹 프로그래밍을 공부하자.

Screen Shot 2014 01 06 at 4 33 17

 

 

추가: 아파치2 문제 해결

 

간혹 에러가 뜬다.

Screen Shot 2014 01 06 at 4 55 00

 

해결방법은 이렇다.

 

새 문서를 만든다.

sudo nano /etc/apache2/conf.d/name

 

문서는 비어있고 다음을 적는다.

ServerName localhost

 

아파치를 재시작한다.

sudo service apache2 restart 

 

추가: MySQL 에러?

 

에러처럼 보이는데 에러가 아닙니다. 정상 메세지 입니다.

[info] Checking for tables which need an upgrade, are corrupt or were not closed cleanly..

 

참고:

http://www.wikihow.com/Make-a-Raspberry-Pi-Web-Server

 

아파치2문제해결(본문이 아니라 밑의 첫 리플이 해답)

http://aslamnajeebdeen.com/blog/how-to-fix-apache-could-not-reliably-determine-the-servers-fully-qualified-domain-name-using-127011-for-servername-error-on-ubuntu

 

마이에스큐엘 에러?

http://www.2by2host.com/articles/corrupt-not-cleanly-closed-upgrade-needing-table/

라즈베리파이로 FTP 파일 서버 만들기

FTP 서버를 만들어 보자.

 

1. 파일서버를 설치한다.

sudo apt-get install vsftpd

 

2. 설정파일을 고친다.

sudo nano /etc/vsftpd.conf

 

편의상 주석처리한 후 다시 쓰겠다.

anonymous_enable=YES 를 #anonymous_enable=YES 로 주석처리한다.

 

파일의 끝에다가 이것을 붙여 넣는다.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp

 

마지막엔 이것도 추가한다. (웹서버를 위한 것 /var/www/)

force_dot_files=YES

 

3. 서버를 재시작한다.

sudo service vsftpd restart

 

4. 파일폴더를 만들고, 권한설정을 한다. <user>는 pi로 바꾸면 된다.

mkdir /home/<user>/ftp
mkdir /home/<user>/ftp/files
chmod a-w /home/<user>/ftp

 

5. 상단 공유기에서 21번 포트를 열어줘야 한다. FTP는 21번 SFTP는 22번이다. 귀찮으면 DMZ ip로 설정하면 된다.(단 보안에 주의)

 

6. DDNS설정을 한다. ddns서버 이름을 적으면 외부에서도 접속이 가능하다. ftp://주소 이것도 가능.

 

사용방법은 다음과 같다. 파일질라가 유명하다.

Screen Shot 2014 01 06 at 3 38 03

 

웹에서 ftp://주소 로 들어가도 된다.

Screen Shot 2014 01 06 at 3 43 20

 

7. 공유기 설정

인터넷라인 — 공유기1 — 공유기2 — 서버

 

최상단 공유기1의 설정이다. (유럽은 아직도 느린 ADSL회선이다. 한국이랑 전화방식 모뎀이 틀리다.)

DDNS 설정은 최상단에서 해야한다.

Screen Shot 2014 01 06 at 3 46 46

 

하단 공유기2 DMZ 설정이다.

Screen Shot 2014 01 06 at 3 49 08

 

 

참고:

http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/

맥에서 라즈베리파이 Raspbian-wheezy SD Card 굽기

맥에서 편하게 라즈베리파이 SD Card를 만들 수 있다. 하지만 정해진 방법을 따르지 않으면 에러가 난다. 자 해보자.

 

Mac OS X Mavericks에서 진행하였다. 잘 된다.

 

1. 공식 SD Formatter를 받는다. 이걸로 포맷을 안 하고, 맥 기본 유틸로 하면 에러난다. 반드시 이것을 쓰자.

https://www.sdcard.org/downloads/formatter_4/eula_mac/

 

2. RPi Card Builder 를 받는다.

http://alltheware.wordpress.com/2012/12/11/easiest-way-sd-card-setup/

 

3. 라즈베리파이 공식 OS인 Raspbian wheezy를 받는다.

http://www.raspberrypi.org/downloads

 

밑에 있는걸로 받는다. NOOBS 이거 아니다.

 Screen Shot 2014 01 05 at 21 08 15

 

직접 받거나 토렌트로 받는다. 토렌트가 더 빨리 받아진다.

 

4. 파일이 제대로 되었는지 확인한다. sha1 checksum을 해본다. 이것은 파일이 원본과 같은지 검증하는 과정이다.

 

맥에서 터미널을 연다.

openssl sha1 파일이름.zip

 

위 스샷에 나온 것과 같은지 대조해 본다. 위에는 

체크섬: ade48c874f8e4b694175de4c87d7357960961fbf

 

비교해 보고 같으면 파일을 맞게 받은 것이다. 압축을 풀면 img 파일이 나온다.

 

5. 설치한다. 과정은 간단하다. 하지만 함정이 있다.

 

sd-formatter로 포맷 한다. 관리자 암호를 물어본다. 퀵포맷으로 한다.

Screen Shot 2014 01 05 at 21 14 16

 

RPi Card Builder 실행시킨다. 이미지 파일이 어딨냐고 물어본다. 그러면 카드를 꼽았냐고 물어본다. 여기서 조심해야 한다!

Screen Shot 2014 01 05 at 21 16 01

 

먼저 Select None을 누르고 해당 카드를 선택해야 한다. 안 그러면 모든 하드가 다 날라간다!!!!!

 

기다리면 끝난다.

 

 

참고:

http://elinux.org/RPi_Easy_SD_Card_Setup

 

라즈베리파이 외장하드 연결 시 "Cannot check root file system because it is not mounted read-only. [FAIL] failed!"

오랫만에 재부팅 했더니 이런 메세지가 나온다. 빨간색으로 뭔가 치명적인 포스를 풍기는 에러다.

 

Cannot check root file system because it is not mounted read-only. [FAIL] failed!

 

이유는 외장 usb 하드가 파일시스템 boot보다 빨리 로딩이 되는 바람에(…얼마나 느리다는 거냐 ㅠㅠ) 이런 에러가 난다고 한다.

 

이를 수정하려면 /boot/cmdline.txt 파일을 수정해야 한다.

 

1. 혹시 모르니 파일을 백업하자.

sudo   cp   /boot/cmdline.txt   /boot/cmdline.txt.original

 

2. 파일을 수정한다. ro 라는 문자열을 넣어 주어야 한다. 원본 파일은 줄 바꿈이 없이 되어 있다. 혹시 모르니 줄 바꿈을 만들지는 말자.

 

파일을 열어보자.

sudo nano /boot/cmdline.txt

 

그러면 대략 이런 모습이다. 아래와 같은 문자열을 찾자.

[중략...] root=/dev/mmcblk0p2 rootfstype=ext4 [중략...]

 

이것을 이렇게 바꾼다. ro를 중간에 끼워 넣는다.

[중략...] root=/dev/mmcblk0p2 ro rootfstype=ext4 [중략...]

 

수정된 모습은 다음과 같다.

Screen Shot 2014 01 05 at 20 40 34

 

 

참고:

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=9475

http://www.blog.happytec.at/index.php?mode=view&id=308

라즈베리파이 전원 끄기 및 안전 종료

이런 기초적인 포스트를 쓸 줄은 몰랐다.

 

내가 주로 했던 종료방식은 sudo halt 였다. 그런데 이 것이 문제가 있었다.

 

문제가 뭐냐면 external HDD un-mount가 안되고 종료가 되버려서 하드 분리시에 에러가 날 수가 있었다.

 

모든 하드를 umount 하고 종료하려면 shutdown 을 써야 한다. shutdown now 라고만 치면 종료가 안 된다. 비밀번호 물어보면서 재부팅.

 

제대로 된 종료 명령은 이렇다.

sudo shutdown -h now


리눅스/라즈베리파이 부팅로그 확인하기 (bootlogd)

부팅하면 가끔 에러메세지가 나오는데, 이걸 확인하기가 힘들다. bootlogd 라는 것으로 확인이 가능하다.

 

1. 설치한다. bootlogd

sudo apt-get install bootlogd

 

2. 파일을 만든다.

sudo nano /etc/default/bootlogd 

 

3. 저장하고 종료

# Run bootlogd at startup ?

BOOTLOGD_ENABLE=yes

 

4. 재부팅 하고 부트로그 확인. 그냥 하면 아직 없다고 나온다.

cat /var/log/boot

 

5. 폰트깨짐과 칼라링 수정

 

기본적으로는 이렇게 나온다.

Screen Shot 2014 01 05 at 18 53 57

 

 

하지만 명령어를 바꾸면 이쁘게 잘 나온다. 이것은 현재 데비앙 버그라고 한다. 고쳐주겠지 언젠간.

sed 's/\^\[/\o33/g;s/\[1G\[/\[27G\[/' /var/log/boot

 

출력은 다음과 같이 잘 나온다.

Screen Shot 2014 01 05 at 21 59 08

 

7. 매번 이렇게 길게 적기 힘드니까 스크립트로 만들자.

sed 's/\^\[/\o33/g;s/\[1G\[/\[27G\[/' /var/log/boot 이것은 너무 길다.

 

~/.profile에 추가한다.

alias bootlogd-sed = "sed 's/\^\[/\o33/g;s/\[1G\[/\[27G\[/' /var/log/boot"

 

바로가기를 만들면, bootlogd-sed 라고 만 치면 된다.

 

alias 만들기는 다음을 참조:

http://jonghyunkim816.blogspot.de/2013/10/755.html

 

 

참고:

http://rasp485berry.wordpress.com/elements/master-central-unit/setup/1-system-boot-log-enable/

http://forums.debian.net/viewtopic.php?f=30&t=84590

 

기본 메뉴얼:

https://wiki.debian.org/bootlogd

 

폰트깨짐과 칼라문제 해결:

http://stackoverflow.com/questions/10757823/display-file-with-escaped-color-codes-boot-messages-from-bootlog-daemon

2014-01-05

현재 등록된 update-rc.d 시작 프로그램의 리스트를 확인하기

명령어를 친다.

ls /etc/rc?.d

 

다음과 같이 나온다.

Screen Shot 2014 01 05 at 5 20 36

 

나는 시작프로그램은 jong-blahblah 와 같은 형식으로 만들었다.

 

grep 검색어로 지정해서 찾는다. 

ls /etc/rc?.d | grep jong-

 

Screen Shot 2014 01 05 at 5 21 00

 

ls /etc/rc0.d 로 확인해 보는 게 더 깔끔하겠다.

 

다음과 같이 나온다.