<!doctype linuxdoc system> <article> <title>리눅스로 가는 험난한 길 <author>이만용(<htmlurl url="mailto:yong@korealinux.co.kr" name="yong@korealinux.co.kr">) <abstract> 이 글은 월간잡지 프로그램세계에 연재되었던 내용을 저자의 허락을 받아 재배포하는 것임을 알려 드립니다. 이 글을 SGML형식으로 변환해주실 분은 아래 홈페이지를 방문해 주십시오. 리눅스 한글문서 프로젝트(<url url="http://kldp.org">) 관리자 권순선. (다소 오래된 글이라서 현재 상황과 맞지 않는 부분도 있습니다.) </abstract> <toc> <sect>소개<p> 리눅스 설치의 험난한 과정을 통과하고 멋지게 루트로 로그인하는 기쁨은 다른 운영체계 사용자들은 느끼기 힘든 그런 짜릿한 경험이다. 뜬눈으로 밤을 지새며 X 윈도를 띄우려고 그 동안 어디에다 처박아 놓은 지도 모르는 모니터 매뉴얼과 비디오 카드 매뉴얼을 찾느라 온 집안을 다 발칵 뒤집었을 것이다. 그리고 약간은 생소하기 짝이 없는 수직 동기 주파수, 수평 동기 주파수, 비디오 칩세트의 정확한 모델 번호 등 리눅스를 설치하고 나면 자신도 모르게 하드웨어에 대하여 좀 많이 알게 된 것 같아서 뿌듯함을 느끼곤 한다. 리눅스는 설치 자체가 사람을 곤역스럽게 만든다고 들 한다. 필자의 생각으로는 설치가 잘 되지 않기 때문이 아니라 리눅스를 인스톨할 때 물어오는 것이 많기 때문이라고 생각한다. 그 동안 아무것도 물어오지 않고 컴퓨터 운영체계가 가질 수 있는 극소량의 기능만을 가지고 있는 MS-DOS를 설치해보던 경험 그리고 사용자에게는 거의 대답할 기회를 주지 않고 알아서 설치해준다는 명목으로 무조건 설치하는 윈도3.1 또는 윈도95의 방식과는 판이하게 다르기 때문이기도 하다. 계속 이것저것 물어오는 것이 귀찮다면 사실 리눅스를 써야 할 마땅한 이유가 없다. 리눅스는 엄밀히 말해서 결국에는 '해커의 운영체계'라는 기본 성격을 가지고 있기 때문이다. 충분히 저변이 확대되고 전세계적으로 무시할 수 없는 막강한 운영체계로 부상하면서 많은 사람들이 달 려들지만 그리고 레드햇(Red Hat), 칼데라 네트워크처럼 상용 리눅스 배포판에서는 설치 즉시 하나의 완벽한 유닉스 호환 운영체계가 되고 사용자의 편의도 최대한 고려했다고는 해도 리눅스의 오늘이 있게끔 해준 것은 역시나 해커들의 진취적인 자세와 열정 때문이고 해커의 스타일에 맞는 운영체계라는 사실이다. 해커(Hacker)의 스타일이란 무엇인가? 우선 해커라는 호칭에 대하여 먼저 장황하게 말을 해야겠다. 해커란 리눅서들이 자랑스럽게 여기는 이름이다. 모두들 자기가 해커의 경지에 오르고 싶어서 오늘도 밤을 지새고 있다. 오늘도 밤을 지새면서 어디 침투해서 일을 벌이는 것이라는 오해는 하지 말기 바란다. 종종 해킹을 하고 싶어요! 라고 하면서 리눅스 동호회에 가입신청을 하는 사람들을 보면 한심하기 짝이 없다. 해커라고 하는 말은 컴퓨터 초창기 시절 컴퓨터에 정말로 열정적으로 빠져 있고 능력 있는 프로그래머를 뜻하는 말이었다. 많은 리눅서들이 존경해 마지않는 FSF의 회장 리차드 스톨맨(Richard M. Stallman)이라는 분을 ‘최후의 해커’라고 부르기도 한다. 이 때 리눅서들이 사용하는 해커는 컴퓨터와 프로그래밍에 뛰어난 열정을 가진 사람을 말한다. 말하자면 리눅스 커널을 개발한 리누스(Linus) 또한 정말 실력 있는 해커라고 하지 않을 수 없다. 해커들이란 컴퓨터의 모든 능력을 끝까지 활용할 수 있기를 바라는 사람들이다. 리누스와 같은 사람이 크래킹(Cracking)에 헛되게 노력을 쏟지 않고 생산적이고 창조적인 일에 관심을 가졌기 때문에 그리고 많은 해커들이 그 생산적인 일에 동참하였기때문에 리눅스가 나온 것이다. 절대로 개인적이고 비밀스러운 컴퓨터 망치기에 관심을 가지거나 상용 프로그램 고치기에 관심을 갖는 사람들은 아무리 많아 봤자 리눅스 같은 운영체계를 만들 수 없다. 해커의 스타일은 이렇다. 그들은 컴퓨터가 처음 작동되는 순간부터 끝나는 순간까지 그 운영의 메커니즘을 모두 이해하고 싶어한다. 도대체 내가 시키지 않은 일을 운영체계가 대충 알아서 해주는 것을 참지 못한다. '왜 이렇게 되는 것일까?' 리눅스가 부팅하는 화면과 윈도95가 부팅하는 화면을 일반인들에게 보여준다고 생각해보겠다. 거의 대부분의 사람들은 윈도95의 하늘색 바탕 화면에 MS 로고가 휘날리는 모습에 매료될 것이다. 원래 지금 세상은 겉포장도 중요한 시대니까... 하지만 리눅서들은 Loading... 하면서 컴퓨터의 하드웨어를 주르륵 체크하고 커널의 내장된 기능을 텍스트 화면으로 줄기차게 보여주는 모습에서 어떤 희열을 느낀다. 특히 펜티엄급의 컴퓨터에서는 100미터 선수가 순간적으로 튀어 나가는듯한 탄력을 느끼게 된다. 그리고 시스템 운영에 필요한 여러 가지 데몬들을 로딩하는 모습을 동적으로 보여준다. 다음 화면을 보자. <tscreen><verb> Console: 16 point font, 400 scans Console: colour VGA+ 80x25, 1 virtual console (max 63) pcibios_init : BIOS32 Service Directory structure at 0x000fb660 pcibios_init : BIOS32 Service Directory entry at 0xfbb40 pcibios_init : PCI BIOS revision 2.10 entry at 0xfbb70 Probing PCI hardware. Calibrating delay loop.. ok - 47.82 BogoMIPS Memory: 30924k/32768k available (712k kernel code, 384k reserved, 748k data) Swansea University Computer Society NET3.035 for Linux 2.0 NET3: Unix domain sockets 0.12 for Linux NET3.035. Swansea University Computer Society TCP/IP for NET3.034 IP Protocols: IGMP, ICMP, UDP, TCP Checking 386/387 coupling... Ok, fpu using exception 16 error reporting. Checking 'hlt' instruction... Ok. Linux version 2.0.22 (root@freeyong) (gcc version 2.7.2) #1 Thu Oct 10 05:04:05 KST 1996 Serial driver version 4.13 with no serial options enabled tty00 at 0x03f8 (irq = 4) is a 16550A tty01 at 0x02f8 (irq = 3) is a 16550A tty03 at 0x02e8 (irq = 3) is a 16550A </verb></tscreen> 커널이 메모리에 적재되면서 필요한 모든 사항을 점검하고 있다. 리눅스 커널은 더 이상 바이오스에 의존하지 않고 자기 스스로 모든 것을 독점적으로 관리하는 신(God)이 된다. 모든 하드웨어와 자기 자신의 내부 기능을 여러분들에게 보여주고 있다. Ok. 라는 신호가 나올 때는 정말 후련하다. 순식간에 지나가기 때문에 제대로 볼 수 없을 것이다. 그럴 때는 dmesg 명령을 사용하여 해보도록 한다. <tscreen><verb> Real Time Clock Driver v1.07 Sound initialization started <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5 <Yamaha OPL3 FM> at 0x388 Sound initialization complete ide: i82371 PIIX (Triton) on PCI bus 0 function 57 ide0: BM-DMA at 0xe800-0xe807 ide1: BM-DMA at 0xe808-0xe80f hda: QUANTUM MAVERICK 540A, 516MB w/98kB Cache, LBA, CHS=1049/16/63 hdb: QUANTUM SIROCCO2550A, 2445MB w/75kB Cache, LBA, CHS=621/128/63, DMA hdc: IBM-DJAA-31700, 1628MB w/96kB Cache, LBA, CHS=827/64/63 hdd: TOSHIBA CD-ROM XM-5302TA, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 Floppy drive(s): fd0 is 1.44M Started kswapd v 1.4.2.2 FDC 0 is a post-1991 82077 scsi : 0 hosts. scsi : detected total. Partition check: hda: hda1 hdb: hdb1 hdb2 hdb3 < hdb5 hdb6 hdb7 hdb8 hdb9 > hdc: hdc1 hdc2 </verb></tscreen> 그냥 지나쳐왔는지 모르겠지만 여러분 모두 이 부팅 메시지를 곰곰이 바라보고 있으면 컴퓨터와 리눅스가 어떻게 반응하고 작동하는지를 약간은 이해할 수 있을 것이다. 해커들은 마치 라디오가 어떻게 작동하는지 정말 신기해서 뜯어보지 않고는 성미가 안 풀리는 어린아이와 같다고 할 수 있다. 기어이 그 안에 작은 사람이 들어있는지 아닌지를 알고 싶어하는 욕구를 채워야 할 것이다. 운영체계의 내부를 들여다보고 싶은 사람에게는 최상의 선택이라고 하지 않을 수 없다. 해커들은 윈도95처럼 도대체 어디에다 프로그램을 설치하는지, 뭘 설치하는지 알려주지 않고 자기 맘대로 하는 것을 상당히 싫어한다. 그들은 자기 컴퓨터에 대해서 완전히 신으로 군림하고 싶어하며 모든것을 관여하고자 한다. 어느 것이 어느 것에 의존하는지 무엇이 없으면 안되는지를 알지 못하면 잠을 이루지 못한다. 마지막으로 해커들은 항상 컴퓨터와 대화하고자 한다. 컴퓨터에게 이것 저것 다른 것을 알려주고 다르게 행동해보도록 한다. 그러면서 자신의 컴퓨터가 최적의 성능을 내도록 끝까지 추적한다. 마치 카레이서가 자신의 차를 애지중지하면서 최상의 컨디션으로 경주에 임하는 자세와도 같다고 할까? 보통 해커들은 자신의 컴퓨터에 이름을 붙이게 된다. 여러분이 네트워크 세팅을 하면서 여러분이 랜 환경에 있든 아니든 간에 이름을 지어 달라고 요청할 것이다. 보통 다음과 같은 프롬프트가 뜰 것이다. <tscreen><verb> Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Linux 2.0.22 (freeyong.korea.org) (ttyp0) freeyong login: root Password: Last login: Sun Oct 13 22:27:52 on tty1 Linux 2.0.22. You have new mail. freeyong:~# </verb></tscreen> 이름을 어떻게 지어주든 그것은 여러분 마음이다. 하지만 혹시라도 여러분에게 할당한 호스트명이 실제로 존재한다면 그것은 좀 다른 얘기가 될 것이다. <sect> 해커의 운영체계<p> 많은 초보 리눅서들에게 겁부터 주려는 것은 아니다. 하지만 리눅스가 도대체 어떤 운영체계인지 대해서는 알고 오해하는 일이 없도록 해야 한다. 보통 다음과 같은 질문을 받으면 도대체 뭐라고 답해야 할 지 모르겠다. '윈도95보다 버추어파이터가 잘되나요? 리눅스에서?' '리눅스 네트워크가 뛰어나다면서요? 그럼 인터네트 익스플로러도 잘 돌아가요?' 각 운영체계는 자신의 쓰임새가 있다고 생각한다. 여러분이 리눅스를 택한 이상 그것이 이미 사용해왔던 다른 운영체계들과 같기를 바라는 것은 좀 우스운 일이 아닐까? 리눅스는 지금까지 여러분이 구경하지 못한 새로운 디자인의 운영체계임을 알아주기 바란다. 위와 같은 오해가 생길 때 리눅스는 거의 쓸모가 없어진다. 보통 해커들은 다음과 같이 사는 경향이 있다. <itemize> <item> 밤낮이 바뀌어서 생활하는 경우가 많다. 거의 올빼미들이다. 우리나라나 외국이나 어디를 막론하고 취미들은 모두 Night Hacking이란다. <item> 상당히 어려워 보이는 희한한 명령어들을 구사하며 그것을 즐긴다. <item> 구속을 싫어하며 정부의 통신, 인터네트 통제 같은 것은 극도로 혐오한다. <item> 하드웨어든 소프트웨어든 완제품을 싫어한다. 자기가 컴파일해서 만들지 않으면 마음에 차질 않는다. <item> 하루 종일 집에 혼자 있어도 리눅스만 갖다주면 심심해 하지 않는다. <item> 항상 배우려고 노력한다. <item> 노력하지 않는 사람은 도와주지 않는다. <item> 자신이 리눅서임을 언제나 마음 뿌듯해 한다. </itemize> 리눅스가 상업적 성공을 이루어 나가고 있고 계속 지금처럼 나아간다 고 할 지라도 리눅스 본연의 ‘해커의 천국’이라는 측면은 언제나 가장 중요한 측면으로 남아있을 것이다. <sect> 프로그래머를 위한 운영체계<p> 리눅스에 응용 프로그램이 적은 것은 아니다. 그리고 핵심적인 응용 프로그램들은 이미 모두 나와 있으며 그리고 지금 현재에도 끊임없이 쏟아져 나오고 있는중이다. 선뜻 초보자들이 리눅스를 설치하고 나서 활용하기 어려워하는 것은 윈도95와 같은 운영체계용으로 쏟아져 나오는 장난감 같은 프로그램들이 없기 때문이다. 실제로 컴퓨터를 어느 분야에 얼마나 효율적으로 사용하고 있는가? 라는 질문에 똑똑히 이렇다라고 답변하기 힘든 경우가 많다. 게다가 홈 PC라는 개념은 이미 컴퓨터를 전문 기계가 아닌 오락 기계 정도로 생각하게끔 만들었으며 사실 유희적인 요소가 이제는 중요한 요소로 자리잡게 되었다는 것은 분명한 사실이다. 이런 부분들이 리눅스의 취약한 점이라고 말하고 있다. 하지만 이것은 가정 자체가 틀렸기 때문에 어떠한 답변도 초보자들을 만족시켜주지는 못한다. 리눅스는 어떤 회사나 단체에서 만들어서 판매하고 라이선스를 걸어놓은 운영체계가 아니다. 사실 리눅스로부터 여러분은 상업적인 수준의 서비스를 기대할 수는 없다. 어떤 운영체계 회사에서 어떤 버그가 있다면 그리고 그것에 의해서 손해를 보았다면 그 회사에게 손해배상을 청구할 수 있을 것이다. 그리고 내 돈 주고 구입한 것이므로 충분한 기술적 지원과 프로그램의 수준 향상을 요구할 수 있다. 반면에 리눅스에서는 그러한 과정이 없다. 사용자 자신이 개발자, 프로그래머인 운영체계이다. 여러분이 인터네트 접속을 할 수 있고 뉴스그룹에 참여할 수 있다면 얼마든지 그들과 민주적인 토론을 벌일 수 있다. 프로그램에 하자가 있다고 생각하면 얼마든지 고쳐서( 하지만 당연히 개발중인 저자에게 연락하는 것이 기본 절차이다 ) 다시 공동체로 환원하다. 이렇게 사용자 자신이 개발자이며 주인인 운영체계가 리눅스이다. 이러한 리눅스는 프로그래머들을 위한 훌륭한 환경을 만들어주고 있다. 아직은 개발을 위한 운영체계라고 하는 것이 좋다고 본다. 실생활에 활용할 만한 기본적인 프로그램들은 이미 다 갖추어놓고 있다. minicom이나 세연을 통해서 통신을 할 수 있고( 나우누리에서 만든 나우로라는 통신 프로그램이 돌아가길 바란다면 실망스럽겠지만 ) 얼마든지 자료를 주고받을 수 있다. 기본 그림 그리기 기능은 xpaint나 gimp같은 것을 사용하면 되고 책을 만들고 싶을 때는 또는 남들과는 비교가 안되게 훌륭한 보고서를 만들고 싶을 때는 TeX을 사용하면 된다. 기본 편집기로는 vi , 이맥스 등을 꼽을 수 있고 그래픽 환경을 원한다면 X 윈도가 있다. 아쉬운 점이라면 자유로운 한글 워드프로세서가 없다는 것을 하나 지적할 수 있는데 이것은 이미 한글과 컴퓨터 사에서 HWP/X 라는 이름으로 유닉스/리눅스용이 이미 10여만원 선에서 판매가 되고 있다. 따라서 도스나 윈도95에서 구입하듯 구입해서 사용하면 된다. 하지만 분명히 할 것은 리눅스 자체는 자유롭게 배포 가능하지만 HWP/X는 그렇지 않다는 것이다. 어떤 사람은 이상하게 생각할 지 모르지만 리눅스에서 돌아간다고 해서 모두 무료여야 하다는 조항은 없다. 인터네트 기능은 많은 사람들을 충분히 만족시켜주는 기능으로서 충분히 지원되는 소프트웨어는 아니지만 네스케이프사에 의해서 현재 3.0까지 리눅스용 모질라가 나와있고 직접 네스케이프사 ftp 사이트를 방문하면 얻을 수 있다. 플러그인 프로그램들이 턱없이 부족하기 해도 리얼오디오사의 경우에는 현재 2.0까지 리눅스용을 만들어서 무료로 배포하고 있고 XING 사에 가보면 StreamWork 와 같은 것을 리눅스용으로 또한 구할 수 있다. 그 나머지는 거의 다 리눅스 배포판에 내장되어 있어서 불편함을 느끼지 못할 것이다. 아쉬운 것이 하나 있다면 인터네트 폰과 같은 것이 아직 없다는 것이라고 할까? 네트워크 서버를 운영하려는 사람에게 있어서 리눅스는 가난한 네트워크 서버 운영자에게 희소식이다. 상용서버와 성능 차이가 없는, 아니 더욱 훌륭한 서버들이 리눅스 네트워크 환경에서 운영되며 도스나 윈도95 의 클라이언트에 대한 서버 역할을 충분히 해내기 때문이다. 이런 면에서 있어서는 정말 강한 모습을 보여준다. 관리자가 리눅스 또는 유닉스에 대한 기본 지식만 가지고 있다면 레드햇이나 칼데라와 같은 상용 리눅스 배포판을 구입해서 사용하면 몇 가지 세팅만으로 네트워크 서비스 에 투입될 수 있다. 만약 완벽한 DB 시스템을 원한다면 포스트그래스95와 같이 개념 좋고 충분한 성능을 가진 데이터 베이스 서버와 함께 웹을 구축하면 될 것이다( 현재 제작팀의 일원인 엠브리오 유형목씨가 몇 회의 연재를 하고 있다). 여러분이 리눅스로부터 혜택을 받은 것이 많겠지만 리눅스는 항상 여러분에게 바란다. 프로그래머가 아니라면 최소한 성의 있는 버그 리포트라도 해주는 것을 바란다. 여러분이 프로그래머라면 동참해주길 언제나 바라고 있다. <sect1>개발 툴이 부족하다?<p> 만약 비주얼 툴을 찾는다면 그렇다. 하지만 없는 것은 아니다. 단지 비주얼 툴은 현재 외국에 주문 신청을 해야만 구할 수 있다. 현재 우리나라에서 불법적인 상호 복사로 여러 비주얼 툴들을 가지고 있는 것 아닌가? 하지만 비주얼 툴이 없어서 제대로 프로그래밍을 못할 것이라는 섣부른 추측은 금물이다. 그렇게 말한다면 항의하는 리눅서들이 얼마든지 있다. 도스나 윈도95에서는 쓸데없이 자기 스스로 구현해야 할 것이 많지만 리눅스에는 GNU 소프트웨어들과 다양한 라이브러리들이 있다. 그 라이브러리들은 아주 방대하고 여러분이 찾기만 원한다면 여러분의 자질구레한 아니 어떻게 보면 핵심적인 업무라고 할 수 있는 기능들을 제공하는 함수들을 쉽게 찾을 수 있다. 보통 선사이트(sunsite.unc.edu)와 같은 곳에 가서 /pub/gnu 디렉토리에 가보면 아주 다양한 GNU 라이브러리들을 만날 수 있다. 각 라이브러리에 대한 문서들은 아직 영문이긴 하지만 텍스트, 하이퍼 텍스트, 포스트스크립트 문서 등으로 쉽게 구할 수 있으며 대부분 200장내지 300장이 넘어가는 아주 자세한 설명이 들어있다. 여러분이 이맥스와 같은 에디터를 사용한다면 얼마든지 관련 정보를 그 즉시 살펴볼 수 있다. 간단하게 C 라이브러리와 같은 것은 터미널에서 man 명령으로 자세한 프로토타입과 설명을 얻을 수 있다. <sect1>POSIX 규격의 운영체계<p> 리눅스는 그 어느 누구보다도 다양한 유닉스들 사이의 약속이라고 할수 있는 POSIX 규격을 제일 먼저 실천에 옮기고 있는 장본인이다. 여러분이 리눅스에서 프로그램을 만들면 혹시나 다른 곳에서 안 돌아가지 않을까 하고 고민할 수도 있을 것이다. 여러분이 POSIX 규격만 따라주면 얼마든지 다른 유닉스 시스템에서 수정 없이 컴파일되어 돌아간다. 특히 여러분의 X 윈도 프로그램은 표준적이므로 집에서도 얼마든지 워크스테이션용을 개발하기 편하다. 그리고 깔끔하면서 개발기간이 적게 걸리는 인터페이스를 원한다면, 수많은 위젯세트들이 나와 있으므로 그 것을 구해보면 된다. 반은 상용이면서도 라이브러리와 매뉴얼이 500 페이지로 완벽히 제공되는 xforms 라이브러리, 최근 급속도로 성장하는 Qt 위젯세트, 그리고 아쉬운 대로 모티프(Motif)와 같은 인터페이스를 만들어 줄 수 있는 Xaw3d, 그리고 여러분이 집에서 모티프 프로그래밍을 원할 때는 모티프 2.0은 안되더라도 모티프 1.2 호환의 공개 라이브 러리 lesstif를 구해서 컴파일해 놓으면 비싼 모티프 라이브러리를 당장에 구입하지 않더라도 충분히 혼자서 집에 있는 PC로 공부를 할 수 있다. <sect> 결론 : 구하라! 얻을 것이다. 없으면 만들어보자.<p> <sect1>뉴스그룹 애용하기<p> 리눅서들은 곧 네티즌들이다. 인터네트로 온 세상을 휘젓고 돌아다니지 않는다면 아직 리눅서가 아니라고 해야 할까? 그리고 여러분 혼자 해결하려고 하지 말고 통신 동호회 같은 곳에서 활동을 하면 더욱 도움이 될 것이다. 여러분이 모르는 내용을 고참 리눅서들에게서 배울 수도 있고 또는 여러분이 다른 리눅서들에게 도움이 될 수도 있다. 그리고 리눅서들이란 리눅스 자체의 특성으로 인해 서로 공동체를 이루고 무엇인가를 해내는 데에서 가장 큰 즐거움을 얻을 수 있다. 여러분?도움을 받을 수 있는 곳은 일단 통신 동호회로서 나우누리와 하이텔에 커다란 리눅스 동호회가 있다. 그리고 다음과 같은 뉴스그룹을 꼭 자주 살펴보기 바란다. <tscreen><verb> han.sys.linux comp.os.linux.* </verb></tscreen> 우선 전자는 우리나라의 리눅스 뉴스그룹으로서 많은 리눅스의 실력자분들이 살고 있는 곳이다. 여러분이 말만 잘하면 그들에게서 좋은 정보를 얻을 수 있을 것이다. 둘째로 영어로 된 국제적인 그룹으로서 comp.os.linux로 시작하는 모든 그룹은 아주 중요하다. tin과 같은 뉴스 읽기 프로그램을 사용한다면 검색 명령키인 슬래시 문자(/)를 친 다음 linux라고 하면 된다. 계속적인 검색은 슬래시 문자만을 쳐주면 그만이다. 이는 vi 에디터와 같은 방식이다. 특히 새로운 정보의 발표는 announce라는 문자열이 들어있는 곳에서 이루어진다. 아무 곳에나 질문을 올리면 욕을 먹을 테니 꼭 각 그룹의 특성을 이해하기 바란다. 더군다나 FAQ나 HOWTO 문서라고 불리는 것을 읽지 않고 질문을 하면 몇몇 외국 리눅서들은 당장에 여러분에게 답변 기사를 올릴 것이다. 내용은... RTFM! 뜻은 아마도 Read The Fucking Mannual에 해당하거나 Read The Fine Mannal일 것이다. <tscreen><verb> <그림 1. 리눅스관련 뉴스그룹> </verb></tscreen> 처음에는 읽기만 한다고 하더라도 리눅스 고수들의 얘기를 경청하는 것도 실전적인 경험이 되므로 여러분에게 유익할 것이다. 새로운 프로그램들에 대한 발표가 이루어지는 곳이 바로 comp.os.linux.announce와 같은 뉴스그룹이므로 자주 들러서 최신 정보를 입수하는 것도 좋다. X 윈도 시스템에서라면 한텀에서 텍스트 브라우저인 Lynx나 모질라 같은 것을 띄워 놓고 프로그램을 구할 수 있는 주소를 발견하면 왼쪽 마우스 버튼으로 누른 채 주소를 긁어다 가운데 버튼으로 모질라의 Open창 입력하는 곳에다가 뿌리고 곧바로 여행을 떠나보자. 상당히 재미있는 경험이 될 것이다. <tscreen><verb> <그림 2. X윈도에서 뉴스그룹 찾아가기> </verb></tscreen> <sect1>리눅스 FTP 사이트 애용하기<p> 리눅스 배포에 있어서 핵심적인 역할을 하는 3 대 중요 ftp 사이트가 있다. <itemize> <item><url url="ftp://sunsite.unc.edu/pub/Linux"> <item><url url="ftp://tsx-11.mit.eud/pub/linux"> <item><url url="ftp://ftp.funet.fi/pub/OS/Linux"> </itemize> 그 사이트들은 커널을 포함하여 거의 모든 리눅스용 프로그램을 가지고 있는 곳이다. 마음이 급하다면 Incoming 디렉토리들을 살펴보라. 보통 설명은 .lsm이라는 텍스트 파일에 들어있으니 자세히 설명을 읽어보고 자료를 받도록 하라. 그래도 여러분이 원하는 자료가 없으면 답은 하나 밖에 없다. 기다리던 가 아니면 여러분이 나서서 만들던가 하면된다. 많은 리눅서들이 여러분이 개발에 동참해주길 기다리고 있다. 개인적인 경험으로도 아직 없는 프로그램을 만들어서 선사이트에 등록시키고 LSM( Linux Software Map )에 들어간다는 것은 정말로 멋진 경험이라고 하지 않을 수 없다. 여러분의 이름과 명예를 위해서도 한 번 도전해보지 않겠는가? <sect> 추천 프로그램<p> <sect1> 멋진 Tcl/Tk 파일 관리자, tkdesk<p> <tscreen><verb> <그림 3. tkdesk 화면> </verb></tscreen> tkdesk는 알짜웨어 TCL 시리즈에 들어있는 티클/티케이라는 스크립트 언어로 짜여진 프로그램이다. 많은 사람들이 리눅스를 처음 접하면서 윈도3.1의 파일관리자나 윈도95의 익스플로러 같은 것이 없이 그냥 cp, mv, rm 등의 명령을 일일이 실행시켜 해결해야 한다는 사실을 부담스러워 하는 것을 보아왔다. 바로 이 프로그램이 그러한 문제를 깔끔히 해소시켜 주리라고 본다. 정말로 기본적인 모든 기능을 갖추고 있으면서도 스크립트언어로 말끔한 X 윈도 인터페이스, 드래그 & 드롭을 지원하는 재미있는 프로그램으로 필자도 많이 사용하고 있다. 예를 들어 그림 파일에서 더블 클릭을 하면 자동으로 연결된 프로그램이 작동되어 그림을 보여준다든지, 슬랙웨어 패키지의 경우에는 자동으로 설치해주거나 그 파일 내용을 보여주는 등 마우스만으로도 편리하게 리눅스를 사용할 수 있게 함으로써 초보자들의 부담을 덜어주는 프로그램이다. 화면 왼쪽에는 버튼바가 있고 여러 개의 창을 열 수 있다( TkDesk 메뉴에서 New Browser를 선택하고 디렉토리를 적어 준다. 옆에는 자주 갔던 디렉토리명이 히스토리 기능으로 제공된다 )두 창 사이에서 드래그 & 드롭이 되며( 마우스 가운데 버튼 이용 ), 맨 오른쪽 버튼을 파일에 대고 누르면 그 파일에 대한 명령이 나온다. File 메뉴에는 여러분이 기대할 수 있는 모든 파일 관련 명령들이 들어 있다. tkdesk에서 파일을 지우면 실제로는 지워지지 않고 안전한 다른 장소로 들어가게 되는데 화면 왼쪽 하단에 보이는 것이 바로 휴지통이다. 정기적으로 휴지통을 비워주면 된다. 또는 실수로 지운 것을 복구하고자 할 때 휴지통을 뒤져본다. 일반적으로 유닉스 계열, 윈도NT 등에서는 고성능 파일 시스템과 완벽한 멀티 태스킹 문제로 인하여 한 번 지운 파일에 대해서는 살릴 수가 없다. <sect1>마우스만으로 ftp 를<p> <tscreen><verb> <그림 4. xftp 화면> </verb></tscreen> 보통 리눅스에서는 FTP를 하기 위해서는 ftp 또는 ncftp를 사용한다. 하지만 알짜웨어에 들어있는 xftp를 이용하면 자동으로 anonymous 접속도 해주고 디렉토리 이동, 파일 전송 등을 모두 마우스 클릭 또는 드래그 & 드롭으로 해결할 수 있도록 하고 있다. 왼쪽에 보통 여러분의 리눅스 컴퓨터 오른쪽은 원격 호스트를 지정해서 마우스로 선택하고 끌어다 놓기를 하면 전송 상황을 슬라이드 바로 보여준다. 실행 파일명은 xftp 이다. <sect> 리눅스계의 새로운 뉴스<p> <sect1>리눅스 커널 2.1.X 대로 또 다시 진입<p> 10월에도 리누스는 쉬지 않고 리눅스 커널의 개발에 박차를 가하고 있다고 한다. 모든 신종 배포판들이 기초로 하고 있는 커널 2.0.0은 이미 패치 레벨 22까지 이르러 현재로서는 커널 2.0.22까지 나와 있는 상태이다. 그는 잠시도 쉬지 않고 또 다시 개발 버전 커널 2.1.X 로 진입하였다. 커널 2.1대에서는 더 이상 x86 코드를 사용하지 않고 좀 더 나은 효율적인 커널을 만들고자 한다고 한다. 그리고 그 기간 동안 엄청나게 많은 기능들이 결합해 들어갈 것으로 보인다. 사용해본 결과 2.0.X대의 커널보다도 전체적인 속도 향상이 다시 이루어졌다. 도대체 어느 정도까지 빨라질 것인지 가늠할 수 없는 무서운 개발 속도이다. 개발 버전이라 함은 안정버전과 달리 급격한 개발 진행 상태의 커널이므로 일반 사용자들은 오직 자기 책임에서만 사용해야 하며 커널 버그 리포트만 허용되며 쓸 데 없이 뭐가 안된다는 식의 질문은 받지 않는 버전이다. 현재의 모든 배포판에서는 커널 2.1.X에서 모듈로 컴파일할 때 모듈을 로딩하지 못한다는 문제점이 발견되고 있는데 이는 커널의 버그가 아니라 insmod라고 하는 모듈 로딩 유틸리티를 패치해야만 해결할 수 있는 문제이다. 주의하기 바란다. 일반 사용자들은 개발 버전의 패치레벨이 상당히 많이 올라간 이후부터 사용하는 것이 좋다. 참고로 리눅스는 현재 인텔만이 아니라 알파, 스팍 머신에서도 돌아가는 다중 플랫폼 운영체계이다. 레드햇 4.0 Colgate 출시 성공적인 상업용 리눅스 배포판 제작 기업인 레드햇(Red Hat)은 근래에 그들의 지난 레드햇 3.0.3 피카소 버전의 다음 배포판인 레드햇 4.0 콜게이트 버전을 내놓았다. 이 배포판은 인텔용, 알파용, 스팍용으로 구분되어 발매된다. 현재 인텔 머신을 제외한 다른 플랫폼에서 돌아가도록 구성되어 있는 배포판은 레드햇과 다른 몇 개의 상용 배포판에서만 가능하다. 슬랙웨어와 데비안은 아직 인텔 머신에만 국한된다. ftp사이트에서도 구할 수 있는데 <url url="ftp://ftp.redhat.com/pub/redhat/redhat-4.0/"> 사이트가 기본 사이트이며 여러 곳에서 이미 미러링을 해두고 있다. 정품에는 상용 X 서버인 메트로 X 등이 들어가 있다. MGA 밀레니엄등의 현재 XFree86에서 지원되지 않는 일부 카드들이 지원된다. 이번 레드햇 4.0의 설치는 상당히 간편한데 슬랙웨어의 경우 2장의 디스켓, 데비안의 경우 특수한 방식으로 인하여 5장 이상의 디스켓이 드는 반면 레드햇 4.0에서는 같이 동봉되어 오는 단 한 장의 디스켓으로 가능하다. 그리고 슬랙웨어 정품과 마찬가지로 디스켓을 만들지 않고 도스에서는 시디에서 부팅이 가능하도록 되어 있다. 데비안과 함께 아주 쉬운 업그레이드 패키징 RPM 을사용하고 있기 때문에 기존의 레드햇 3.0.3 피카소 버전을 가지고 있는 사람은 바뀐 부분만 설치해주면 된다. 필자가 항공 특송으로 레드햇 4.0을 주문하여 설치해본 결과 전체적으로 제일 편한 설치 방식을 가지고 있다고 생각된다. 특히 X 윈도에서 glint라는 프로그램을 가지고 자유롭게 설치/삭제가 가능한 것이 인상적이고 윈도 제품과 같은 제어판( Control Panel )을 제공하는 것이 편리하다. <sect1>FSF( Free Software Foundation )란 무엇인가?<p> FSF라고 하는 단체는 컴퓨터 프로그램에 대한 복사, 배포, 이해, 수정에 대한 모든 제한을 철폐하기 위해서 혼신의 노력을 다하는 단체이다. 그들은 컴퓨터의 모든 영역에 있어서 자유(free) 소프트웨어를 개발하고 사용 가능케 함으로써 이러한 목적을 달성하고자 한다. 특히 그들은 GNU ( GNU's Not Unix )라는 이름으로 유닉스를 호환하며 더욱 더 뛰어난 완전한 통합 운영체제를 개발중에 있다. FSF는 이미 운영체제의 중요 구성 부분들을 전세계에 공개해놓고 있다. 그 중에 유명한 것들이 바로 세상에서 가장 뛰어난 C 컴파일러인 gcc ( 이는 이미 일부 쟁쟁한 소프트웨어 회사들이 기금까지 마련해서 후원하고 있다 ), 이맥스(Emacs)와 같은 것들이 있다. 자유(free)라는 단어가 의미하는 바는 돈 문제라기보다는 자유(freedom)를 의미한다. GNU 소프트웨어는 돈을 주고 사도 되고 공짜로 구해도 된다. 어떻게 든 여러분이 GNU 소프트웨어를 가지고 있다면 얼마든지 다른 사람에게 자유롭게 줄 수 있고, 원한다면 소스를 받아서 고쳐서 사용할 수도 있고, 여러분에 의해서 향상된 프로그램을 공동체에 환원할 수 있는 자유가 주어진다. 다른 단체에서도 자유 소프트웨어라는 것을 배포하는 경우가 있지만 FSF는 현재의 모든 상용 운영체제들을 대체할 수 있는 완벽한 GNU 시스템을 만드는데 노력을 집중하고 있다. FSF 회장은 이맥스 에디터의 개발자인 리차드 스톨맨씨이다. <sect> 중요한 인물 소개<p> <sect1>리누스 토르발즈(Linus Torvalds)<p> <tscreen><verb> <그림 5. 리누스 토르발즈> </verb></tscreen> 리눅스 운영체계의 커널을 만든 리누스는 현재 핀란드 헬싱키 대학에서 대학원을 다니고 있다. 이번에 학위를 따면 학교에 남을 것으로 보인다. 지칠 줄 모르는 정열을 가지고 커널 개발을 쉬지 않고 해내고 있다. 매일 전세계로부터 날아오는 메일에 파묻혀 산다고 하는 리누스. 리누스 또한 밤에 커널 개발을 많이 하는지 낮에는 항상 부족한 잠을 해결하는 것 같다. <tscreen><verb> <그림 6. 리누스 토르발즈> </verb></tscreen> <sect1> 리차드 스톨맨(Richard M. Stallman)<p> <tscreen><verb> <그림 7. 리차드 스톨만> </verb></tscreen> 리눅서들이 존경해 마지않는 FSF 회장 리차드 스톨맨씨이다. 세상 최고의 에디터인 이맥스를 만든 사람도 바로 이 사람이다. 아마 이 사람이 없었다면 리눅스와 같은 공개 운영체계는 탄생하지 못했을 것이다. 리눅스 시스템이라고 하는 것이 실제로는 리누스의 커널과 모든 GNU 프로젝트의 소프트웨어들, MIT X 윈도, BSD의 네트워킹 코드로 이루 어진 거대한 인류의 지적 재산 집합체라는 사실을 알아야 한다. 스톨맨씨는 소프트웨어의 사용과 배포에 대한 모든 제한을 없애고 필요한 것은 함께 해야한다는 철학을 가지고 GNU 프로젝트를 시작하였다. 특히 시스템 소프트웨어인 운영체계와 같은 것은 모두에게 자유롭게 주어져야 한다고 생각한다. 그의 유명한 GNU 선언문(Manifesto)을 읽고 리눅스에 매료된 사람이 얼마나 많았던가? 여러분들도 꼭 한 번 읽어보기 바란다. 정확히 말해서 리눅스는 GNU 프로젝트에 의해서 나온 것은 아니다. GNU 프로젝트는 현재 Hurd라는 커널을 사용하는 ‘GNU 운영체계’로 이미 나와서 개발중에 있다. 리차드 스톨맨의 꿈이 실현 되가는 과정이라고 할 수도 있다. 그는 당연히 컴퓨터를 좋아하며 음악과 특히 나비를 좋아한다고 한다. 리눅스 사용자라면 리차드 스톨맨씨와 GNU 프로젝트에 대해서 항상 감사하지 않으면 안될 것이다. </article>