어제 올렸던 Pogoplug에 Torrent Clinet 만들기 (http://calflove.tistory.com/343)는

실제 패키지들이 설치되는 디렉토리 (/opt)를  SD 메모리카드에 마운트한다는 가정하에

포스팅을 했으나 FAT 파일 시스템인 관계로 실행 권한에 몇가지 문제가 있네요...

 

그래서 정확한 해결 방법을 찾기 전에는 그냥 내장 메모리에 설치하기로 했습니다.

다만 내장 메모리가 100M가 채 안되는 적은 용량인 관계로... 관리를 잘 하셔야 할 것입니다..

 

아래 표는 Pogoplug Clinet 설치 전후 용량을 비교해 놓은 것입니다..

 

패키지가 그닥 크지 않아 내부 메모리에 설치하셔도 무방해 보입니다..

 

 

/opt # df
Filesystem           1K-blocks      Used Available Use% Mounted on
ubi0:rootfs              99432     13340     86092  13% /
none                     59312        12     59300   0% /tmp
/tmp/.cemnt/sda1     293031232 121209988 171821244  41% /tmp/.cemnt/mnt_sda1
/tmp/.cemnt/mmcblk0p1
                        248760     15912    232848   6% /tmp/.cemnt/mnt_mmcblk0p1

 

[ 설치전 용량 ]

 

 

 

/opt/var/spool/cron/crontabs # df
Filesystem           1K-blocks      Used Available Use% Mounted on
ubi0:rootfs              99432     18504     80928  19% /
none                     59312        12     59300   0% /tmp
/tmp/.cemnt/sda1     293031232 121209988 171821244  41% /tmp/.cemnt/mnt_sda1
/tmp/.cemnt/mmcblk0p1
                        248760     15912    232848   6% /tmp/.cemnt/mnt_mmcblk0p1

 

[ 설치후 용량 ]

 

 

임베디드 리눅스를 잘 몰라 일단 편법을 사용하였으나... 

좀 더 공부해서.. 원 시스템을 최대한 안 건드리는 방법을 찾아내 보겠습니다..

 

그럼....

Posted by 카프러브

드뎌 iOS 6.

Life 2012. 9. 20. 15:58

itistory-photo-1


드뎌 고대하던 iOS가 업데이트 되었다.

다들 겪는다는 wifi 문제도 없이 깔끔하게
완료. 다만 내 아이폰에서는 시리가 안된다는 아쉬움과

새로 바뀐 지도가 아직은 퀄리티가 떨어진다능...

그래도 조금씩 나아질 것이란 기대에..
조금씩 바뀐 OS에 적응 중...

iPhone 에서 작성된 글입니다.

Posted by 카프러브

 

포고 플러그를 토렌트 클라이언트로 만들기라는 주제로 쓴 이전 포스팅 ( http://calflove.tistory.com/343 )을 이용 실제로 서버로 쓸 수 있을까?...

 

포고 플러그에 대해서 올라온 후기 중 http://fullestlife.tistory.com/196 를 보시면 과연 클라우드로 쓸 수 있을까 하는 생각이 든다.

 

실제로 포고 플러그를 전원 연결 상태에서 실제 외장하드가 마운트될 때까지 걸린 시간을 측정해 보았다..

 

/tmp/.cemnt # df
Filesystem           1K-blocks      Used Available Use% Mounted on
ubi0:rootfs              99432     13232     86200  13% /
none                     59312        12     59300   0% /tmp
/tmp/.cemnt/sda1     293031232 121196280 171834952  41% /tmp/.cemnt/mnt_sda1
/tmp/.cemnt/mmcblk0p1  248760     15768    232992   6% /tmp/.cemnt/mnt_mmcblk0p1

/tmp/.cemnt # uptime
 05:21:47 up 51 min, load average: 2.27, 2.00, 1.98

 

USB로 연결된 외장하드와 SDmemory 카드를 인식하는데 걸린 시간이 무려 51분이다....

 

따라서 SD 메모리에 PKG를 설치해 놓은 필자로써는 포고 플러그의 전원 ON/OFF에 대한 자동화가 거의 힘들거라는 생각이 든다..

 

포고 플러그를 서버로 쓰려면,  

한번 켜면..끄지 말아야 하는... 불편한 진실...

 

 

혹시나 개인용 클라우드 구매를 고려하시는 분들은.... 이 사실은 좀 아셔야 할 듯....

 

금일 포고 플러그 고객센터에 마운트 시간을 줄이기 위한 방법에 대해 문의했는데...

어떤 답변이 올 지 기대됩니다...

Posted by 카프러브

 

 

개인 클라우드를 꿈꾸며 구매했던 포고 플러그..생각보다 성능이 좋질 않아... 거의 놀고 있었다...

 

제가 써본 포고 플러그는

 

1. 외장하드 연결시 HDD 검사 같은 프로세싱을 거치는 관계로 마운트까지 상당 시간이 걸린다.

2. 안드로이드 계열은 덜한데 iOS계열에서 연결시 접속 시간이 꽤 걸린다.

 (이 점은 이해가 안감. 왜 Mobile Device 별로 시간이 다르게 걸리는지..)

3. 동영상 파일을 온라인으로 보기에는 현실적으로 불가능함 ( Local에서 wifi 환경에서도 불가능 )

 

그런 상황에서 우연히 알게된 포고 플러그 커스터마이징해서 쓰기...

 

Embeded Linux 인 관계로.. 이것 저것 고쳐 쓰는 분들이 꽤 계셨다..

어떤 분은 분해까지 해서 쓰시던데... 전 그냥.. PKG 설치 정도에서 마무리..

 

지금부터 설명하는 것은 Pogoplug를 Torrent Client로 만드는 과정이다.

 

즉 특정 디렉토리에 Torrent Seed 파일을 넣어두면 자동으로 Download하게 만드는 형식이다.

토렌토를 위해 PC를 안켜도 된다는 것이죠...

 

 

구축 환경


준비물

 

1. Pogoplug Mobile
2. USB 외장하드디스크
3. SD Memory card


구축 단계

 

1. ipkg 설치
2. torrent client 설치
3. torrent 설정

 

** 주의 사항

 

1. 본 포스팅은 http://aaronrandall.com 을 참조하여 정리한 것입니다.
2. 본 포스팅을 따라하다가 발생되는 그 어떤 문제점도 저는 책임 질 수 없습니다

 

** 설치 위치에 따른 안내

 

1. 저는 외장 하드디스크에서 Torrent 데이타를 저장하고 SD Memory card에 Torrent Clinet를 설치하는 방식을 선택하였습니다.
2. SD Memory Card는 FAT로 마운트되는 관계로 심볼릭 링크가 안생겨 추가적인 작업이 필요합니다. 
3. 만약 Torrent Clinet를 NTFS로 마운트된 외장 하드에 설치시에는 심볼릭 링크 관련된 문제점이 없을 수도 있습니다.

 

 

 

 

Part I. PKG 설치

 

 


* 중요 : 1단계는 NTFS로 마운트된 곳(외장하드) 에서 실행하시기 바랍니다.


1. http://my.pogoplug.com에서 SSH 접속 설정을 enable 시킨다.

 

 [ Account Setting ] > [ Security ] > [Enable SSH access for this Pogoplug device] 설정


2. SSH로 pogoplug 접속

 

 # ssh [ Pogoplug IP ]
 User : root
 Password : 암호  ( 1번에서 넣은 암호 입력 )


3. / 파티션 재마운트

 

 # mount -o remount,rw /


4. opt 디렉토리 생성 및 외장 하드 디스크 마운트

 

/opt는 패키시 설치시 파일들이 복사되는 위치이다.

 

 # mkdir /opt

 

아래 마운트 포인트는 장비마다 다를 수 있으므로 df를 통해 확인하시기 바랍니다.

여기서 일단 USB로 연결된 외장하드를 /opt에 마운트 한다.

 # mount /tmp/.cemnt/sdb1 /opt


5. 패키지 설치

 

 #cd /opt
 # wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
 # tar -xOvzf ipkg-opt_*_arm.ipk ./data.tar.gz | tar -C / -xzvf -
 ( FAT 나 NTFS로 연결된 곳에서 실행시 이 부분에서 일부 파일이 tar로 안 풀립니다. tar 과정에서 보여진 파일 실제 디렉토리에 있는지 확인하시기 바랍니다. 저의 경우 외장하드에서는 정상이였고, SD 메모리카드에서는 일부 파일이 없었습니다. )
 
 # mkdir -p /opt/etc/ipkg
 # echo "src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable" > /opt/etc/ipkg/armel-feed.conf
 # echo "src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable" >> /opt/etc/ipkg/armel-feed.conf

 

6. ipkg 버전 확인

 

 # busybox | head -n1

 
7. ipkg 버전이 “BusyBox v1.7.0″ 이면

 

 # /opt/bin/ipkg update

 

8. ipkg 버전이 “BusyBox v1.16.1″ 이면

 

 (아마 국내에서 구매하신 분은 여기에 속하실 것이라 생각됩니다.)

 

 # cd /tmp/
 # wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/wget_1.12-2_arm.ipk
 # tar xvzf wget_1.12-2_arm.ipk
 # tar xzvf data.tar.gz -C /
 # mv /usr/bin/wget /usr/bin/wget.old
 # ln -s /opt/bin/wget /usr/bin/wget

 # /opt/bin/ipkg update
 
 이부분에서 저는
 
 /opt/bin/ipkg: error while loading shared libraries: /opt/lib/libipkg.so.0: file too short

 또는
 
 퍼미션 에러가  발생하였습니다. 
 
 # cd /opt/lib 를 가 보니..
 
 /opt/lib # ls -la
 -r-xr-xr-x    1 root     root            42 Sep 17 08:24 libipkg.so
 -r-xr-xr-x    1 root     root            42 Sep 17 08:24 libipkg.so.0
 -rwxr-xr-x    1 root     root        150260 Feb 15  2012 libipkg.so.0.0.0
 
 되어 있더군요.. 아무래도 libipkg.so.0.0.0가 진짜 라이브러리 같아서
 
 /opt/lib # mv libipkg.so.0 libipkg.so.0.org
 /opt/lib # cp libipkg.so.0.0.0 libipkg.so.0
 
 해 주었더니넘어가네요...
 
 
 # /opt/bin/ipkg update
 
 Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/PackagesUpdated list of available packages in /opt/lib/ipkg/lists/cross
 Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/PackagesUpdated list of available packages in /opt/lib/ipkg/lists/native
 Successfully terminated.

 # /opt/bin/ipkg install libnsl
 Installing libnsl (2.5-4) to root...
 Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libnsl_2.5-4_arm.ipk
 Configuring libnsl
 Successfully terminated.

 

 이 부분에서는 아래 표기한 블로그 원문에는 없었던 절대경로 /opt/bin을 추가해줘야 합니다.


 이렇게 성공 메세지가 떨어집니다..

 

 만약 /opt가 FAT로 마운트 되어 있다면 심볼릭 링크 관련 에러가 발생할 것입니다.

그럴 경우 아래와 같이 복사해 줍니다.
 
 # cp libnsl-2.5.so libnsl.so    
 # cp libnsl-2.5.so libnsl.so.1
 

 

여기까지는 NTFS로 연결된 외장하드에서 작업을 했고, 원래 설치 장소인 SD 메모리로 복사를 해 준다.

 

필자의 경우

 

외장하드 : /tmp/.cemnt/mnt_sda1

SD 메모리 : /tmp/.cemnt/mnt_mmcblk0p1

 

였는데

 

외장하드에 설치된 디렉토리들 ( bin, etc, lib, mans, var, share 등 )을 모두 mv로 옮겨 주었다.

 

# cd /opt (실제는 /tmp/.cemnt/mnt_sda1 )

# mv {상기 디렉토리} /tmp/.cemnt/mnt_mmcblk0p1

# umount /opt

# mount /tmp/.cemnt/mnt_mmcblk0p1 /opt

 

그럼 이제부터는 /opt는 SD 메모리 카드로 마운트 된 상태이다.

 

 

 

Part II. BITTORRENT PACKAGE 설치

 

 

 

1. transmission PKG 설치

 

 #/opt/bin/ipkg install transmission


만약 /opt가 FAT로 마운트 되어 있다면 심볼릭 링크 에러 발생하기 때문에 원래는 심볼릭 링크로 연결되어야 하는 파일들을 아래와 같이 복사 작업 진행

 

 # cp libcrypto.so.0.9.8 libcrypto.so
 # cp libcrypto.so.0.9.8 libcrypto.so.0
 
 # cp libssl.so.0.9.8 libssl.so
 # cp libssl.so.0.9.8 libssl.so.0
 
 # cp libcurl.so.4.2.0 libcurl.so
 # cp libcurl.so.4.2.0 libcurl.so.4
 
 # cp libz.so.1.2.5 libz.so
 # cp libz.so.1.2.5 libz.so.1
 
 # cp libevent-2.0.so.5.1.8 libevent-2.0.so.5
 # cp libevent-2.0.so.5.1.8 libevent.so     
 
 # cp libevent_core-2.0.so.5.1.8 libevent_core-2.0.so.5
 # cp libevent_core-2.0.so.5.1.8 libevent_core.so     
 
 # cp libevent_extra-2.0.so.5.1.8 libevent_extra-2.0.so.5
 # cp libevent_extra-2.0.so.5.1.8 libevent_extra.so
 
 # cp libevent_openssl-2.0.so.5.1.8 libevent_openssl-2.0.so.5
 # cp libevent_openssl-2.0.so.5.1.8 libevent_openssl.so
 
 # cp libevent_pthreads-2.0.so.5.1.8 libevent_pthreads-2.0.so.5
 # cp libevent_pthreads-2.0.so.5.1.8 libevent_pthreads.so


2. transmission을 구동하여 기본 설정화일을 생성

 

 # /opt/bin/transmission-daemon

 # killall transmission-daemon


3.  configuration 디렉토리 생성

 

 # mkdir /opt/config


4. 생성된 설정파일을 Config 디렉토리에 옮긴다.

 
 # mv /root/.config/transmission-daemon /opt/config/


5. transmission configuration의 복사본을 만들어 준다.

 

 # cd /opt/config/transmission-daemon/

 # cp settings.json settings.json.backup


6. transmission configuration을 설정한다.

 

필자는 Pogoplug의 외장 하드 디스크에

 

torrents 디렉토리와 Movies 디렉토리를 만들어서 Seed파일과 데이타 파일을 저장하고자 했다.

 

따라서 Pogoplug의 실제 저장 위치는

 

시드 파일 : /tmp/.cemnt/mnt_sda1/torrents

데이타 파일 : /tmp/.cemnt/mnt_sda1/Movies
 

가 된다.

 

설정 파일을 열어 디렉토리 설정을 변경한다.


 # vi /opt/config/transmission-daemon/settings.json

 

아래 “download-dir”, “incomplete-dir” 내용을   
  
/tmp/.cemnt/mnt_sda1/Movies
  
로 변경


7. 수정한 Config를 통해 Transmission client 구동

 

 # /opt/bin/transmission-daemon --config-dir /opt/config/transmission-daemon


8. Transmission 구동 확인

 

 웹 브라우져에서

 

 http://pogoplug IP:9091/transmission/web/

 

입력해 보면...웹 페이지가 뜬다.
 
9. 접근 허용 IP 추가

 

데몬 보안 정책에 의해 10번 과정에서 인증되지 않은 IP라고 나올 것이다.
 접근할 수 있는 IP 대역을 추가해 준다.

 

 # vi /opt/config/transmission-daemon/settings.json
 

 "rpc-whitelist": "127.0.0.1",  // 이 부분을
 
 "rpc-whitelist": "127.0.0.1,192.168.*.*",  // Client IP 대역을 추가해 준다.


 
 그 뒤에 transmission-daemon에 변경된 설정을 적용한다.
 


/opt/bin/transmission-daemon --config-dir /opt/config/transmission-daemon 의 PID를 확인한 후,
 # ps     // PID 확인
 # kill -HUP PID

 

해주면 적용 완료된다.
 
다시 웹브라우져에서 
 
http://pogoplug IP:9091/transmission/web/
 
웹  페이지가 뜨는 것을 확인한다.
 
 

 


Part III. Torrent 전송 기능 추가하기

 

 

이제 마지막 과정이다.

 

1. the transmission scheduler script 생성

 

본 과정은 torrents 디렉토리에 seed 파일을 넣어두면, transmission 데몬에게 전달해주는 스크립트를 만들어주는 과정이다. 아래는 필자의 설정 값이다.

 

시드 파일 위치 : /tmp/.cemnt/mnt_sda1/torrents/
Pogoplug IP : 192.168.120.2

 

스크립트 파일을 생성해주고,

 # touch /opt/bin/transmission-scheduler.sh

VI로 열어 스크립트를 입력한다.

 

# vi /opt/bin/transmission-scheduler.sh
 

#!/bin/sh                                                                                                                          
                                                                                                                                   
 pathToTorrentFolder='/tmp/.cemnt/mnt_sda1/torrents/'                                                                               
 transmissionUrl='http://192.168.120.2:9091/transmission'                                                                           
                                                                                                                                   
 for f in $pathToTorrentFolder*.torrent ;                                                                                           
        do /opt/bin/transmission-remote $transmissionUrl -a "$f"; rm "$f";                                                         
 done 

 
2. 스크립트로 실행 권한을 부여한다.

 

 # chmod +x /opt/bin/transmission-scheduler.sh
 
3. 스크립트 테스트

 

torrents 디렉토리에 실제로 seed파일을 복사해 넣고 되는지 확인한다.

 

# cp *.torrent /tmp/.cemnt/mnt_sda1/torrents/

# cd /opt/bin
# ./transmission-scheduler.sh
192.168.120.2:9091/transmission/rpc/ responded: "success"

 

위 스크립트 실행결과가 위와 같이 나오면 성공한 것이다.

 

웹 브라우져에서

 

http://pogoplug IP:9091/transmission/web/

 

입력해보면 아래와 같이 토렌토 다운로드 상황을 확인해 볼 수 있다.

 

 

 

 

 

여기까지 오면 모든 설치는 끝난다. 마지막으로 seed 파일을 넣어주면 주기적으로 체크해서 다운로드 할 수 있게 cron을 설정한다.

 

4. crontab 설정

 

# mkdir -p /opt/var/spool/cron/crontabs
# ln -s /opt/var/spool /var/spool
 

블로그에선

 

 # crontab -e

 

로 편집이 가능하다고 하는데 필자의 Pogoplug mobile에는 해당 명령어가 없었다.

 

따라서 아래와 같이 진행했다.
 
 # cd /var/spool/cron/crontabs
 # touch root
 # vi root
 

 

 */5 * * * * /opt/bin/transmission-scheduler.sh

 

 

 

5. crond 실행


 # busybox crond
 

 

이제부터는 네트워크 드라이브 또는 웹에서 연결된 torrents 디렉토리에 seed 파일을 넣어두면

Movies 디렉토리에 영상 파일들이 다운로드 되어 있을 것이다..

 

즐거운 라이프 되시길...

 

 

 

참조

 

1단계 : http://aaronrandall.com/blog/customising-your-pogoplug/

2단계 : http://aaronrandall.com/blog/installing-a-bittorrent-client-on-the-pogoplug/

3단계 : http://aaronrandall.com/blog/adding-torrents-via-my-pogoplug-com/

 

 

 

Posted by 카프러브




[ Songdo Central Park in Incheon]

Posted by 카프러브

 

 

 

 

지난 8월 21일.. 드디어..

삼성에서 갤럭시 탭 10.1 Wifi에 대한 아이스크림 업데이트를 제공하기 시작했습니다.

 

최초 업그레이드 발표 이후 근 9개월만입니다..

(작년 12월 경에 발표했던 것으로 기억합니다..)

 

1분기에 진행하겠다던... 업그레이드를.. 3분기에..해 주다니...

그래도 해주는 것만 해도..감사해야 하겠지요..ㅠㅠ

 

 

 

업그레이드는 그닥 어렵지 않습니다.

 

KIES 2.0을 설치 후 갤럭시 탭을 연결하면..

업그레이드 하라는 창이 뜹니다.

 

클릭을 하면..위와 같이 OS를 다운로드 하면서..

아이스크림으로 변신을 시작합니다...

 

 

중간에..귀여운 안드로이드 로고도 나오고...

 

 

 

리부팅도 해주고 나면....

 

 

 

기존 데이타에 대한  마이그레이션이 진행되구요...

 

 

 

그러면...갤럭시 탭은 부팅이 끝나고...

KIES는 완료 창을 뜹니다...

 

 

 

 

최종 부팅화면입니다..

 

여기까지 오는데 10분 남짓 시간 밖에 걸리지 않습니다..

이 10분을 전 9개월을 기다렸지요....ㅠㅠ

 

바탕화면에 있는 아이콘은 죄다 없어서져서..다시 복원해야 하구요...

UI가 좀 많이 바뀌어서...

적응하는데 시간 좀 걸리겠네요..

 

그래도... 진저에서 아이스크림보다는

허니콤에서 아이스크림이 적응은 빨리 할 것으로 보입니다..

 

오랫동안 기다리신 갤럭시 탭 Wifi 사용자 여러분,...

얼른 업그레이드 하세요...

 

Posted by 카프러브

 

 

요 몇해 저의 똑딱이 역할을 해준 Samsung EX1

똑딱이로서는 과분한 F1.8 조리개를 가지고 있는 괴물같은 녀석이였지요...

그러나 EX1도 오늘로써 저의 곁을 떠납니다..

 

 

자유 자재로 움직이는 LCD화면 때문에..참 편했던 카메라였는데....

 

 

 

 

 

 

EX1을 대신할 Sony NEX-5NK 입니다... 

다음달에 후속 기종이 나올 예정으로

가격이 많이 낮아진 제품이지요...

 

원래 정가가 94만8천원...

그러나 "아름다운가게"에 헌 카메라 반납하는 조건으로..

79만8천원.... 즉 15만원 할인해 주고 있습니다.. ( ~ 2012. 9 16 )

 

신기종을 살 것이냐....가격을 선택할 것이냐..한참을 고민하다가..

똑딱이 라인업에 세울 것이기 때문에... 가격으로 맘이 기울였네요..

 

모 쇼핑몰에서 카드 할인에 적립금 받고...

상품 구성에 상품권까지 들어가 있어서..

실 구매가는 65만원대...

거기에..소니에서 행사로 주는 정품 밧데리 선물까지....

 

이렇게 사야.... 좀 싸게 샀구나..하겠지요?....

 

 

NEX-5NK 인증샷을...EX1의 마지막 임무로 하고....

내일이면... EX1은 좋은 데로 분양받으러 갑니다..

 

 

더불어..저는 NEX-5NK와 함께...가벼운 사진 찍으로 다닐거구요...

 

미러리스 카메라를 생각하시는 분들중.. NEX-5N도 괜찮다면..

이번달에 꼭 구매하시길 추천합니다...

 

대박 기회인거 같습니다..

Posted by 카프러브

 

ffmpeg_movie.c

 

 

1. ffmpeg란 : http://helloworld.naver.com/helloworld/8794

 

 

 

2. CentOS에서 FFMPEG 설치

 

 

1) Yum 저장소 추가 : Centos-DAG.repo라는 파일에 아래 내용을 추가해 넣는다.

 

# cd /etc/yum.repos.d

 

# vi Centos-DAG.repo

 

 

[dag]

name=Dag RPM Repository for Red Hat Enterprise Linux

baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

gpgcheck=1

enabled=1

 

 

2) a52dec 설치

 

 

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

# yum install a52dec-devel.x86_64

 

참고) 이 부분을 안해주면 아래와 같은 에러가 발생한다.

 

Public key for a52dec-0.7.4-8.el6.rf.x86_64.rpm is not installed 

 

 

 

3) ffmpeg 설치

 

 

# yum install ffmpeg-devel.x86_64

 


3. ffmpeg-php 설치

 

 - 인터넷에서 검색을 해 보면 굉장히 간단한 설치처럼 보이나 CentOS 6에서는 쉽지 않은 설치였음. 아무래도 패키지가 나온지 오래되다보니, 바뀐 OS와 안 맞는 것처럼 보임.

- 해결책은 소스를 바꾸어야 함..


1)  소스 다운로드

 

http://ffmpeg-php.sourceforge.net


2) 소스 압축 풀기


# bzip2 -cd ffmpeg-php-0.6.0.tbz2 | tar xf -

 

3) 소스 수정

 

ffmpeg-php에서는 크게 2가지 에러가 나는데 이를 위해 두개의 소스를 고치거나 대체해야 한다.

 

 

ffmpeg_movie.lo 오류 방지

 

 

wget http://www.9xhost.info/scripts/ffmpeg-php-0.6.0/ffmpeg_movie.c


ffmpeg_movic.c를 다운 받아 원래 있던 파일을 대체한다.

 

# cd /usr/local/src/ffmpeg-php-0.6.0

 

# mv {다운받아놓은 위치}/ffmpeg_movic.c ./

 

 


 

 ffmpeg_frame.lo 오류 방지


 - ffmpeg_frame.c 안에 PIX_FMT_RGBA32를 PIX_FMT_RGB32로 치환해준다.

 

# vi ffmpeg_frame.c


 :%s/PIX_FMT_RGBA32/PIX_FMT_RGB32/g
 :w :q!



4) 설치

 

# /usr/local/php-5.5.5/bin/phpize

# ./configure --prefix=/usr/local/ffmpeg-php-0.6.0 --enable-shared --with-php-config=/usr/local/php-5.5.5/bin/php-config

 

# make

# make install

 

5) 모듈 복사

 

# cd /usr/local/php-5.5.5/lib/php/extensions/no-debug-zts-20121212/

# cp ./ffmpeg.so /usr/local/httpd/modules/

 

6) 설정

 

# vi /usr/local/httpd/conf/php.ini

extension_dir = "./" 을

extension_dir = "/usr/local/httpd/modules" 로 수정

 

extension=ffmpeg.so 추가

 

7) 설치 확인

 

# /usr/local/php-5.5.5/bin/php -r 'phpinfo();' | grep ffmpeg

 

 

 

 

 

참고 문헌

 

1) http://chrisjean.com/2009/01/13/install-ffmpeg-and-ffmpeg-php-on-centos-easily/

 

2) http://www.nazly.net/installing-ffmpeg-and-ffmpeg-php-on-centos/

 

3) http://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1720&sca=1

 

4) https://d.stavrovski.net/blog/yum-install-ffmpeg-and-ffmpeg-php-in-centos-6-with-virtualmin/#install-ffmpeg-php

 

5) http://www.9xphp.com/Thread-FFMPEG-ffmpeg-PHP-centos-5-6-easy-install

 



 

 

 

 

Posted by 카프러브

 

 

[ vsftpd ]

 

 

Q1. 아래와 같이 에러가 날때..

 

[root@db2 src]# ftp ServerIP

Connected to ServerIP

500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp
ftp>

 

 

A1. /etc/vsftpd/vsftpd.conf 에 아래 한줄 추가

 

ftp_username=nobody

 

 

Q2. ftp 접속시 파일 읽기는 되는데 쓰기는 안 될 경우

 

A2. 여러가지 원인에 의해 발생할 수 있는 문제이나 대부분 아래 방법으로 해결 가능..

 

- 해당 디렉토리 권한 문제 : 접속 계정에 대해 쓰기 권한을 부여

- selinux 에 의한 문제 : vsftp에 대해 / 또는 selinux를 disable 시킴.

 

 

[ MySQL ]

 

Q3. 원격지 MySQL 서버에 접속시 지연이 발생할 때..

 

A3. /etc/my.cnf에 아래 한줄 추가..

 

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-name-resolve

 

 

 

 

 

Posted by 카프러브

 

서버들간 데이타 동기화 중 가장 간단한 rsync 설정방법

 

 

1. rsyc 설치

 - CentOS는 기본적으로 설치가 되어 있어서 설치 과정 생략

 - 설치 확인

 # rpm -qa | grep rsync

 

 

[ 서버측 설정 ]

 

2. 설정

 

 - /etc 밑에 rsyncd.conf 생성한 후 아래 내용 입력

 

[home] // 서비스명
path=/Web/download  // 데이터 동기화될 원본 위치
uid=아이디
gip=그룸
use chroot=yes
readonly=yes
  // 마스터 서버이므로 read 권한만 준다
hosts allow=xxx.xxx.xxx.xxx // 클라이언트 IP

 

3. 데몬 구동

 - 서버간 동기화는 xinetd로 구동해도 충분

 - xinetd에서 rsync enable 시켜줌.

 

# vi /etc/xinetd.d/rsyc

 

service rsync
{
        disable = no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

 

4. 방화벽 오픈

 

 - iptables에서 TCP 873 오픈

 

 

 

[ 클라이언트 측 설정 ]

 

1. 명령어를 통한 동기화

 

# /usr/bin/rsync -avz 서버IP::서비스명 {동기화될 디렉토리}

 

2. Cron을 통한 주기적인 백업

 

# crontab -e

* * * * * /usr/bin/rsync -avz 서버IP::home ./

 

 

Posted by 카프러브