다음 이전 차례

3. 우잉? 소스? Oh, NO! 일단 컴파일부터!

리눅스의 강점은 뭐니뭐니해도 공개된 소스가 아닐까 합니다. 이 부분은 타의 추종을 불허하죠. 그만큼 리눅스를 다루는 부분에서 컴파일은 장난감처럼 여겨야 합니다. 일단 어떤 복잡한 소스를 하나 예를 들어서 프로그램을 컴파일 해봅시다.

3.1 소스 구하기

보통 SRPM내지 tar.gz로 되어있는 것을 구하게 되실 것입니다. 자아  저도 어떤 파일을 붙잡고 여러분들과 같이 가지고 놀아야겠죠? procps-2.0.2-korea_patch.tgz 이 파일은 ftp://monster.uos.ac.kr/pub/misc/procps-2.0.2-korea_patch.tgz 에 준비시켜 놓았습니다. 우리는 이 파일에서 top부분의 안내문이 한글로 나오게 하는 것이 목적입니다.


** 주의 ! : 이 소스는 알짜 6.0 또는 RedHat 6.0 또는 파워,액셀
            리눅스에서 하는 것을 기본으로 합니다. 만약 RedHat 5.2또는
            알짜 5.2라면, 일단 procps를 (위의 파일) 모두 설치하신
            다음에 ldconfig를 실행시키시고 난 뒤에 시작하셔야
            됩니다. 왜냐구요? 그냥하면 libProc.ld를 찾느라고 난리를
            치기 때문입니다.

일단 이 파일을 적당한 곳에 두고 압축을 풉시다.

tar zxvf procps-2.0.2-korea_patch.tgz

자, 다 풀리셨습니까? 이제 procps-2.0.2 디레토리로 들어갑시다. 들어가면 top.c 가보이시죠? 요것이 우리들의 목표입니다. 그러나... 이렇게 찾아 들어가면 안돼요!! 제일 먼저 보아야할 파일이 있습니다.

README
INSTALL

어떤 소스든지, 요 둘중에 한가지는 꼭 들어있습니다. 요기에 설치법이 다 나와 있습니다. 물론 영어이겠죠...(^^;) 여하튼 이 파일을 먼저 보시고 이제 top.c를 봅시다. 일단 저는 'CPU states'를 'CPU 상태'로 바꾸겠습니다. 1274번째 줄입니다.


         /* END EXPERIMENTAL CODE */
         printf("CPU 상태:"
             " %2ld.%ld%% user, %2ld.%ld%% system,"
             " %2ld.%ld%% nice, %2ld.%ld%% idle",

자, "CPU 상태" 라고 바꾸셨죠? 이제 저장을 하시고 컴파일을 합시다. 컴파일 할때는 make를 적절하게 사용합시다.

make top

이렇게 하면 top 프로그램부분만 컴파일하게 됩니다. 자, 이제 top이라고 실행가능한 파일이 생성되었죠? 여기서 top을 실행시켜 봅시다.


  3:22am  up 17 days, 20:35,  2 users,  load average: 0.00, 0.00, 0.00
59 processes: 58 sleeping, 1 running, 0 zombie, 0 stopped
CPU 상태:  0.0% user,  0.0% system,  0.0% nice,  2.4% idle

어때요? 한글로 나오죠? 이렇게 조금씩 바꾸어 나가면 자신도 모르는 사이에 한글 패키지를 만드는 패키저가 될 수 있습니다. 이제 다른 부분도 모두 바꿔볼까요?


  4:33am  up 17 days, 21:46,  2 users,  load average: 0.07, 0.04, 0.00
51 작업개수: 50 잠팅이개수, 1 뜀박질개수, 0 좀비(귀신), 0 멈춘갯수
CPU 상태:  0.0% user,  0.7% system,  0.0% nice, 99.2% idle
Mem:   95592K av,  90880K used,   4712K free,  91880K shrd,  18700K buff
Swap:  96384K av,   1412K used,  94972K free                 46492K cached
Memory 정보 보여줄까 말까? off

저의 짧은 영어실력으로 바꾼 안내문들입니다. 만약 영어번역에 조예가 깊으신 분들은 이와같은 재미있는 일에 동참해 주시기 바랍니다. 제가 바꾼 top은 RPM으로 만들어서 ftp://monster.uos.ac.kr/pub/misc/ 안에 넣어두겠습니다.

procps-2.0.2-linux4reduck96.src.rpm                    소스 패키지
-----------------------------------------------
procps-2.0.2-linux4reduck96_Alzza52.i386.rpm
procps-X11-2.0.2-linux4reduck96_Alzza52.i386.rpm
-----------------------------------------------알짜 5.2용

이렇게 파일을 두겠습니다. 만약 알짜 6.0을 사용하실 경우, rpm --rebuild procps-2.0.2-linux4reduck96.src.rpm 라고 하시면 /usr/src/redhat/RPMS/i386 에 밑의 두 파일이 생성됩니다. 그것으로 rpm -Uhv proc*.rpm 하시면 됩니다. 많이많이 수정해서 자료실에 올려주세요 ^^;


다음 이전 차례