내가 사용하는 bash prompt

bash prompt 를 어떻게 꾸미느냐는 사람 취향에 따라 다르겠지만, 나는 아래와 같이 사용한다.
PS1="\n\[\e[30;1m\](\`if [ \$? = 0 ]; then echo \[\e[32m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`\[\e[30;1m\])-(\[\e[37;1m\]\u@\h\[\e[30;1m\])-(\[\e[37;1m\]jobs:\j\[\e[30;1m\])-(\[\e[37;1m\]cpus:\`ps u | grep `whoami` | awk '{ SUM += \$3 } END {print SUM}'\`%\[\e[30;1m\])-(\[\e[33;1m\]\w\[\e[30;1m\])\n(\[\[\e[37;1m\]! \!\[\e[30;1m\])-> \[\e[0m\]"

이하는 스크린샷:

사용자 삽입 이미지
2개의 라인에 걸쳐 이전 커맨드의 성공 여부, 자신의 whoami 및 hostname, job 개수, cpu 점유율, 그리고 현재 디렉토리를 차례로 표시하기 때문에 보다 편하게 사용할 수 있다. 짧은 프롬프트를 원하는 분들에게는 비추.

다른 괜찮은 bash prompt 를 참조하려면 아래 사이트를 방문하면 된다:

http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04


크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2011/07/14 05:34 2011/07/14 05:34
Response
No Trackback , No Comment
RSS :
http://sunghwanyoo.com/tc/rss/response/123

드디어 삼일교회에서 자체적으로 전병욱 목사님 설교 팟캐스팅을 지원하기 시작했습니다. ^^

아래 feed를 itunes 에서 "podcast 등록"을 한 뒤 붙여넣으시면 됩니다.

http://podcast.samilchurch.com/rss.xml

당분간 제 팟캐스트 RSS 주소 (http://feeds.feedburner.com/preach_jeon) 도 남겨둘 생각입니다만, 장기적으로는 삭제할 예정입니다. 새로 전목사님 설교를 듣고자 하시는 분들은 삼일교회 공식 주소를 이용해주시기 부탁드립니다. ^^

2010.1.5. - 제 팟캐스트 RSS 주소는 일단 공식적으로 http://feeds.feedburner.com/preach_jeon 로 유지합니다. 이전 버전과 호환성을 유지하고자 한다면 계속 이용하시면 될 것 같습니다. 파일 캐싱 받아오고 하는데 시간이 약간 소요되겠지만, 큰 무리없이 사용하실 수 있을겁니다.

2010.12.13 - 제 팟캐스트 URL을 삭제하였습니다. 삼일교회 공식 URL을 이용해주시기 바랍니다.



크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2010/12/13 18:53 2010/12/13 18:53
, , , , , , , ,
Response
5 Trackbacks , 96 Comments
RSS :
http://sunghwanyoo.com/tc/rss/response/54

Ubuntu 10.04에 AWstats 설치하기

아파치 웹로그를 분석하는 툴로 가장 많이 알려진 것이 webalizer입니다.

webalizer보다도 좀 더 강력한 분석 결과를 제공하는 것이 AWstats 인데, 이를 우분투에 설치하는 방법입니다. 다음의 문서를 참조하였습니다. : http://ubuntu-tutorials.com/2008/01/16/configuring-awstats-on-ubuntu-server/

1. 패키지 설치

다음 명령어로 먼저 awstats를 설치합니다.

sudo apt-get install awstats libgeoip1 libgeoip-dev libgeo-ip-perl


2. conf 파일 수정

각 virtual host 별로 conf 파일을 만들어주어야 합니다. host 명을 domain.tld 라고 하면, 다음과 같은 형식으로 새로 config 파일을 하나 생성해줍니다. 저의 경우에는 localhost로 명명했습니다.

sudo cp /etc/awstats/awstats.conf /etc/awstat/awstats.domain.tld.conf

그리고 생성된 파일을 수정합니다.

sudo vi /etc/awstats/awstats.domain.tld.conf

이 때 수정할 항목으로는
  • LogFile="/var/log/apache2/access.log"
  • LogFormat=1
  • SiteDomain="domain.tld"
  • HostAliases="www.domain.tld localhost 127.0.0.1"
위와 같은 것들이 있습니다.

추가적으로 GeoCity 정보를 이용하기 위해서는 다음과 같이 데이터파일을 직접 다운받아 설치합니다.

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz  (위의 줄까지 한 줄입니다)
gzip -d GeoLiteCity.dat.gz
sudo mv GeoLiteCity.dat /usr/share/GeoIP


또한 GeoIP를 활성화 시키기 위해서 다음 라인을 활성화 시켜고, GeoIP.dat 파일 경로를 적어줍니다.
  • DNSLookup=0
  • LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat"
추가적으로 GeoCity 정보를 활성화하려면 아래 라인을 활성화시켜줍니다.
  • LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoLiteCity.dat"

3. apache 설정

저의 경우에는 다음과 같이 awstats.conf 파일을 새로 하나 만들었습니다.

sudo vi /etc/apache2/conf.d/awstats.conf

파일 내용은 다음과 같습니다.

Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

저장하고, apache를 재시작합니다.

sudo /etc/init.d/apache2 restart


4. 과거 로그 파일 처리하기

저의 경우에는 logrotate가 설치되어 있기에, 과거 gz로 압축된 로그들을 처리해야 했습니다. 다음과 같은 명령어를 통해 간단하게 과거의 로그들을 하나로 통합해서 분석할 수 있습니다.

이 때 주의할 점은, awstats는 가장 마지막으로 parse된 파일 이후의 것만 처리하기 때문에 과거 로그를 먼저 import 한 다음에 최신 로그를 처리해야 한다는 것입니다. 즉 4번 단계를 먼저 하고 5번 단계를 하시면 되며, 과거 쌓인 내역이 없거나 분석하기 원치 않으시는 경우에는 바로 5번 단계로 넘어가시면 됩니다.

cd /var/log/apache2
gzip -d access.log.*.gz
sudo /usr/share/doc/awstats/examples/logresolvemerge.pl access.log.* >> access_combined.log
sudo /usr/lib/cgi-bin/awstats.pl -config=localhost -LogFile="/var/log/apache2/access_combined.log"
아마 초기 업데이트에는 많은 시간이 소요될 것입니다.


5. 업데이트

최근 로그(access.log)는 아래와 같은 명령어를 통해 업데이트 가능합니다.

sudo /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update

이를 아래와 같이 crontab 에 등록시켜두면 매 시간마다 자동으로 로그를 바탕으로 업데이트하게 됩니다.


6. cron에 등록

sudo crontab -e

그리고 아래 내용을 등록합니다.

0 * * * * /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update >/dev/null

7. 확인

위와 같이 모든 셋업 과정이 끝납니다. 웹브라우저에서 아래 주소로 접속하면 됩니다.

http://domain.tld/awstats/awstats.pl

저의 경우에는 도메인 이름을 localhost로 등록해서, 아래와 같이 접속해야 했습니다.

http://domain.tld/awstats/awstats.pl?config=localhost

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2010/07/08 03:29 2010/07/08 03:29
, , , , , ,
Response
A trackback , No Comment
RSS :
http://sunghwanyoo.com/tc/rss/response/59

네이버캐스트 클래식 팟캐스트 (podcast)

안녕하세요,

네이버캐스트 클래식을 즐겨듣는데, 매번 접속해서 듣기가 좀 불편해서 Podcast 서비스를 만들어보았습니다.

itunes 를 켜시고 메뉴의 "고급" > "Podcast 등록" 에서 아래 주소를 붙여넣으시면 됩니다.

http://tools.sunghwanyoo.com/naver_classic/podcast_naver_classic.php

15일이 지나면 1분 듣기로 자동 전환되니 참고하시기 바랍니다. ^^

그럼..
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2010/02/05 13:43 2010/02/05 13:43
, , , , , , , ,
Response
83 Trackbacks , 2 Comments
RSS :
http://sunghwanyoo.com/tc/rss/response/95

Installing Mace on Ubuntu 8.10

Hi,

This is a quick installation guide for Mace on Ubuntu 8.10.

First, install all the corresponding packages before installing Mace:

apt-get install build-essential subversion libssl-dev cmake libdb-dev libdb4.7++-dev lgrind libboost-dev


Second, check out Mace from repository.

svn co http://www.macesystems.org/svn/mace mace


Next, install Mace with the following commands:

cd mace
mkdir builds
cd builds
cmake ..
ccmake .
make

When you are configuring with ccmake, type "c" to configure and "g" to generate output Makefile.

Now it is done. When you compiling Mace project, don't forget to specify MaceDIR by following command:

cd your_project_directory
mkdir builds
cd builds
cmake -D Mace_DIR:PATH=/path_to_mace/builds ..
make

if cmake -D Mace_DIR:PATH=/path_to_mace/builds ..  doesn't works, do ccmake . and manually configure Mace path. When you are done, type "c" and "g" to generate output Makefile.

Now everything is done. Enjoy!

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2008/12/06 21:52 2008/12/06 21:52
, , , ,
Response
A trackback , No Comment
RSS :
http://sunghwanyoo.com/tc/rss/response/58

요즘 클럽서치가 더 이상 릴리즈되지 않는 관계로 파일딕(filedic.com)에서 클럽박스 파일을 검색하는 일이 많아졌습니다.

이 때 각 파일에 대한 클럽명이 표시되지 않아 파일을 그냥 다운받아도 되는지, 박스 가입하고 받아야 하는지 알 수 없는 경우가 많은데요,

이를 위해 다음과 같이 각 클럽 링크 옆에 클럽명을 보여주는 그리스몽키 스크립트를 작성했습니다.

사용자 삽입 이미지



먼저 파이어폭스를 설치하시고 greasemonkey add-on 을 설치하신 다음 아래 링크를 방문하시면 됩니다.

http://userscripts.org/scripts/source/32871.user.js

그럼..^^
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2008/09/01 19:50 2008/09/01 19:50
, , , , , , , , ,
Response
No Trackback , 2 Comments
RSS :
http://sunghwanyoo.com/tc/rss/response/55

암기은행(암기왕)을 사용하다보면, 아주 가끔씩 MMK 파일이 깨지는 경우가 발생합니다.

이 경우 MMK 파일을 암기왕에서 불러들이다가 죽어버리기 때문에 어떻게 손 쓸 방법이 없어집니다.

꼭 위와 같은 용도는 아니라도, MMK 파일을 txt 파일로 바꿔야 하는데 암기왕 돌리는게 너무 귀찮다.. 하시는 분들을 위해 MMK -> TXT 변환 프로그램을 만들었습니다. 실제로는 php로 구현해서 제 사이트에 올려 두었습니다.

사용법은 아주 간단합니다. 우선 아래 주소를 클릭하세요.

http://tools.sunghwanyoo.com/mmk_repair/mmk_repair.php

스크린샷이라고 할 것도 없네요 :-)

사용자 삽입 이미지
예, 그냥 여기에서 파일 업로드 한 다음에 확인 누르시면 됩니다. ^^

다만 복구는 "에러가 난 지점"까지만 제대로 수행됩니다. 몽땅 다 덤프시켜주기는 하는데, 에러난 이후부터는 문자가 다 깨져서 나올겁니다. 메모장 같은 걸로 여신 다음, 깨져보이는 부분 이후를 수동으로(!) 없애주시면 원래대로 사용하실 수 있습니다.

에러나지 않은 파일의 경우에는 그냥 MMK -> TXT 변환만을 수행합니다. 필요에 따라 사용하시면 될 것 같습니다.

그럼 유용하게 사용하세요~


p.s. php 소스 파일도 함께 올려둡니다. 코드가 지저분하지만, 구조를 이해하는데는 크게 지장이 없을 것이라 생각됩니다. 고급 사용자를 위한 옵션이고, 없어도 위의 방법으로 복구가 가능하기에 자세한 설명은 생략하도록 하겠습니다.


크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2008/05/10 13:29 2008/05/10 13:29
, , , , , ,
Response
No Trackback , 23 Comments
RSS :
http://sunghwanyoo.com/tc/rss/response/47

이 문서는 Fedora Core 6에서 apache2, mysql 5.0, tomcat 5.5 설치를 돕기 위한 문서이다.

우선 java sdk 1.6을 미리 /usr/java/jdk1.6.0_06 에 설치하였다고 가정한다. 그냥 기본 jre 이용할 생각이라면 아래쪽에 나오는 JAVA_HOME 설정 변경부분을 건너뛰면 된다.

우선 아래와 같이 기본 패키지들을 설치한다.

yum install httpd\*
yum install mysql-server
yum install mysql-connector-java
yum install tomcat5*


1. Tomcat 설정

vi /etc/tomcat5/tomcat5.conf

JAVA_HOME 경로를 설치한 자바 경로로 수정한다. 예를 들어 다음과 같은 식이다.

JAVAHOME = "/usr/java/jdk1.6.0_06"


2. Mysql 설정

mysql -uroot -p

이렇게 하고 현재 리눅스 root 계정의 비번을 입력한 뒤, 아래와 같이 mysql용 root 비번을 수정한다.

use mysql;
update user set password=password('관리자비밀번호') where user='root';
flush privileges;


3. 실행

service httpd start
service tomcat5 start
service mysqld start

이렇게 하면 손쉽게 실행할 수 있다.

그리고 아래 디렉토리에 jsp, servlet 등을 넣은뒤 웹 브라우저에서 http://xxx.xxx.xxx.xxx:8080 으로 접속하면 된다.

var/lib/tomca5/webapps/ROOT/


크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2008/04/23 14:37 2008/04/23 14:37
, , , , , , , ,
Response
7 Trackbacks , a comment
RSS :
http://sunghwanyoo.com/tc/rss/response/53

닌텐도 DS용 어플리케이션(홈브루homebrew 라고 한다)을 개발하기 위해서는 devkitPRO와 PAlib을 설치할 필요가 있다.

devkitPRO는 개발한 homebrew를 관련 라이브러리를 이용해 컴파일하는 기능을 하며, PAlib는 보다 개발을 쉽고 빠르게 하기 위한 API를 제공한다. devkitPRO를 설치하면 devkitARM 등과 같이 특정 플랫폼을 위한 컴파일러와 libnds, libmirko 등과 같은 관련 라이브러리들이 설치된다.

물론 devkitPRO와 PAlib 은 충분히 강력하기는 하지만 아직도 계속 개발중인 프로그램인지라 역시 좀 부족한 면이 없지않다. 필요한 API가 없으면 직접 devkitARM과 PAlib 소스를 수정해서 컴파일해야 하는 일도 많다.

일반적인 경우라면 PAlib과 libnds의 라이브러리가 바이너리 상태로 제공되기 때문에 문제가 없지만, 본인은 Microphone 을 이용해서 프로그램을 개발할 일이 있었고 실제 libnds 를 수정해서 컴파일 해야 했다. 그런데 이 작업이 생각만큼 잘 이루어지지 않았다. 각종 삽질 끝에 보니 devkitARM, PAlib, 그리고 libnds 의 버전이 미묘하게 달라서 생기는 문제였다.

혹시라도 NDS homebrew 를 개발하는 분 중에 libnds와 PAlib을 다시 컴파일해야 하는 분들을 위한 짤막한 지침을 제공하도록 하겠다.


<윈도우 환경에 설치>

1. devkitPRO 최신판(updater 1.4.4)을 받아서 모든 패키지를 다 설치한다. 빼고 넣고 하지 말 것.


2. devkitPRO를 설치하면 devkitARM도 함께 설치되는데, 이 때 설치되는 r21 버전은 PAlib와 충돌을 일으킨다. 따라서 r20 버전으로 다운그레이드 시켜주어야 한다. devkitARM r20 을 다운받아서 devkitPRO 디렉토리에 덮어쓴다.


3. 이제 PAlib을 설치해야 한다. 버전을 맞추기 위해 PAlib070717 버전을 설치한다. 이 때 PAlib 이 설치되면서 추가적인 소스들이 libnds 폴더에 덮어씌워진다.


4. libnds를 컴파일 가능하게 만들기 위해 소스를 다운받아야 한다. libnds20070503-src 를 새로 설치한다.


5. 콘솔(WInKey+R을 누르고 cmd, 엔터)을 띄운 다음 libnds 가 설치된 디렉토리(c:\devkitPRO\libnds)로 이동하여 make 를 타이핑하여 컴파일하고, 다시 PAlib가 설치된 디렉토리(c:\devkitPRO\PAlib)로 이동하여 build.bat 를 실행하면 PAlib가 컴파일 된다. 이로서 모든 세팅이 완료된다. PAlib template에서 make를 이용하여 컴파일하면 제대로 컴파일 되는 것을 확인할 수 있을 것이다.

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2008/02/21 09:57 2008/02/21 09:57
, , , , , , ,
Response
6 Trackbacks , No Comment
RSS :
http://sunghwanyoo.com/tc/rss/response/51

암기은행 차기 버전 개발중입니다.

암기 은행의 기능 개선을 요구하시는 분들이 많아, 바쁜 시간이나마 짬짬이 차기 버전을 개발하고 있습니다.

subversion + trac 을 적용해서 프로젝트로 관리하느라 조금 고생을 했네요.

거의 1년만에 코드를 보려니 잘 읽히지가 않아서 걱정입니다. ^^; 현재는 산만하게 흩어져 있는 "옵션"을 하나의 메뉴로 모으는 작업을 진행하고 있습니다. 이 작업이 완료되면 다른 중요한 구현 사항들을 하나씩 구현할 수 있으리라 생각됩니다.

아마도 차기 버전에서는 이전 버전 mmk 파일을 좀 더 확장한 파일 포맷을 사용할 것 같습니다. 물론 하위 호환성은 지원되며, 예전 파일들은 자동으로 새로운 형식의 mmk 파일로 컨버팅 하도록 할 예정입니다.

개발 완료 시기는 언제가 될거라고 딱 잘라 말하기는 힘듭니다만, 과거의 경험상 버그 없는 안정 버전이 나오게 되었을 시점에 공개할 예정입니다.

현재 PDA가 망가지는 바람에 테스트 머신이 PPC2003 기종밖에는 없습니다. WM5.0에서도 크게 문제없이 돌아가리라고는 생각합니다만, 아마 블랙잭 등의 smartphone에서는 제대로 동작하지 않을 것 같군요. 이런 호환성 부분은 기본적인 사항이 모두 구현된 다음에 들어가도록 하겠습니다.

감사합니다. 모두들 즐거운 2008년 되시기 바랍니다. ^^
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by Sunghwan

2008/02/14 02:14 2008/02/14 02:14
, ,
Response
No Trackback , 27 Comments
RSS :
http://sunghwanyoo.com/tc/rss/response/50


블로그 이미지

E-mail : shyoo at sunghwanyoo dot com

- Sunghwan

Notices

Archives

Authors

  1. Sunghwan

Calendar

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Site Stats

Total hits:
221057
Today:
85
Yesterday:
95